SmtpClient client = new SmtpClient(us.GetInfo("SMTPServer"),us.GetSMTPPort());
client.Timeout = 10000;
if (us.getAuth())
{
client.EnableSsl = true;
client.Credentials = new NetworkCredential(us.GetInfo("name"), us.GetInfo("password"));
}
client.Send(us.GetInfo("eMail"),letter.textBoxWhere.Text,letter.textBoxTitle.Text,letter.textBoxText.Text);
Smtp client on C#
Писал простенький SMTP client на C++.NET, потом переделывал под С#.
Возникла следующая проблема: при посылке клиентом, написанном на C# генерируется исключение "The remote certificate is invalid according to the validation procedure"
Тоже самое делаю на С++.NET - все нормально посылается.Не могу понять в чем дело
Вот пример кода на C#(на C++ абсолютно идентичный):
Код:
Поищи тут примеры:
Ошибку все-таки нашел, в C# не надо писать enableSSL почему-то.
Навереное я еще плохо понимаю все эти механизмы авторизации, но буду разбираться :)
Цитата: Sergei_
Там я уже смотрел и скачал все что можно было :)
Ошибку все-таки нашел, в C# не надо писать enableSSL почему-то.
Навереное я еще плохо понимаю все эти механизмы авторизации, но буду разбираться :)
Ошибку все-таки нашел, в C# не надо писать enableSSL почему-то.
Навереное я еще плохо понимаю все эти механизмы авторизации, но буду разбираться :)
не думаю, что тут дело в языке. очевидно, все зависит от сервера, с которым ты соединяешся :)
Код:
SmtpClient^ client = gcnew SmtpClient(us->GetInfo("SMTPServer"),us->GetSMTPPort());
client->Timeout = 10000;
if (us->getAuth())
{
client->EnableSsl;
client->Credentials = gcnew NetworkCredential(us->GetInfo("name"), us->GetInfo("password"));
}
client->Send(us->GetInfo("eMail"),letter->textBoxWhere->Text,letter->textBoxTitle->Text,letter->textBoxText->Text);
client->Timeout = 10000;
if (us->getAuth())
{
client->EnableSsl;
client->Credentials = gcnew NetworkCredential(us->GetInfo("name"), us->GetInfo("password"));
}
client->Send(us->GetInfo("eMail"),letter->textBoxWhere->Text,letter->textBoxTitle->Text,letter->textBoxText->Text);
все работает, а на C# надо было убрать строку client->EnableSsl;
Почему? не знаю
Я конечно не силен в синтаксисе С++.NET, однако похоже client->EnableSsl; - это не установка значения свойства, а его get :)
Компилятор С++ такое пропускает, даже warning не выдает
Ошибка как всегда тупая :)
Спасибо