asp.net mvc ошибка отправки электронной почты: невозможно отправить письмо - PullRequest
0 голосов
/ 06 января 2012

У меня есть веб-приложение mvc, отправляющее электронное письмо, когда новый пользователь создается со следующим кодом:

private static void SendMail(User user)
        {
            string ActivationLink = "http://localhost/Account/Activate/" +
                                     user.UserName + "/" + user.NewEmailKey;

            var message = new MailMessage("ashu@gmail.com", user.Email)
            {
                Subject = "Activate your account",
                Body = ActivationLink
            };

            var client = new SmtpClient("localhost");
            client.UseDefaultCredentials = false;
            client.Send(message);
        }

Что не так с моим кодом, пожалуйста, сообщите мне.

ОШИБКА: ошибкаотправка почты.{"Невозможно подключиться к удаленному серверу"}

Конфигурация SMTP: enter image description here

Ответы [ 2 ]

1 голос
/ 07 января 2012

Gmail открывается в порту 587, и вам нужно включить ssl.

Попробуйте следующий код.

        var smtp = new SmtpClient
        {
            Host = "smtp.gmail.com",
            Port = 587,
            EnableSsl = true,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            UseDefaultCredentials = false,
            Credentials = new NetworkCredential(<fromAddress>, <fromPassword>)
        };
        using (var message = new MailMessage(<fromAddress>, <toAddress>)
        {
            Subject = <subject>,
            Body = <body>
        })
        {
            smtp.Send(message);
        }
1 голос
/ 06 января 2012

Вот вероятные причины этой ошибки:

1 Вы не указали правильные данные аутентификации

2 Порт заблокирован, например, брандмауэром

В вашем примере я заметил, что вы не указываете порт при создании SmtpClient - это может помочь указать его.

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