Ошибка при отправке электронного письма из моей учетной записи Gmail - PullRequest
0 голосов
/ 27 февраля 2012

ОШИБКА: SMTP-сервер требует безопасного соединения или клиент не прошел проверку подлинности.Ответ сервера: 5.5.1 Требуется аутентификация.

МОЙ КОД ЗДЕСЬ:

protected void Button1_Click(object sender, EventArgs e)
       {
        Random r = new Random();
        int rand = r.Next(10000, 90000);
        string from = "srkdbest12@gmail.com";
        string to = "ankushjain358@gmail.com";
        string subject = "User Authentification";
        string body = "click on the below link to AUTHENTICATE your account<br>";
        body += "confirmation.aspx?confirm=" + rand;

        try
        {
            MailMessage mailObject = new MailMessage(from, to, subject, body);

            SmtpClient smtp = new SmtpClient("smtp.gmail.com");
            smtp.Credentials = new NetworkCredential("srkdbest12@gmail.com", "MyPassword");
            smtp.EnableSsl = true;
            smtp.Port = 587;
            smtp.UseDefaultCredentials = false;

            smtp.Send(mailObject);
        }
        catch (Exception ee)
        {
            throw new ApplicationException("Confirmation email was not sent please try again or Try with a new email id<br>" + ee.Message);
        }

Ответы [ 2 ]

2 голосов
/ 27 февраля 2012

Не задано UseDefaultCredentials.

1 голос
/ 27 февраля 2012

У меня работает следующий код:

SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("login", "password");
client.EnableSsl = true;
client.DeliveryMethod = SmtpDeliveryMethod.Network;

Обновление: , поскольку akiller правильно показывает, что для свойства UseDefaultCredentials должно быть установлено значение false до назначения учетных данных.Это то, что заставляет этот код работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...