发送电子邮件时拒绝中继访问

时间:2012-09-24 12:07:20

标签: c# visual-studio-2010 c#-4.0 smtp

我想通过桌面应用发送电子邮件 这是我的代码

        MailMessage m = new MailMessage("mahmoud@isysway.com", "gavoh3d@yahoo.com", "subject", "body");
        m.IsBodyHtml = true;
        SmtpClient smtp = new SmtpClient("out.tedata.net.eg");
        smtp.Credentials = new System.Net.NetworkCredential("mahmoud@isysway.com", "password");
        smtp.UseDefaultCredentials = true;
        smtp.Send(m);

我的问题是:此代码抛出异常

Transaction failed. The server response was: 5.7.1 <gavoh3d@yahoo.com>: Relay access denied

我认为因为我的互联网提供商需要传出服务器(SMTP)身份验证 我在Outlook中配置如下 enter image description here  
现在,我如何在我的代码中配置它

由于

2 个答案:

答案 0 :(得分:0)

可能存在各种问题:

  1. 您是否可以通过Outlook向Yahoo邮件发送邮件? check this link如果是的话
  2. 检查IIS SMTP Virtual Server Relay Restrictions
  3. 希望这对你有所帮助。

答案 1 :(得分:0)

我发现了这个问题,因为我遇到了同样的问题。我使用/etc/postfix/main.cf中的myNetworks条目解决了它 添加发送到myNetworks系列的IP,我认为PostFix需要一个空间来分隔IP地址,对于我的眼睛来说最好使用逗号,但如果我同时使用它,它就可以工作。

这个解决方案并不理想,所以我会感激一个更好的解决方案!

罗布