我希望 CreateUserWizard 控件向已创建的用户发送电子邮件通知。 由于我没有托管自己的SMTP服务器,因此我尝试使用我的Gmail帐户发送这些通知,但我一直“必须先发出STARTTLS命令”。一个站点建议这是由于CreateUserWizard的SmtpClient使用 System.Net.Sockets.NetworkStream 而不是 System.Net.Security.SslStream 。
因此,只有我知道如何配置 CreateUserWizard 控件来发送电子邮件(通过gmail)才能处理 SendingMail 事件,我必须取消该事件(通过< em> MailMessageEventArgs.Cancel )然后手动创建并发送电子邮件(这样我就可以将 SmtpClient.EnableSsl 设置为 true )。
有没有办法获取对 CreateUserWizard的SmtpClient 对象的引用,并将其 EnableSsl 设置为 true ,这样我就不必手动发送电子邮件通知?
thanx
答案 0 :(得分:2)
恐怕没有其他解决办法...... 在microsoft站点上有一个Suggestion,用于将EnableSSL直接添加到smtp配置中... 在此之前,解决方法是:
protected void CreateUserWizard1_OnSendingMail(object sender, MailMessageEventArgs e)
{
SmtpClient smtpClient = new SmtpClient();
smtpClient.EnableSsl = true;
smtpClient.Send(e.Message);
e.Cancel = true;
}