Я отправляю письмо из приложения WPF. При отправке в качестве пользователя домена в сети, электронные письма отправляются как ожидалось. Однако, когда я пытаюсь отправить электронную почту через VPN-соединение, я получаю следующее исключение:
Исключение:
System.Net.Mail.SmtpException: сбой отправки почты. ---> System.IO.IOException: невозможно прочитать данные из транспортного соединения: net_io_connectionclosed.
в System.Net.Mail.SmtpReplyReaderFactory.ProcessRead (буфер Byte [], смещение Int32, чтение Int32, логическая строка чтения)
в System.Net.Mail.SmtpReplyReaderFactory.ReadLines (вызывающий SmtpReplyReader, Boolean oneLine)
в System.Net.Mail.SmtpReplyReaderFactory.ReadLine (вызывающий SmtpReplyReader)
в System.Net.Mail.SmtpConnection.GetConnection (строковый хост, порт Int32)
в System.Net.Mail.SmtpTransport.GetConnection (строковый хост, порт Int32)
в System.Net.Mail.SmtpClient.GetConnection ()
в System.Net.Mail.SmtpClient.Send (сообщение MailMessage)
Я попытался использовать олицетворение, а также установить учетные данные на SmtpClient. Ни один из них не работает:
using (new ImpersonateUser("myUser", "MYDOMAIN", "myPass"))
{
var client = new SmtpClient("myhost.com");
client.UseDefaultCredentials = true;
client.Credentials = new NetworkCredential("myUser", "myPass", "MYDOMAIN");
client.Send(mailMessage);
}
Я также пытался использовать Wireshark для просмотра сообщения по сети, но я не знаю достаточно о SMTP, чтобы знать, что я ищу.
Еще одна переменная заключается в том, что машина, которую я использую в VPN, - это Vista Business, а машина в сети - Win7. Я не думаю, что это связано, но тогда я бы не стал спрашивать, знаю ли я проблему! :)
Есть идеи?