gpt4 book ai didi

c# - SmtpClient : Bcc ignored when using SmtpDeliveryMethod. SpecifiedPickupDirectory

转载 作者:太空宇宙 更新时间:2023-11-03 13:40:25 24 4
gpt4 key购买 nike

在 2010 年(当时我们仍在使用 Net 2.0),我们遇到了一个问题,即在将 SmtpDeliveryMethod.SpecifiedPickupDirectory 与 SmtpClient 一起使用时,邮件没有发送给 Bcc 收件人。

在网上搜索后(linklink),我做了以下解决方法:

if (message.Bcc.Count > 0)
{
System.Text.StringBuilder bcc = new System.Text.StringBuilder();
for (int i = 0; i < message.Bcc.Count; i++)
{
bcc.Append(message.Bcc[i].Address);
bcc.Append(";");
}
message.Headers.Add("Bcc", bcc.ToString());
message.Bcc.Clear();
}

System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient();
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.SpecifiedPickupDirectory;
smtp.PickupDirectoryLocation = PickupDir;
smtp.Send(message);

此解决方法的副作用是密件抄送收件人在发送邮件的 header 中可见,但在我们的案例中这不是问题,因为密件抄送用于记录目的。

几天前我们切换到 Net 4.0(终于),问题又出现了。我尝试删除解决方法,但也无济于事。

切换到 SmtpDeliveryMethod.Network 不是解决方案,因为在发送邮件时发送方法会阻塞并让用户等待(取决于邮件服务器负载)不是一个选项。发送邮件异步也不是一种选择,因为当发送失败或进程崩溃时邮件会丢失。

我似乎无法在网上找到解决此问题的方法,所以有人有任何想法吗?

最佳答案

这在 .Net 4.0 中不起作用。但这不是 Bug,它就是这样设计的。看看这个link

似乎 .Net 3.5 中存在一个错误,可以实现您正在寻找的行为。

关于c# - SmtpClient : Bcc ignored when using SmtpDeliveryMethod. SpecifiedPickupDirectory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17230402/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com