Так что я получаю много сообщений об этой ошибке.Но большинство имеет дело с 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("someone@gmail.com"));
_mailMessage.From = new MailAddress("myself@mycompanydomain.com");
_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();
}
ОБНОВЛЕНИЕ # 1
Странно, что независимо от того, какие учетные данные я ставлю, я получаю ту же ошибку «Невозможно передать».Как будто он по умолчанию ретранслирует и игнорирует мои настройки SmtpClient.