Привет
Я пытаюсь отправить по электронной почте несколько адресов
я сделал это с помощью System.Net.Mail
Проблема заключается в том, что мне нужно сделать сообщение электронной почты различено для каждого получателя
, потому что мне нужно поместить ссылку в электронном письме, которое содержит идентификатор этого пользователя, проблема
большого числа получателей, что я не могу использовать цикл для вызова отправки функции для каждого usesr
: for (int i=0;i<count;i++)
{moify message(msg);
client.Send(msg);}
благодаритя могу отправить несколько адресов электронной почты для множественного получателя в C#
0
A
ответ
0
Вы можете добавить получателей непосредственно в MailMessage так:
MailMessage message = new MailMessage();
for (int i = 0; i < count; i++)
{
message.To.Add("email");
}
SmtpClient client = new SmtpClient();
client.Send(message);
Вы также можете добавить получателей в одну строку, разделяющей письма с запятой.
Затем вы можете отправить только одну MailMessage.
1
Вы отправляете несколько писем, поэтому я не верю, что то, что вы хотите достичь, возможно. Возможно, вы можете попробовать отправить их асинхронно, поэтому вам не придется ждать.
код будет что-то вроде этого
foreach (var message in messages)
{
var mail = new MailMessage("from", "to");
ThreadPool.QueueUserWorkItem(x => client.Send(mail));
}
Я не уверен, что если SmtpClient поддерживает отправку нескольких писем сразу, если это так, вам нужно будет иметь несколько SmtpClients и отправить через тот, который неактивно
надеюсь, что это поможет
Да, я уже это сделал; проблема заключается в том, чтобы изменить сообщение против каждого получателя – Abd
Извините, я не внимательно прочитал вопрос. Ну, в таком случае, я думаю, вы должны отправить другое сообщение для каждого человека. Почему вы не можете использовать цикл? –
Функция отправки занимает много времени для отправки письма кому-либо, если я использую цикл, он будет открывать соединение каждый раз – Abd