Ali Majed HA Ответов: 1

Ошибка при отправке электронной почты через ASP.NET проект


Привет

Я хочу отправить пользователю электронное письмо в моем asp.net проект, но я получаю эту ошибку во время выполнения:

SMTP-сервер требует безопасного подключения, иначе клиент не прошел проверку подлинности.
Ответ сервера: 5.7.1 требуется проверка подлинности

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

класс электронной почты:
public void SendEmailMethod(string ToEmail, string EmailSubject, string EmailBody)
        {
            EncryptData _EncryptData = new EncryptData();
            SmartLeavesDataContext db = new SmartLeavesDataContext();
            var _SiteSettings = db.SiteSettings.SingleOrDefault();
            string _Password = _EncryptData.Decrypt(_SiteSettings.EmailPassword);
            string _Email = _SiteSettings.EMail;

            string smtpAddress = "smtp.mail.yahoo.com";
            int smtpPort = 587;

            string EmailFrom = _Email;
            string Password = _Password;


            MailMessage Mail = new MailMessage();
            Mail.From = new MailAddress(EmailFrom);
            Mail.To.Add(ToEmail);
            Mail.Subject = EmailSubject;
            Mail.Body = EmailBody;
            Mail.IsBodyHtml = true;

            SmtpClient smtpObject = new SmtpClient(smtpAddress, smtpPort);
            smtpObject.Credentials = new NetworkCredential(EmailFrom, Password);
            smtpObject.EnableSsl = true;
            smtpObject.Send(Mail);
        }

[no name]

Служба поддержки Yahoo говорит, что порт для почты-465, а не 587.

Ali Majed HA

привет
спасибо за ваш комментарий, ваше решение решило мою проблему, но на этот раз у меня есть ошибка : сбой отправки почты. что к кому это относится ? есть ли у меня ошибка в коде ?

Dave Kreskowiak

Без понятия. Это сообщение настолько универсально, насколько это возможно. Вы должны изучить детали исключения для получения дополнительной информации.

Ali Majed HA

большое спасибо за вашу помощь

Ali Majed HA

или, может быть, пароль / электронная почта ошибочны ?

1 Ответов

Рейтинг:
4

Afzaal Ahmad Zeeshan

Продолжая из комментариев, 587 является правильным портом для Yahoo Mail, а TCP-порт по умолчанию для SMTP 25 также работает, то есть основан на стандарте, а не на Yahoo specific.

Проблема заключается в вашей комбинации имени пользователя и пароля, вам нужно проверить их, чтобы убедиться, что они верны. Отправка электронных писем через .NET framework и общие проблемы-использование кода C# [^], рассмотрите возможность использования кода из этого сообщения и введите данные (только хост SMTP-сервера, комбинацию имени пользователя и пароля), чтобы увидеть, работает ли это.

Настройки POP-доступа и инструкции для Yahoo Mail | Yahoo Help - SLN4724[^]