Mailto收件人限制

时间:2011-10-04 11:40:07

标签: mailto

我使用mailto:

从我的应用程序发送电子邮件
 Process.Start("mailto:" + emailAddress + "?subject=" + subject + "&body=" 
                        + body);

当我使用少量电子邮件地址(10-20)时,它工作正常,但我用更大的数字(100+)测试它,但有些电子邮件没有被添加到收件人列表中。

我可以通过这种方式添加的电子邮件数量是否有限制?还有,有什么限制?

4 个答案:

答案 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,");