1

我想向一个人发送电子邮件,但“发送给”列表显示了许多人。(我不希望其他人收到电子邮件)。

许多文章(此处此处)建议为 smtp 地址和 mime 地址指定不同的值是完全合法的。

我正在使用 MailKit,这就是我目前所拥有的:

var message = new MimeMessage();
message.From.Add(new MailboxAddress("MeetingOfficeA", "noreply@office.com"));
message.To.Add(new MailboxAddress("Fidel Perez-Smith", "fidel@office.com"));

message.Headers.Add("To", "john.doe@office.com"); //this line actually sends the email to John Doe, which I don't want

message.Subject = "Testing";
message.Body = new TextPart ("plain") { Text = @"Testing 123" };

MailKit.Net.Smtp.SmtpClient client = new MailKit.Net.Smtp.SmtpClient();
client.Connect("smtpserver.office.com");
client.Send(message);

有什么我可以添加的,所以只有 Fidel 收到电子邮件,但看起来它是发送给多个人的?

(链接1中的问题类似,但主要讨论“发件人”地址。我认为我的问题不应该被标记为重复,因为它与“收件人地址”有关,并且会更容易被其他用户找到。毕竟,当我研究我的特定问题时,花了一段时间才找到其他链接)。

4

1 回答 1

2

下面的代码片段看起来像是消息发送给了 Fidel Perez-Smith 和 John Doe,但实际上,它只会发送给 Fidel Perez-Smith:

var message = new MimeMessage ();
message.From.Add (new MailboxAddress ("MeetingOfficeA", "noreply@office.com"));
message.To.Add (new MailboxAddress ("Fidel Perez-Smith", "fidel@office.com"));
message.To.Add (new MailboxAddress ("John Doe", "john.doe@office.com");
message.Subject = "Testing";
message.Body = new TextPart ("plain") { Text = @"Testing 123" };

using (var client = new SmtpClient ()) {
    client.Connect ("smtpserver.office.com");
    client.Send (message, new MailboxAddress ("MeetingOfficeA", "noreply@office.com"), new [] { new MailboxAddress ("Fidel Perez-Smith", "fidel@office.com") });
    client.Disconnect (true);
}
于 2016-02-10T21:52:00.860 回答