Ответ 1
Я думаю, что если вы закомментируете всю строку emailMessage.To.Add(sendTo);
, она отправит электронное письмо с полем To
пустым.
Я пытаюсь использовать класс System.Net.Mail.MailMessage
в С# для создания электронной почты, которая отправляется в список адресов электронной почты через BCC
. Я не хочу включать адрес TO
, но мне кажется, что я должен, потому что получаю исключение, если я использую пустую строку для адреса TO
в конструкторе MailMessage
. Ошибка:
ArgumentException
The parameter 'addresses' cannot be an empty string.
Parameter name: addresses
Конечно, можно отправить электронное письмо, используя только BCC
, поскольку это не является ограничением SMTP.
Есть ли способ обойти это?
Я думаю, что если вы закомментируете всю строку emailMessage.To.Add(sendTo);
, она отправит электронное письмо с полем To
пустым.
Сделайте то же самое, что и для внутренних писем, когда вы не хотите, чтобы люди все время отвечали друг другу.
Отправьте его в самостоятельно (или фиктивную учетную запись), затем добавьте свой список BCC.
Вы должны включить адрес TO. Просто отправьте его на "нежелательный" адрес электронной почты, на который вы не против получать почту.
Это даже не обязательно настоящий адрес электронной почты, я обычно использую [email protected]
для TO
и [email protected]
для FROM
.
Просто не вызывайте Add-метод для свойства To.
Должен иметь адрес. Это было так, поскольку исходный sendmail в 80-х годах и все почтовые программы SMTP, я знаю, имеют такое же требование. Вы можете использовать только фиктивный адрес.
Вы можете использовать временный поддельный адрес, а затем удалить его сразу после:
MailMessage msg = new MailMessage(from, "[email protected]");
msg.To.Clear();
foreach (string email in bcc.Split(';').Select(x => x.Trim()).Where(x => x != ""))
{
msg.Bcc.Add(email);
}