Я добавил поле скрытой копии в свое электронное письмо, которое я отправляю и получаю сообщение об ошибке в строке темы. Все отлично работает, когда я закомментирую строку BCC, поэтому я не уверен, что не так. Вот код, который я использую (он находится в Delphi .NET, но основной такой же, как C # и VB):
procedure TEmail.SendEmail(From, SendTo, CC, Subject, Body, BCC: String; Html: Integer);
var
Mail: MailMessage;
Smtp: SMTPClient;
begin
Mail := MailMessage.Create(From, SendTo);
Smtp := SMTPClient.Create;
if CC <> '' then Mail.CC.Add(CC);
if BCC <> '' then Mail.Bcc.Add(BCC);
Mail.Subject := Subject;
Mail.Body := Body;
if Html = -1 then Mail.IsBodyHtml := True else Mail.IsBodyHtml := False;
Smtp.DeliveryMethod := SmtpDeliveryMethod.PickupDirectoryFromIis;
try
Smtp.Send(Mail);
except
Smtp.DeliveryMethod := SmtpDeliveryMethod.Network;
try
Smtp.Send(Mail);
except
raise;
end;
end;
end;
Я попытался поиграть с использованием MailAddress и MailAddressCollection, но все равно получаю ту же ошибку. Когда я отлаживаю его, передаются следующие параметры:
SendEmail(reg@website.com, addtest@test.com, email@test.com, email@test.com, Thanks for registering, Some Body Text);
Как видите, адреса электронной почты CC и BCC одинаковы, но я получаю сообщение об ошибке только тогда, когда там находится строка Mail.Add.Bcc
.
РЕДАКТИРОВАТЬ: часть трассировки стека:
[FormatException: The specified string is not in the form required for an e-mail address.]
System.Net.Mime.MailBnfHelper.ReadMailAddress(String data, Int32& offset, String& displayName) +1296
System.Net.Mail.MailAddressCollection.ParseValue(String addresses) +102
У кого-нибудь есть идеи, почему это так?