中继错误需要SMTP身份验证

时间:2012-11-06 03:05:24

标签: asp.net vb.net smtp-auth

我们的网站曾经托管在运行Windows Server 2003和IIS 6的服务器上;它在这个领域工作得很好。现在我们正在尝试在运行Windows Web Server 2008 R2和IIS 7的新服务器上进行设置。在旧服务器和新服务器上,我们使用SmarterMail作为我们的电子邮件软件。

我在本地系统上从Outlook和Windows Live Mail发送和接收电子邮件没有问题。问题是从我们网站上的代码隐藏发送电子邮件。我可以从网站发送一封电子邮件到SmarterMail中设置的内部电子邮件地址 - 换句话说,发送到我们邮件服务器域内的地址。但是当我尝试从网站发送电子邮件到Gmail地址时,我收到以下错误:

继电器需要550认证

在发送电子邮件的ASP.NET页面的代码隐藏中,我有以下VB.NET代码:

Dim MailObj As New SmtpClient
With MailObj
  .Credentials = New NetworkCredential(MailFromEmailAddress, Password)
  .EnableSsl = False
  .Host = "mail.MyDomain.com" ' our mail server subdomain name, configured in IIS
  .Timeout = 180000
  .UseDefaultCredentials = False
End With

MailObj.Send(OrderMailMsg)

我可以使用MailFromEmailAddress和密码登录SmarterMail,没有任何问题。

此外,我可以为邮件服务器的IP地址定义SMTP身份验证绕过,然后发送到Gmail地址的邮件就可以了。但是,当我们从我们的网站发送到域外的地址时,我无法使用SMTP身份验证。

有没有人知道我应该改变什么或做些什么来使这项工作?非常感谢!

0 个答案:

没有答案