Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 中继错误需要SMTP身份验证_Asp.net_Vb.net_Smtp Auth - Fatal编程技术网

Asp.net 中继错误需要SMTP身份验证

Asp.net 中继错误需要SMTP身份验证,asp.net,vb.net,smtp-auth,Asp.net,Vb.net,Smtp Auth,我们的网站曾经托管在运行WindowsServer2003和IIS6的服务器上;它在这个地区运作良好。现在,我们正在尝试在运行Windows Web server 2008 R2和IIS 7的新服务器上设置它。在新旧服务器上,我们都使用SmarterMail作为电子邮件软件 我在本地系统上发送和接收Outlook和Windows Live Mail的电子邮件没有问题。问题在于从我们网站上的代码隐藏发送电子邮件。我可以将电子邮件从站点发送到SmarterMail中设置的内部电子邮件地址——换句话说

我们的网站曾经托管在运行WindowsServer2003和IIS6的服务器上;它在这个地区运作良好。现在,我们正在尝试在运行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身份验证工作


有没有人知道我应该改变什么或做什么才能让这一切顺利进行?非常感谢

检查电子邮件服务器上是否启用了SSL。您是否尝试使用此邮件用户凭据登录以向外部地址发送电子邮件?可能它没有权限。使用邮件发件人电子邮件地址通过浏览器登录邮件服务器,我成功地向Gmail地址发送了一封测试电子邮件。我在邮件服务器上启用了SSL,但到目前为止,我已将EnableSSL设置为False,并且正在使用端口25进行SMTP。我应该使用端口465并将EnableSSL设置为True吗?我认为您应该启用SSL。您正在使用其邮件服务的SMTP是否提供了任何特定的证书?我在IIS中安装了一个SSL证书,该证书特定于我正在使用的邮件子域。我将尝试让它与EnableSSL一起工作。我是这个论坛的新手,不知道如何将这个问题标记为已回答。