Raja Ganapathy Ответов: 1

Как отправить почту с помощью SMTP mail config.?


ниже показана ошибка при отправке почты

The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required. Learn more at 


Что я уже пробовал:

Я использую приведенный ниже код для отправки конфигурации почты. это работает в других приложениях, но мое приложение показывает приведенную ниже ошибку, как ее исправить.

Msg.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = ConfigurationManager.AppSettings["MailServer"];
System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
Msg.From = new MailAddress(ConfigurationManager.AppSettings["MailFrom"]);
NetworkCred.Password = ConfigurationManager.AppSettings["MailPassword"];
smtp.Credentials = NetworkCred;
smtp.Port = 25;
smtp.EnableSsl = true;

ServicePointManager.ServerCertificateValidationCallback = delegate(object s, System.Security.Cryptography.X509Certificates.X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
return true;
};

smtp.Send(Msg);

F-ES Sitecore

Попробуй

протокол SMTP.UseDefaultCredentials = false;
smtp. Credentials = NetworkCred;

Andy Lanng

ОП снова ушел? вот почему так мало решений выделяют O_o

Raja Ganapathy

Я тоже использую это, но происходит та же ошибка

David_Wimbley

Вы уверены, что номер порта правильный? Обычно почтовые серверы имеют другой SMTP-портал для соединений SSL/TLS. Например, office365 использует порт 587.

1 Ответов

Рейтинг:
4

Richard Deeming

Вы установили NetworkCred.Password, но не тот NetworkCred.UserName Большинство серверов требуют как имя пользователя, так и пароль для аутентификации.

Но есть и лучший способ: поместите свою конфигурацию в элемент<smtp & gt; (сетевые настройки)[^]:

<configuration>  
  <system.net>  
    <mailSettings>  
      <smtp deliveryMethod="network" from="example@gmail.com">  
        <network  

          host="smtp.gmail.com"

          port="587"

          enableSsl="true"

          defaultCredentials="false" 

          userName="YOUR-USER-NAME" 

          password="YOUR-PASSWORD"

        />  
      </smtp>  
    </mailSettings>  
  </system.net>  
</configuration> 

С этим на месте вам не нужно настраивать SmtpClient; конструктор по умолчанию автоматически считывает настройки из конфигурационного файла.
SmtpClient smtp = new SmtpClient();
smtp.Send(Msg);