Я недавно купил свой собственный сервер с IIS7, и я пытаюсь настроить SMTP, чтобы я мог отправлять электронную почту с моего сайта.
Вот мои настройки SMTP:
Вот мой код, который отправляет электронное письмо:
private static void SendEmail(IEnumerable<MailAddress> to,
IEnumerable<MailAddress> bcc, MailAddress from,
string subject, string bodyHtml)
{
var mail = new MailMessage { From = from, Subject = subject,
Body = bodyHtml, IsBodyHtml = true };
foreach (var address in to)
{
mail.To.Add(address);
}
foreach (var address in bcc)
{
mail.Bcc.Add(address);
}
try
{
string server = ConfigurationManager.AppSettings["SMTPServer"];
int port = Int32.Parse(ConfigurationManager.AppSettings["SMTPPort"]);
var smtp = new SmtpClient
{
Host = server,
Port = port
};
smtp.Send(mail);
}
catch (Exception err)
{
}
}
И мои настройки конфигурации:
<add key="SMTPServer" value="localhost" />
<add key="SMTPPort" value="25" />
Я получаю сообщение об ошибке приsmtp.Send(mail);
с надписью:
Плохая последовательность команд.Ответ сервера: Этот почтовый сервер требует проверки подлинности при попытке отправки на нелокальный адрес электронной почты.Пожалуйста, проверьте настройки вашего почтового клиента или обратитесь к администратору, чтобы убедиться, что для этого сервера определен домен или адрес.
Что ж, у меня нет требований к аутентификации на моем SMTP-сервере.в моих настройках на скриншоте.
Я осмотрелся, и у других людей возникла эта проблема, если они отправляли электронную почту с другого адреса электронной почты, указанного в их настройках, но я отправляю мою с info@mysite.com
.Я отправляю его на учетную запись @gmail.com
, поэтому она отправляет на нелокальный адрес электронной почты.
Что я здесь не так делаю?