【问题标题】:Exception when sending email in asp.net mvc application在 asp.net mvc 应用程序中发送电子邮件时出现异常
【发布时间】:2012-05-27 16:27:46
【问题描述】:

我正在尝试在我的 asp.net mvc 应用程序中测试发送电子邮件,但我不断收到以下异常:

“试图以访问权限 ipaddress:587 禁止的方式访问套接字”

有什么想法吗?我已经关闭了 Windows 防火墙,但仍然出现异常。我已经包含了使用 System.Net.Mail;声明,我的代码如下:

MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com", 587);
SmtpServer.Credentials = new System.Net.NetworkCredential("info@mydomain.com", "mypassword");

mail.From = new MailAddress("info@mydomain.com");
mail.To.Add("myemail@gmail.com");
mail.Subject = "Testing application";
mail.Body = "Testing the application email";   
SmtpServer.Send(mail);

【问题讨论】:

  • 我之前使用过 gmail 发送邮件,并认为我在 .Send 之前添加了 SmtpServer.EnableSsl = true;。现在正在尝试查找我的代码...
  • 我试过 SmtpServer.EnableSsl = true;更早,它没有工作。

标签: c# asp.net-mvc model-view-controller


【解决方案1】:

这是一个有效的代码。有两个额外的设置与你的比较,也许这就是问题。

MailMessage msgMail = new MailMessage("a@gmail.com", "b@mail.me", "subject", "message body");
SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
smtp.EnableSsl = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Credentials = new System.Net.NetworkCredential("a@gmail.com", "a");
try
{
   smtp.Send(msgMail);
}
catch (Exception ex)
{
}

【讨论】:

  • 不能同时使用这两种额外设置或仅添加其中一种。同样的错误。
  • @General_9 这肯定有效。下一个想法是,也许你的服务器阻塞了这个端口?
  • @AlfalfaStrange 是的防火墙设置,或者在虚拟电脑上工作并且这个端口被混淆了。
  • @General_9 检查防火墙设置。看起来相似:stackoverflow.com/questions/4799651/…
  • 我正在本地电脑上工作,并尝试在本地主机上运行此代码。我已经关闭了windows防火墙。你的意思是我的服务器像在 IIS 中那样阻止它吗?
猜你喜欢
  • 2018-10-17
  • 2017-05-03
  • 1970-01-01
  • 1970-01-01
  • 2012-10-12
  • 2014-03-19
  • 2017-04-17
  • 1970-01-01
相关资源
最近更新 更多