2013-06-24 4 views
3

Я пытаюсь отправить электронную почту с веб-формы asp.net с помощью Gmail. код работает с моей машине, но когда я загрузить код на Windows Server 2012 в лазури я получаю Не удается подключиться к удаленному серверу - исключениеНе удается отправить почту с Azure VM с помощью Gmail

вот мой код:

MailMessage mail = new MailMessage(); 
mail.Subject = "Subject"; 
mail.Body = "Main body goes here"; 

mail.From = new MailAddress("[email protected]"); 

mail.IsBodyHtml = true; 
mail.BodyEncoding = System.Text.Encoding.Unicode; 
mail.SubjectEncoding = System.Text.Encoding.Unicode; 

mail.To.Add("[email protected]"); 

NetworkCredential cred = new NetworkCredential("[email protected]", "myPwd"); 
SmtpClient smtp = new SmtpClient("smtp.gmail.com"); 
smtp.EnableSsl = true; 

smtp.Credentials = cred; 
smtp.Port = 587; 
smtp.DeliveryMethod = SmtpDeliveryMethod.Network; 

smtp.Send(mail); 

Любые идеи?

+2

Является ли порт 587 открытым на вашей виртуальной машине? – CSharpRocks

ответ

2

Убедитесь, что правила брандмауэра локальной виртуальной машины разрешают исходящее соединение через порт 587. Here is a good article о том, как создать исходящее правило брандмауэра.