BCC никогда не отправляется из Exchange 2007 с использованием SpecifiedPickupDirectory - PullRequest
1 голос
/ 10 марта 2009

Я использую каталог раскладки Exchange 2007 для отправки электронных писем из моего приложения ASP.NET с System.Net.Mail.SmtpClient. Таким образом я использую SmtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory. Он отправляет электронные письма нормально, но потом я заметил, что BCC не работает вообще. Файл, помещаемый в папку раскладки, кажется, имеет правильные настройки, но Exchange игнорирует список X-Receiver. Вот пример создаваемого файла EML:

X-Sender: "Joe" <joe@example.com>
X-Receiver: david@example.com
X-Receiver: contact@example.com
X-Receiver: lindsey@example.com
MIME-Version: 1.0
From: "Joe" <joe@example.com>
To: david@example.com
Date: 10 Mar 2009 9:32:27 -0500
Subject: Test Message
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: quoted-printable

<p>Test Message</p>

contact @ и lindsey @ являются получателями BCC. Когда я использую сетевую отправку, все работает нормально. BCC перестает работать только с каталогом раскладки. Итак, вы знаете, я использую Windows Server 2008 и ASP.NET 3.5 / C #.

Обход

Кажется, что Exchange 2007 игнорирует X-Receiver и ожидает увидеть Bcc: вместо этого. Поэтому я прибег к выполнению mailMessage.Headers.Add ("Bcc", bccList), где bccList - это список адресов электронной почты, разделенных точкой с запятой Это прекрасно работает.

Но, как указал Chase Seibert, если вы посмотрите на заголовок сообщения в почтовом клиенте, вы все равно увидите все перечисленные X-Receivers. Хотя скрытая копия скрыта от получателей. Таким образом, вы получаете эффект скрытой копии с возможностью того, что кто-то откроет сообщение и увидит все скрытые копии. Я думаю, что лучший способ подавить список X-Receivers - не включать ничего в свойство mailMessage.Bcc.

1 Ответ

1 голос
/ 11 марта 2009

Это определенно работает в Windows 2003 Server с только реализацией MS SMTP, которая поставляется с ОС. Насколько я понимаю, Exchange использует ту же службу для отправки.

Хотя это может и не ответить на ваш вопрос, я хотел заметить, что у метода Pickup есть недостаток, о котором вы можете не знать. Обычно MS SMTP удаляет заголовки BCC и X-Recipient из EML во время входящей передачи .

Когда вы помещаете EML в пикап, вы пропускаете этот шаг. Таким образом, удаленные получатели действительно смогут ВИДЕТЬ получателей BCC, если они посмотрят на заголовок письма. Попробуйте отправить письмо на учетную запись Gmail и BCC кому-то еще. Если вы просматриваете заголовок в Gmail, вы увидите получателя BCC.

Я бы порекомендовал использовать SMTP для передачи этого сообщения.

...