2013-11-27 4 views
0

Мой сайт (я назовем его mydomain.com) размещен на выделенном сервере с 1 & 1 под управлением Windows Server 2008 R2. Для антивирусной защиты он имеет AVG File Server Edition 2013. Брандмауэр Windows не включен.SmtpClient не может отправить электронное письмо

На этом сервере я установил SmarterMail и использую его для всей моей электронной почты через субдомен mail.mydomain.com. С моего сайта я отправляю электронное письмо, и он работает нормально.

Сегодня я создал учетную запись для хостинга электронной почты с помощью Rackspace и пытаюсь протестировать ее как замену для хостинга на моем собственном сервере. Я тестирую другой домен, myotherdomain.com. Я установил две учетные записи пользователей в Rackspace, а также Outlook в моей локальной системе для отправки и получения электронной почты для этого нового домена, и он отлично работает в Outlook.

Однако, когда я пытаюсь отправить электронную почту с моего сайта, я получаю сообщение об ошибке. Вот код VB.NET Я использую в Page_Load моей тестовой страницы:

Dim Msg As New MailMessage("[email protected]", "[email protected]") 

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("[email protected]", 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 

Я могу войти в электронный портал Rackspace с [email protected] и значением strPassword.

Сообщение об ошибке SMTP, которое я получаю от попытки отправки электронной почты с моего сайта: Отказ отправки почты. (InnerException: не удается прочитать данные из транспортного соединения: net_io_connection закрыто.)

В моей 1 & 1 Панель управления, я настроил параметры DNS для myotherdomain.com для IP-адреса, который больше не используется, и Я определил обратное сопоставление для этого IP-адреса для myotherdomain.com. Я также указал, что он использует другой почтовый сервер и определил имена серверов mx0 и mx1, как указано в Rackspace.

Может кто-то может помочь с идеями относительно того, почему электронная почта не работает с моего сайта, когда это домен, размещенный на Rackspace? Благодаря!

ответ

2

Я только что столкнулся с той же проблемой, используя Rackspace SMTP. Проблема заключается в том, что .net SmtpClient не поддерживает неявный SSL, который предоставляется на порту 465 на этом SMTP-сервере. Я переключился на порт 587, и он работал правильно.

См http://blogs.msdn.com/b/webdav_101/archive/2008/06/02/system-net-mail-with-ssl-to-authenticate-against-port-465.aspx

+0

Не то, что они дали мне точную информацию, но так как я с таким же вопросом, как ОП, я позвонил Rackspace электронной почты технической поддержке, который сказал мне, что они поддерживают Явный SSL на порт 465 на безопасном. emailsrvr.com. Я не смог заставить SSL работать с использованием этой комбинации. – Tim

Смежные вопросы