我使用mailto:
从我的应用程序发送电子邮件 Process.Start("mailto:" + emailAddress + "?subject=" + subject + "&body="
+ body);
当我使用少量电子邮件地址(10-20)时,它工作正常,但我用更大的数字(100+)测试它,但有些电子邮件没有被添加到收件人列表中。
我可以通过这种方式添加的电子邮件数量是否有限制?还有,有什么限制?
答案 0 :(得分:2)
如果有限制,则取决于为mailto:
个链接注册的基础电子邮件客户端。
以这种方式发送电子邮件会启动一个新的Windows进程来打开电子邮件发送窗口,通常是Microsoft Outlook。很可能Outlook允许的收件人数量或mailto:string的大小都有限制。
可能的解决方法可能是创建两个或更多电子邮件,每个电子邮件都包含20个或更少的电子邮件地址。
或者,您可能希望浏览System.Mail.SmtpClient
类并考虑直接从您的应用程序发送邮件。参考此处:http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx
答案 1 :(得分:0)
限制是服务器强加的lmiit。如:不,SMTP没有限制,但服务器不喜欢垃圾邮件发送者。保持在20以下是非常安全的,低于10通常完全没问题。
或者重新配置您的服务器。
答案 2 :(得分:0)
这不是C#的问题。我相信你用某些参数开始一个新的进程,所以它取决于电子邮件客户端的限制。它可能是Microsoft支持的标准URL的限制,我相信它是~2053个字符(尝试验证这个)。
修改强>
您可能还想尝试以下方式:
MailMessage mail = new MailMessage();
mail.From = new MailAddress(from);
mail.To.Add(to);
mail.Subject = subject;
mail.Body = body;
// Send Mail
SmtpClient client = new SmtpClient("Server-IP");
client.Send(mail);
答案 3 :(得分:-2)
string Address = "hotline.isp@abc;supportpl.ispit@bcd";
System.Diagnostics.Process.Start("mailto:" + Address + "&subject=Support request&body=Dear Hotline,");