CreateUserWizard не может отправлять электронную почту (через gmail), поскольку SmtpClient.SslStream имеет значение false - PullRequest
2 голосов
/ 15 июля 2009


Мне бы хотелось, чтобы CreateUserWizard управлял для отправки уведомлений по электронной почте созданным пользователям. Так как у меня нет собственного SMTP-сервера, я пытался использовать свою учетную запись gmail для отправки этих уведомлений, но я продолжал получать « Сначала необходимо выполнить команду STARTTLS ». Один сайт предполагает, что это связано с SmtpClient CreateUserWizard с использованием System.Net.Sockets.NetworkStream а не System.Net.Security.SslStream .

Таким образом, единственный способ, которым я знаю, как настроить CreateUserWizard элемент управления для отправки электронной почты (через gmail), - обработать событие SendingMail , где я должен отменить событие (через ). MailMessageEventArgs.Cancel ), а затем вручную создайте и отправьте сообщение электронной почты (таким образом я могу установить для SmtpClient.EnableSsl значение true ).

Есть ли способ получить ссылку на объект SmtpClient CreateUserWizard и установить для EnableSsl значение true , чтобы мне не приходилось вручную отправлять электронную почту уведомления


спасибо

1 Ответ

2 голосов
/ 22 сентября 2009

Боюсь, другого решения нет ... На сайте Microsoft Предложение для добавления EnableSSL непосредственно в конфигурацию smtp ... Пока что это обходной путь:

protected void CreateUserWizard1_OnSendingMail(object sender, MailMessageEventArgs e)
{
SmtpClient smtpClient = new SmtpClient();
smtpClient.EnableSsl = true;
smtpClient.Send(e.Message);
e.Cancel = true;
}
...