我在发送的电子邮件中添加了一个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
有人知道为什么会这样吗?