由于 SmtpClient.SslStream 设置为 false,CreateUserWizard 无法发送电子邮件(通过 gmail)

发布于 2024-07-27 04:40:58 字数 632 浏览 2 评论 0原文


我希望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,这样我就不必手动发送电子邮件通知?


谢谢

I’d like for CreateUserWizard control to send email notifications to created users.
Since I don’t host my own SMTP server, I tried to use my gmail account to send those notifications, but I kept getting “Must issue STARTTLS command first”. One site suggests this is due to CreateUserWizard’s SmtpClient using System.Net.Sockets.NetworkStream
and not System.Net.Security.SslStream.

Thus only way I know how to configure CreateUserWizard control to send emails (via gmail) is by handling SendingMail event, where I have to cancel the event ( via MailMessageEventArgs.Cancel) and then manually create and send the email ( that way I'm able to set SmtpClient.EnableSsl to true ).

Is there a way to get a reference to CreateUserWizard's SmtpClient object and set its EnableSsl to true so that i don't have to manually send email notifications?

thanx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

§普罗旺斯的薰衣草 2024-08-03 04:40:59

恐怕没有其他解决办法了...
微软网站上有一个 建议,用于将 EnableSSL 直接添加到smtp 配置...
在此之前,解决方法是:

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

I am affraid there is no other solution...
There is a Suggestion on microsoft site for adding EnableSSL direcly to the smtp config...
Until that the workaround is:

protected void CreateUserWizard1_OnSendingMail(object sender, MailMessageEventArgs e)
{
SmtpClient smtpClient = new SmtpClient();
smtpClient.EnableSsl = true;
smtpClient.Send(e.Message);
e.Cancel = true;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文