Итак, есть много сообщений об этой ошибке, которую я получаю. Но большинство имеют дело с IIS.Как отключить ретрансляцию и использовать мой код в качестве аутентифицированного клиента?
Почтовый ящик недоступен. Ответ сервера был: 5.7.1 Не удалось передать
Я портировал свой код на консоль, чтобы увидеть, все еще получаю эту ошибку, и я делаю. Казалось бы, он все еще использует ISS как реле или что-то еще, хотя это консольное приложение?
Я говорил с администратором Exchange, и он не собирается открывать почтовый сервер для какой-либо ретрансляции или разрешить моему серверу делать это. Поэтому я хотел бы, чтобы мой код C# отправил электронное письмо в качестве обычного аутентифицированного клиента, как если бы это был прогноз.
Мой код ниже работает, если я отправляю его кому-то в пределах моего собственного домена, но не если получатель находится за пределами домена.
Как отключить ретрансляцию и использовать мой код в качестве аутентифицированного клиента, чтобы я мог отправлять электронные письма людям за пределами моего домена? не
КОД:
static void Main(string[] args)
{
Console.WriteLine("Sending Mail...");
try
{
SmtpClient _SMTPServer = new SmtpClient("companymailserver", 587);
_SMTPServer.Credentials = new System.Net.NetworkCredential("myusername", "mypassword");
MailMessage _mailMessage = new MailMessage();
_mailMessage.To.Add(new MailAddress("[email protected]"));
_mailMessage.From = new MailAddress("[email protected]");
_mailMessage.IsBodyHtml = false;
_mailMessage.Subject = "This is a test";
_mailMessage.Body = "This is the body";
_SMTPServer.Send(_mailMessage);
}
catch (Exception err)
{
Console.WriteLine("error: " + err.Message);
}
Console.WriteLine("Press any key to continue...");
Console.Read();
}
UPDATE # 1
Странная вещь независимо от того, какие полномочия я положил я получаю такую же 'Невозможно передать' ошибку. Как будто он не выполняет ретрансляцию и игнорирует мои настройки SmtpClient.
Это настройки исходящего почтового сервера, я не думаю, что есть что-то вы можете сделать код мудрый, чтобы позволить этому. – kd7
@ kd7 Почему я не могу отправлять почту как обычный SmtpClient без ретрансляции? ведь класс называется «SmtpClient». Сервер позволяет любым аутентифицированным клиентам отправлять электронные письма кому-либо. – capdragon
Это должно быть возможно, так или иначе. Большинство почтовых серверов разрешают ретрансляцию, если электронное письмо от пользователя с почтовым ящиком в системе и пользователь аутентифицирован. В противном случае пользователи никогда не смогут отправлять электронную почту другим компаниям. – CodeThug