【问题标题】:Adding the recipient email address to the email body将收件人电子邮件地址添加到电子邮件正文
【发布时间】:2019-10-31 06:19:09
【问题描述】:

我正在使用带有基本 System.Net.Mail 的 C# 代码。SmtpClient 向收件人发送电子邮件。

在电子邮件的正文中,我需要为每个收件人添加电子邮件地址,有没有办法在一封电子邮件中向多个收件人添加?

//basic settings    
MailMessage mail = new MailMessage();
SmtpClient client = new SmtpClient();
client.Port = 25;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Host = "smtp.gmail.com";
mail.Subject = "this is a test email.";

//relevent part
msgClient.To.Add(user1@hotmail.com);
msgClient.To.Add(user2@hotmail.com);
msgClient.To.Add(user3@hotmail.com);
mail.Body = "I need to put here the customer's Email Address without sending multiple emails";

client.Send(mail);

【问题讨论】:

  • add the email address for each recipient 这是什么意思?当前的电子邮件?还是别的什么?
  • 当前email,user1@hotmail.com的body会收到user1@hotmail.com,user2@hotmail.com应该会收到user2@hotmail.com等等..

标签: c# email


【解决方案1】:

由于 SMTP 协议的限制,这是不可能的,如果您想这样做,您可能应该逐一发送您的电子邮件。不过,最好更改电子邮件的格式,这样您就不需要在邮件正文中包含此类数据。


ps:System.Net.Mail.SmtpClien 已弃用,请改用mailkit,API 相同,因此您无需更改代码,只需通过 NuGet 安装它,然后将引用从 System.Net.Mail.SmtpClien 更改给MailKit.Net.Smtp.SmtpClient

【讨论】:

  • 基本上,我需要在电子邮件正文中添加一个包含用户电子邮件作为参数的链接。虽然,我仍在设计链接的结构,如果发送电子邮件或一些整数 ID。我试图避免使用 3rd 方库,你确定 mailkit 有这个选项吗?你有例子吗?
  • 看看这个:stackoverflow.com/questions/39480102/… 但是,公共 smtp 服务器不允许这样做。 2:可以放心使用mailkit,MS it self 建议,docs.microsoft.com/en-us/dotnet/api/…,备注栏下
  • 我尝试使用 mailkit 查找示例代码,解决了我的问题,但谷歌还没有答案。
猜你喜欢
  • 2019-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多