SMTP AUTH требуется для отправки сообщения через порт 587 C # - PullRequest
0 голосов
/ 19 июня 2019

Код, который я использую для отправки писем, работал, но внезапно перестал работать. Это дает мне сообщение об ошибке «Почтовый ящик недоступен. Ответ сервера: SMTP AUTH требуется для отправки сообщения через порт 587». Я зацикливаюсь на списке клиентов и хочу отправлять электронные письма, в них есть изображение, встроенное в них

Пока я пытался найти причину проблемы, я изменил модификатор доступа с защищенного на частный - то есть, когда он выдавал ошибку «Недопустимое имя helo», когда я остановился и снова запустил проблему, он возвращается говоря "SMTP AUTH требуется для отправки сообщения через порт 587".

private void sendHtmlEmail(string from_Email, string to_Email, string body, string from_Name, string Subject, string SMTP_IP, Int32 SMTP_Server_Port, string Email_ImageFilePath)
    {

        using (MailMessage mail = new MailMessage())
        {
            mail.IsBodyHtml = true;

            using (AlternateView htmlView = AlternateView.CreateAlternateViewFromString(body, null, "text/html"))
            {

                using (LinkedResource theEmailImage = new LinkedResource(Email_ImageFilePath))
                {

                    theEmailImage.ContentId = "myImageID";

                    //Add the Image to the Alternate view
                    htmlView.LinkedResources.Add(theEmailImage);

                    //Add view to the Email Message
                    mail.AlternateViews.Add(htmlView);

                    //set the "from email" address and specify a friendly 'from' name
                    mail.From = new MailAddress("myemail@fff.co.za");

                    //set the "to" email address
                    mail.To.Add(to_Email);

                    //set the Email subject
                    mail.Subject = Subject;

                    //set the SMTP info
                    System.Net.NetworkCredential cred = new System.Net.NetworkCredential("myemail@fff.co.za", "password");
                    SmtpClient smtp = new SmtpClient("mail.fff.co.za", 587);
                    smtp.EnableSsl = true;
                    smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                    smtp.UseDefaultCredentials = false;
                    smtp.Credentials = cred;
                    smtp.Send(mail);
                }
            }
        }
    }
...