【问题标题】:CreateUserWizard can't send email (via gmail) due SmtpClient.SslStream being set to false由于 SmtpClient.SslStream 设置为 false,CreateUserWizard 无法发送电子邮件(通过 gmail)
【发布时间】:2009-07-15 01:08:14
【问题描述】:


我希望 CreateUserWizard 控件向创建的用户发送电子邮件通知。 由于我没有托管自己的 SMTP 服务器,因此我尝试使用我的 gmail 帐户发送这些通知,但我不断收到“必须先发出 STARTTLS 命令”。一个网站认为这是由于 CreateUserWizard 的 SmtpClient 使用 System.Net.Sockets.NetworkStream 而不是 System.Net.Security.SslStream

因此,我知道如何配置 CreateUserWizard 控件以发送电子邮件(通过 gmail)的唯一方法是处理 SendingMail 事件,我必须取消该事件(通过 MailMessageEventArgs.Cancel),然后手动创建并发送电子邮件(这样我就可以将 SmtpClient.EnableSsl 设置为 true )。

有没有办法获得对 CreateUserWizard 的 SmtpClient 对象的引用并将其 EnableSsl 设置为 true 这样我就不必手动发送电子邮件通知?


感谢

【问题讨论】:

    标签: asp.net email asp.net-membership smtp


    【解决方案1】:

    恐怕没有其他解决方案... 微软网站上有一个 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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-21
      • 2019-02-04
      • 2013-02-03
      • 2012-01-07
      • 2023-03-19
      相关资源
      最近更新 更多