2016-09-24 8 views
-1

Я использую smtp-клиент для отправки электронной почты, но проблема в том, что при попытке отправить электронную почту моя электронная почта электронной почты успешно отправлена, но я развернута на сервере, а не по электронной почте. Вот мой кодНе удается отправить электронное письмо с помощью SMTP на сервере

try 
     { 
      MailMessage mail = new MailMessage(); 
      mail.To.Add(receiver); 
      mail.From = new MailAddress("[email protected]"); 
      mail.Subject = subject; 
      mail.Body = body; 
      mail.IsBodyHtml = true; 
      if (attachment != null) 
      { 
       mail.Attachments.Add(attachment); 
      } 
      SmtpClient smtp = new SmtpClient(); 
      smtp.Host = "smtp.gmail.com"; 
      smtp.Credentials = new System.Net.NetworkCredential("[email protected]", "xxxxxx"); 
      smtp.EnableSsl = true; 
      smtp.UseDefaultCredentials = false; 
      smtp.DeliveryMethod = SmtpDeliveryMethod.Network; 
      smtp.Port = 587; 
      smtp.Send(mail); 
      return true; 
     } 
     catch 
     { 
      return false; 
     } 
+1

Вы пытались включить доступ к менее защищенным приложениям в своей учетной записи google? –

+0

Да, его разрешено. –

+0

Если вы можете отправить электронное письмо из своей локальной системы, используя тот же код и не можете отправить его с сервера, то, похоже, проблема не в вашем коде. Может быть, проблема в том, как вы вызываете методы на своем сервере или как ваш сервер подключается к Интернету (возможно, проблемы с брандмауэром). –

ответ

0

Там может быть много причин для that.By глядя на ваш код я предлагаю сначала проверить погоду любого исключения генерируются при выполнении этого кода в сервере (срубы исключения) .Это поможет расследовать Кроме того, проверьте, что порт (587), который вы используете в коде, не заблокирован брандмауэром сервера (если включен на сервере.)

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

  • Нет связанных вопросов^_^