1

我们的网站曾经托管在运行 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 身份验证正常工作。

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

4

0 回答 0