Member 12708774 Ответов: 2

Ошибка отправки электронной почты 5.5.1 требуется аутентификация


try
        {
            MailMessage mail = new MailMessage();


            mail.From = new MailAddress("sami.goswami@gmail.com");
            mail.To.Add(txtto.Text);
            mail.Subject = txtsub.Text;
            mail.Body = txtmsg.Text;

            SmtpClient Smtpserver = new SmtpClient();

            Smtpserver.Credentials = new NetworkCredential("sami.goswami@gmail.com", "password", "smtp.gmail.com");
            Smtpserver.Host = "smtp.gmail.com";
            Smtpserver.Port = 587;
            Smtpserver.DeliveryMethod = SmtpDeliveryMethod.Network;

            Smtpserver.EnableSsl = true;
            Smtpserver.UseDefaultCredentials = false;

            Smtpserver.Send(mail);


            label1.Text = "Email successfully sent";
        }
        catch (Exception ex)
        {
            label1.Text = "Email failed" + ex.Message;
        }





файл web.config

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5"/>
    <httpRuntime targetFramework="4.5"/>
  
  </system.web>
<system.net>
            <mailSettings>
                <smtp deliveryMethod="Network" from="sami.goswami@gmail.com">
                    <network defaultCredentials="false" host="smtp.gmail.com" port="25" userName="sami.goswami@gmail.com" password="password"/>
                </smtp>
            </mailSettings>
        </system.net>
</configuration>


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

я меняю настройки своей учетной записи gmail, но не могу добиться никакого успеха

2 Ответов

Рейтинг:
2

SreeniChamp

Manage your account access and security settings

Вход в систему - Аккаунты Google[^]
Дальше еще больше
Read this to learn how to allow less secure APPs to use your login:
https://support.google.com/accounts/answer/6010255?hl=en

Попробуйте следующий код
using (MailMessage mail = new MailMessage())
            {
                mail.From = new MailAddress("From Mail-ID");
                mail.To.Add("To Mail-ID");
                mail.CC.Add("CC Mail-ID");//if required
                mail.Subject = "Subject of the Mail";
                mail.Body = "Body Content of the Mail";
                mail.IsBodyHtml = true;
                using (SmtpClient smtp = new SmtpClient())
                {
                    smtp.Host = "smtp.gmail.com";
                    smtp.Port = 587;
                    smtp.EnableSsl = true;
                    smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                    smtp.UseDefaultCredentials = false;
                    smtp.Credentials = new NetworkCredential("From Mail-ID", MailPassword);
                    smtp.Send(mail);
                }
            }

Надеюсь, это поможет !


Рейтинг:
0

Jochen Arndt

По теме smtp - как отправить электронное письмо с помощью C# через Gmail - переполнение стека[^] это может помочь выполнить линию

Smtpserver.UseDefaultCredentials = false;

перед установкой учетных данных.

Вы также указываете порт 25 в своем веб.конфиг файл, но это не должно волновать здесь.