- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个使用 System.Net.Mail
的电子邮件作业
电子邮件被发送到一个文件夹,并运行一个作业以在一天中的指定时间将文件复制到我们 Exchange 服务器上的 Pickup 文件夹。使用密件抄送字段将电子邮件的副本发送到内部邮箱。
有一个 known issue,其中 Bcc
属性不会添加到使用 Exchange 的 Pickup 文件夹发送的电子邮件中,因此解决方法是将 Bcc 字段直接添加到邮件 header ,但是这从 2012 年 7 月 28 日起停止工作。
' BCC doesn't work when sent internally using the Pickup folder,
' so need to add to message headers instead
'message.Bcc.Add(New MailAddress("internalMailbox@mydomain.com"))
message.Headers.Add("Bcc", "internalMailbox@mydomain.com")
Dim smtp = New SmtpClient(exchangeServer)
smtp.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory
smtp.PickupDirectoryLocation = temporaryEmailFolder
smtp.Send(message)
Microsoft 是否更改了 Exchange 中的某些内容,使电子邮件 header 中的密件抄送地址也不再有效?或者还有其他解决方法吗?
我尝试切换到 System.Web.Mail
,但无法将邮件传送到文件夹。
我们在 Windows Server 2008 R2 Standard 机器上使用 Exchange 2010
编辑:
那天安装了一大堆更新。我猜其中一个是导致这个问题的原因,但是它们的列表很多而且进展缓慢。任何人都知道与未通过以下更新处理密件抄送邮件 header 相关的任何已知问题吗?
或者有没有人知道一种更简单的方法来检查更新做了什么,以及这些更新是否导致了这个特定问题?
最佳答案
我不知道是哪个更新导致了这个问题,也没有时间一次卸载一个更新来解决问题,所以找到了一个替代方案。
我注意到使用我当前的代码,标题信息根本不再添加到电子邮件中,但是将地址添加为 Bcc 仍然会在邮件标题中创建第二行 X-Receiver
(当您将邮件放入 Pickup 文件夹时,Exchange 会忽略它),所以我编写了一个脚本,它简单地循环遍历传递文件夹中的电子邮件,并将第二个 X-Receiver
行替换为 改为密件抄送
。
' This no longer adds Bcc to message header for whatever reason
'message.Headers.Add("Bcc", "bccRecipient@mydomain.com")
message.Bcc.Add(New MailAddress("bccRecipient@mydomain.com"))
...
Dim content As String
Dim regex As Regex = New Regex("(X-Receiver:.*?\n)(X-Receiver:)")
' Replace of the 2nd instance of "X-Receiver:" with "Bcc:"
For Each fileName As String In Directory.GetFiles(EMAIL_DELIVERY_FOLDER)
content = File.ReadAllText(fileName)
content = regex.Replace(content, "$1Bcc:", 1)
File.WriteAllText(fileName, content)
Next
这改变了邮件标题
X-Sender: "Test"
<sender@mydomain.com>
X-Receiver: receipient@mydomain.com
X-Receiver: bccRecipient@mydomain.com
MIME-Version: 1.0
到
X-Sender: "Test"
<sender@mydomain.com>
X-Receiver: receipient@mydomain.com
Bcc: bccRecipient@mydomain.com
MIME-Version: 1.0
当 .eml 邮件被放入 Exchange 的 Pickup 文件夹时,它会正确地将电子邮件的密件发送到指定的 Bcc 地址
关于vb.net - 为什么在使用 SmtpDeliveryMethod.SpecifiedPickupDirectory 时,电子邮件上的密件抄送邮件 header 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12389060/
在我的代码中,我从 smtp 服务器发送邮件。我使用代码片段 - SmtpClient client = new SmtpClient(); client.DeliveryMethod = SmtpD
在 2010 年(当时我们仍在使用 Net 2.0),我们遇到了一个问题,即在将 SmtpDeliveryMethod.SpecifiedPickupDirectory 与 SmtpClient 一起
我们有一个使用 System.Net.Mail 的电子邮件作业 电子邮件被发送到一个文件夹,并运行一个作业以在一天中的指定时间将文件复制到我们 Exchange 服务器上的 Pickup 文件夹。使用
我是一名优秀的程序员,十分优秀!