Отправка электронной почты через SMTP IIS на внешний адрес - PullRequest
1 голос
/ 28 мая 2009

При использовании следующего кода для отправки сообщения электронной почты на внешний адрес электронной почты через SMTP IIS6 я получаю сообщение о том, что сообщение было отправлено, но оно никогда не прибывает в пункт назначения. Я использую пространство имен System.Net.Mail и следующий код:

MailMessage msg = new MailMessage();
msg.From = new MailAddress(from);

foreach (string strTo in to.Split(';'))
{
  if (strTo.Replace(";", "") != string.Empty)
    msgMailSummary.To.Add(new MailAddress(strTo.Replace(";", "")));
}
msg.Subject = subject;
msg.Body = body;

SmtpClient sm = new SmtpClient();
sm.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
sm.Credentials = new NetworkCredential(tbUsername.Text, tbPassword.Text);
sm.Host = host;
sm.Port = port;
sm.Send(msg);

У меня нет настройки SmartHost в IIS6, есть ли какие-либо очевидные или какие-либо подсказки, советы, которые можно проверить, чтобы это заработало?

Ответы [ 3 ]

2 голосов
/ 28 мая 2009

Хм, кажется, вам не хватает одной ключевой строки ...

msg.To = new MailAddress(to);
0 голосов
/ 02 июня 2009

Оказалось, что настройки сервера не были настроены правильно.

0 голосов
/ 28 мая 2009

Я не уверен, правильно ли я помню, но однажды у меня была проблема, когда я не мог отправить электронное письмо, потому что мой адрес отправителя не был тем, что позволял мой хостинг. По сути, я смог установить только ReplyTo и оставить From неопределенным (сервер smtp определит его сам). Попробуйте, это может сработать.

...