我运行了一个订阅的网站管理员列表,最近已迁移到PHPMailer。 我的phpmailer脚本运行正常。它从我的mysql数据库获取值并向他们发送电子邮件,但有时我得到邮件程序错误:您必须提供至少一个收件人电子邮件地址。
经过一些测试后,我发现当完整的电子邮件地址超过 82个字符 时会显示错误。
如您所知,使用seo微小网站的网站管理员的电子邮件地址可以为我提供超过82个字符的地址,因为他们的域名很长。
有没有可以改变的设置?我不知道为什么它有限,如果82个字符少于256个字符允许任何电子邮件地址。
有任何帮助吗?我搜索了谷歌和堆栈溢出的回复,但没有找到。
非常感谢你。
答案 0 :(得分:1)
在尝试发送之前,您可以尝试使用PHPMailer的validateAddress()
方法,但是当您拨打addAddress()
时,无论如何都会在内部使用。
单元测试包含测试许多极端情况的a long list of valid and invalid addresses。
我猜你没有遇到整体限制,而是域名中的下限。虽然整个地址可以是255个字符,但其中的元素具有较低的限制,例如域中的每个标签(例如example
中的com
和example.com
)具有63个字符的限制。 82个字符听起来像这个限制加上一些其他位,比如user@<somethingover63charslong>.com
。如果这就像你拥有的地址一样,那就是运气不好;您不能使用无效地址并希望它们能够正常工作。这是问题所在的地址。