当前位置:  开发笔记 > 后端 > 正文

如何在Web.config中为SmtpClient启用SSL

如何解决《如何在Web.config中为SmtpClient启用SSL》经验,为你挑选了3个好方法。

有没有办法从web.config设置EnableSSL?

我可以在代码中设置此属性,但这对于简单邮件Web事件和使用默认Smtp服务器的其他类不起作用.有任何想法吗?



1> eKek0..:

对于.NET 3及更早版本:您不能.你必须手工管理它.

有关详细信息,请参阅https://blogs.msdn.microsoft.com/vikas/2008/04/29/bug-asp-net-2-0-passwordrecovery-web-control-cannot-send-emails-to- ssl-enabled-smtp-servers /.

对于.NET 4:你可以.

见http://theoldsewingfactory.com/2011/01/06/enable-ssl-in-web-config-for-smtpclient/


    
        
            
                
            
        
    


从.net 4.0开始,您现在可以在webconfig中设置enableSsl:http://theoldsewingfactory.com/2011/01/06/enable-ssl-in-web-config-for-smtpclient/

2> Miguel Mader..:

我有一个肮脏的解决方法(直到.NET 4.0出来).而不是改变我的代码,它依赖于使用的端口来确定是否需要SSL.

var client = new SmtpClient();
client.EnableSsl = client.Port == 587 || client.Port == 465;
// This could also work
//client.EnableSsl = client.Port != 25;

我说这是一个肮脏的黑客,但它适用于我们遇到的不同配置.



3> 小智..:

这对我来说很有用.net 4

在web.config中的EG

network host="somesmtpserver" userName="do_not_reply@yourserver.com" 
password="whatever" port="25" enableSsl="true"         

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有