Почему SMTP-адаптер BizTalk 2009 не поддерживает BCC и приоритет?
-
12-09-2019 - |
Вопрос
Когда смотришь на http://msdn.microsoft.com/en-us/library/aa560648(BTS.10).aspx Я не смог найти BCC или Priority, поэтому уверен, что они не поддерживаются.
Но почему ?
Решение
Для почему BCC и Priority отсутствуют в адаптере SMTP, боюсь, понятия не имею - они отсутствуют в BizTalk с момента первого выпуска продукта.Вам, вероятно, придется спросить команду разработчиков BizTalk, и я думаю, они просто пожмут плечами.
Однако есть несколько обходных путей, которые можно добавить в BCC и приоритет.
Первый обходной путь — это полный хак, но его можно быстро реализовать — отправьте два электронных письма, а вторым — ваш список скрытых копий, в котором упоминается, что это BCC.Уродливый и обязательно вернется и укусит тебя.(это работает только для приоритета)
Второй способ более правильный но еще и дополнительная работа — создайте свой собственный SMTP-адаптер, поддерживающий эти свойства.А System.Net.Mail
Пространство имен содержит все, что вам нужно для создания собственного адаптера, поддерживающего BCC.
Пример кода ниже взят из MSDN:
MailAddress from = new MailAddress("ben@contoso.com", "Ben Miller");
MailAddress to = new MailAddress("jane@contoso.com", "Jane Clayton");
MailMessage message = new MailMessage(from, to);
message.Subject = "Using the SmtpClient class.";
message.Body = @"The body test to send.";
message.Priority = MailPriority.High;
MailAddress bcc = new MailAddress("manager1@contoso.com");
message.Bcc.Add(bcc);
SmtpClient client = new SmtpClient(server);
client.Send(message);
Вы могли бы даже избежать накладных расходов на адаптер и реализовать это как ссылочную сборку — недостатком такого подхода является то, что при использовании адаптера вы автоматически подключаетесь к платформе обмена сообщениями BizTalk и ее функциям, таким как отслеживание.