使用MailMessage发送邮件,本地测试正常,上传到服务器运行出错

时间:2020-12-20 20:10:33
        OMail = new MailMessage();
        OMail.From = new MailAddress(em_mail);
        OSC = new SmtpClient(em_smtp);
        OSC.Credentials = new System.Net.NetworkCredential(em_user, em_pwd);
        OMail.Subject = "邮件测试";
        OMail.Body = "邮件测试内容";
        OMail.To.Add(new MailAddress("mbcs@21cn.com"));
        OSC.Send(OMail);

上面这段代码,在我本地测试运行正常。可是上传到服务器(自己的服务器,Windows Server 2008 R2)运行时却报错:


“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

以一种访问权限不允许的方式做了一个访问套接字的尝试。 123.125.50.132:25 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Net.Sockets.SocketException: 以一种访问权限不允许的方式做了一个访问套接字的尝试。 123.125.50.132:25


堆栈跟踪: 

[SocketException (0x271d): 以一种访问权限不允许的方式做了一个访问套接字的尝试。 123.125.50.132:25]

[WebException: 无法连接到远程服务器]

[SmtpException: 发送邮件失败。]

请问服务器应该怎么配置才行?是MailMessage用到哪个文件没有权限导致的吗?谢谢!

2 个解决方案

#1


你应该是使用123.125.50.132作为smtp服务器发送邮件。你本机可以访问它,但是你的服务器无法访问它,请检查防火墙。

smtp的端口是25. 

#2


引用 1 楼 findcaiyzh 的回复:
你应该是使用123.125.50.132作为smtp服务器发送邮件。你本机可以访问它,但是你的服务器无法访问它,请检查防火墙。

smtp的端口是25. 


万分感谢,请问应该如何设置服务器的防火墙?谢谢!

#1


你应该是使用123.125.50.132作为smtp服务器发送邮件。你本机可以访问它,但是你的服务器无法访问它,请检查防火墙。

smtp的端口是25. 

#2


引用 1 楼 findcaiyzh 的回复:
你应该是使用123.125.50.132作为smtp服务器发送邮件。你本机可以访问它,但是你的服务器无法访问它,请检查防火墙。

smtp的端口是25. 


万分感谢,请问应该如何设置服务器的防火墙?谢谢!