我的网站(我称之为mydomain.com)托管在运行Windows Server 2008 R2的1& 1专用服务器上。对于防病毒保护,它具有AVG File Server Edition 2013.未启用Windows防火墙。
在该服务器上,我安装了SmarterMail,并通过子域mail.mydomain.com将其用于我的所有电子邮件。从我的网站,我发送电子邮件,它工作正常。
今天我为Rackspace设置了一个电子邮件托管帐户,我正在尝试将其作为我自己服务器托管的替代品进行测试。我正在使用其他域名myotherdomain.com进行测试。我在Rackspace中设置了两个用户帐户,在本地系统上设置了Outlook,以便为这个新域发送和接收电子邮件,它在Outlook中运行良好。
但是,当我尝试从我的网站发送电子邮件时,我收到错误消息。这是我在测试页的Page_Load中使用的VB.NET代码:
Dim Msg As New MailMessage("orders@myotherdomain.com", "customer@yahoo.com")
With Msg
.Subject = "Email test"
.Body = "This is a test message."
.IsBodyHtml = True
End With
Dim Smtp As New SmtpClient
With Smtp
.UseDefaultCredentials = False
.Credentials = New NetworkCredential("orders@myotherdomain.com", strPassword)
.DeliveryMethod = SmtpDeliveryMethod.Network
.EnableSsl = True
.Host = "secure.emailsrvr.com"
.Port = 465
End With
Try
Smtp.Send(Msg)
lblMessage.Text = "Success!"
Catch SmtpEx As SmtpException
lblMessage.Text = "SMTP exception: " & SmtpEx.Message
If SmtpEx.InnerException IsNot Nothing Then lblMessage.Text &= " (InnerException: " & SmtpEx.InnerException.Message & ")"
Catch GeneralEx As Exception
lblMessage.Text = "General exception: " & GeneralEx.Message
End Try
我可以使用orders@myotherdomain.com和strPassword的值登录Rackspace电子邮件门户。
尝试从我的网站发送电子邮件时收到的SMTP错误消息是:发送邮件失败。 (InnerException:无法从传输连接读取数据:net_io_connectionclosed。)
在我的1& 1控制面板中,我为myotherdomain.com配置了DNS设置,以获取其他地方未使用的IP地址,并且我已将该IP地址的反向映射定义为myotherdomain.com。我还指定它使用另一个邮件服务器并定义了由Rackspace指定的mx0和mx1服务器名称。
当Rackspace上托管的域名时,有人可以帮助解决为什么电子邮件无法在我的网站上运行的想法吗?谢谢!
答案 0 :(得分:2)
我刚刚使用Rackspace SMTP遇到了同样的问题。问题是.net SmtpClient不支持隐式SSL,这是在该SMTP服务器上的端口465上提供的。我切换到使用端口587,它工作正常。