2014-12-30 3 views
1

Когда я отправить электронное письмо с помощью SmtpClient я нашел странное поведение:SmtpClient посылает любую электронную почту дважды

  1. Это слишком долго, чтобы быть доставлено.
  2. Доставляется два раза.

SmtpClient client = new SmtpClient(); 
client.Host = "smtpout.secureserver.net"; 
client.Port = 80; 
client.Timeout = 10000; 
client.DeliveryMethod = SmtpDeliveryMethod.Network; 
client.UseDefaultCredentials = false; 
client.Credentials = new NetworkCredential(_fromAddress, _password); 
MailMessage message = new MailMessage(); 
message.Body = _body; 
message.BodyEncoding = Encoding.UTF8; 
message.IsBodyHtml = true; 
message.Subject = _subject; 
message.To.Add(_toAddress); 
message.Bcc.Add(_bccAddress); 
message.From = new MailAddress(_fromAddress); 
client.Send(message); 

Update 1:

Я уверен, что и BCC разные, и client.Send (сообщение); называется только один раз.


Update 2:

После много отладки я получил следующее:

  • Когда я использую мой Gmail в качестве адреса ОЦК, я получаю это нормально. Но когда я использую свою электронную почту godaddy в качестве адресной книги, я получаю ее дважды.
  • Когда мой код запускается локально на моей машине разработки, я получаю письма без каких-либо задержек. но когда мой код работает с облачными облачными сервисами, электронные письма занимают слишком много времени для доставки (от 5 минут до 1 часа).

Update 3:

  • Когда я использую GoDaddy электронной почты в ОЦК адрес я получаю его дважды.
+0

И вы не используете один и тот же адрес для полей 'TO' и' BBC'? –

+0

Место контрольных точек, отладка. Осмотрите свои переменные. – CodeCaster

+1

Может быть, потребительский код * вызывает * это дважды? Я уверен, что сам объект C# 'SmtpClient' не проявляет такого поведения, кто-то, вероятно, уже заметил бы это. Это гораздо более вероятно, что проблема связана либо со значениями, которые вы используете (один и тот же адрес электронной почты в 'to' и' bcc'?), Код потребления (с вызовом этого дважды) или сама настройка почты (одна пересылка адреса другому?). – David

ответ

3

Наиболее очевидным ответом является то, что _toAddress и _bccAddress совпадают, или, может быть, адрес почтового ящика, куда вы отправляете BCC, перенаправляется на другой адрес?

Убедитесь, что при отладчике вы не запускаете код дважды по ошибке, это также возможно.

Исходя из образца кода, невозможно, чтобы он отправил электронное письмо дважды.

 Смежные вопросы

  • Нет связанных вопросов^_^