我很难为每个人发送使用并行的电子邮件...万一,代码工作正常,但它不会发送所有电子邮件。它实际上只发送1 ...没有错误并由编译器发送。
MailSender emailHelper = new MailSender(server, serverPort, loginName, password, true);
Parallel.ForEach(File.ReadLines(textBoxListaClientes.Text),
new ParallelOptions { MaxDegreeOfParallelism = 4 },
line =>
{
//NOME CLIENTE;EMAIL
string[] linhaQuebrada = line.Split(';');
emailHelper.Send(loginName, linhaQuebrada[1], assunto, message);
MessageBox.Show("Email send to => " + linhaQuebrada[0]);
});
MessageBox.Show("Done!");
我的文件=>
Name1;email1@example.com
Name2;email2@example.com
Name3;email3@example.com
Name4;email4@example.com
我无法确定我做错了什么......
答案 0 :(得分:0)
除非您运行自己的SMTP服务器,否则没有理由使用Parallel.ForEach()。因为其他电子邮件提供商会限制您的连接数量。他们会认为你正在尝试发送垃圾邮件。
尝试发送一封电子邮件。
如果该电子邮件有效,则删除Parallel.ForEach()并在每条消息之间使用延迟约5秒。发送一百(100)条消息只需要花费超过8分钟。
您的第二选择是使用Email marketing software。