无法向电子邮件发送消息

时间:2011-05-27 18:12:58

标签: c# .net email smtp smtpclient

我在服务器上发送消息时遇到问题。但在我的本地,我可以使用免费的smtp服务器向电子邮件发送消息。

电子邮件政策中是否接受防火墙或localhost?

请指教..谢谢!

代码:

//send email
MailMessage objEmail = new MailMessage(new MailAddress(ConfigurationManager.AppSettings["emailAdd"].ToString()), new MailAddress(ConfigurationManager.AppSettings["emailAdd"].ToString()));
objEmail.Subject = "Test";
objEmail.Body = _Message;
objEmail.Priority = MailPriority.High;
SmtpClient SmtpMail = new SmtpClient();
SmtpMail.Host = "localhost";
SmtpMail.Send(objEmail);

错误:

  

System.Net.Mail.SmtpFailedRecipientException:邮箱不可用。服务器响应为:5.7.1无法中继mae@yahoo.com       在System.Net.Mail.SmtpTransport.SendMail(MailAddress sender,MailAddressCollection recipients,String deliveryNotify,SmtpFailedRecipientException& exception)       在System.Net.Mail.SmtpClient.Send(MailMessage消息)

2 个答案:

答案 0 :(得分:3)

这个blog post回答的问题基本相同。假设您是通过IIS SMTP服务器发送的,则可能需要修改中继限制以允许从您的IP地址进行中继。

答案 1 :(得分:1)

几乎没有检查:

  1. 使用
  2. 检查您的代理是否未被阻止
  3. 检查您的服务器IP是否在白名单中,如果它在邮件服务器上维护
  4. 在邮件服务器上检查是否需要密码
  5. Smtp服务器地址没问题