2015-11-06 3 views
0

У меня есть код, который может работать только с my Домены хоста SMTP, но не другие. Кажется, он отправляет, но на самом деле ничего не посылает, и он также не бросает никаких исключений.Не удалось отправить письмо другим доменам

SmtpClient mailClient = new SmtpClient(); 
mailClient.UseDefaultCredentials = false; 
mailClient.Port = 587; 

mailClient.EnableSsl = false; 
mailClient.DeliveryMethod = SmtpDeliveryMethod.Network; 
mailClient.Host = "mail.smtpserver.com"; 



System.Net.NetworkCredential cred = new System.Net.NetworkCredential("[email protected]", "password"); 

mailClient.Credentials = cred; 



MailMessage message = new MailMessage(); 

message.From = new MailAddress("[email protected]"); 
message.To.Add("[email protected]"); 

message.Subject = "Subject"; 
message.Body = "Body"; 

mailClient.Timeout = 200000; 

mailClient.Send(message); 

Я думаю, что проблема не проверяет NetworkCredential ...

+0

является порт правильно для вашего почтового сервера? –

ответ

0

Я хотел бы предложить вам попробовать отправить почту тестирование с «другим» SMTP-сервер с помощью Telnet, чтобы убедиться, что он работает.

Ваш порт smtp не является стандартным, поэтому, возможно, он заблокирован вашим брандмауэром.

+0

На самом деле я изменил 2 другие сети с 2 различными правилами брандмауэра, но это то же самое, что и ошибки. Если я отправляю почту на «[email protected]», она работает, но другие не работают. – Enyd1234

0

Как правило, если вы используете порт 587, то это SSL обеспеченный SMTP - так что вам необходимо изменить свой код, который использует его при установлении соединения:

mailClient.EnableSsl = true; 
Смежные вопросы