Member 12966735 Ответов: 1

Почтовый ящик недоступен. Ответ сервера был следующим: 5.7.1 не удалось ретранслировать


У меня есть служба windows для отправки почты, которая работает нормально, если я отправляю почту в клиентский домен, но когда я пытаюсь отправить почту в gmail или любой другой домен, я получаю ошибку
Mailbox unavailable. The server response was: 5.7.1 Unable to relay

я использую SMTP для отправки почты я знаю что это связано с SMTP ретрансляцией но я не знаю как это решить пожалуйста дайте мне решение

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

try
            {
                System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();

                SmtpClient smtp = new SmtpClient();

                smtp.Host = "172.16.5.2";
                smtp.EnableSsl = false;
                smtp.Port = 25;

                msg.From = new MailAddress("Client domain mail id");

                msg.To.Add("xyz@gmail.com");

                msg.Subject = subject;

                msg.Body = body;

                msg.IsBodyHtml = true;

                if (AttachmentPath != "")
                {
                    msg.Attachments.Add(new Attachment(AttachmentPath));
                }

                smtp.Send(msg);
                
                return (1);
                
            }
            catch (Exception ex)
            {
                TraceService(ex.Message);
                return (0);
            }
                       
        }

Garth J Lancaster

похоже, вы не аутентифицируетесь на своем SMTP-сервере - возможно, они не будут отправлять сообщения в другой домен, если вы не аутентифицируетесь

Я бы также взглянул на некоторые ответы здесь https://www.codeproject.com/Questions/94257/Mailbox-unavailable-The-server-response-was

Member 12966735

спасибо за ответ Пожалуйста объясните мне как его аутентифицировать я имею в виду как это решить

1 Ответов

Рейтинг:
2

Jochen Arndt

В старые времена ретрансляция почты не была проблемой, и большинство серверов принимали почту для любого назначения. Но с увеличением активности спама настройка была изменена и требует аутентификации. Это означает, что вы должны использовать существующую учетную запись почты на SMTP-сервере (ваш почтовый идентификатор домена клиента), подключиться к серверу с помощью метода аутентификации и отправить пароль для своей учетной записи.

Вероятно, вы уже используете аутентификацию с вашими почтовыми клиентами (Outlook, Thunderbird и т. д.). Просто используйте те же параметры, что и там. Обратите внимание, что может использоваться другой порт.

В общем используйте что-то вроде

// These depend on the requirements of the server
//smtp.EnableSsl = true;
//smtp.Port = 465;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new System.Net.NetworkCredential("yourusername", "yourpassword");