我有一个运行在本地iis网站上的asp.net mvc应用程序,使用System.Net.Mail中的SmtpClient发送邮件失败。我正在尝试向我的hotmail地址发送邮件,但出现了套接字异常。您有什么想法是问题出在哪里吗?
using(var message = new MailMessage())
{
message.From = new MailAddress(AdminEmail);
message.To.Add(new MailAddress(to));
message.Subject = subject;
message.Body = body;
message.IsBodyHtml = false;
var mailClient = new SmtpClient();
mailClient.Send(message);
}
这里是异常信息:
{System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:25
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)}
我认为默认应用程序池没有访问intepub\wwwroot的权限。在尝试测试连接时,我收到了以下错误信息:
服务器配置为使用内置帐户进行穿透式身份验证以访问指定的物理路径。但是,IIS管理器无法验证内置帐户是否具有访问权限。请确保应用程序池标识具有对物理路径的读取访问权限。如果此服务器加入了域,并且应用程序池标识是NetworkService或LocalSystem,请验证$是否对物理路径具有读取访问权限。然后再次测试这些设置。