当前位置: 首页 > 知识库问答 >
问题:

收件人地址上的PHPMailer字符

西门嘉澍
2023-03-14

在尝试向包含字母“ñ”的收件人地址发送电子邮件时,我在phpmailer上遇到下一个错误,例如:

致命错误:未捕获异常“phpmailerException”,消息“无效地址:lauro.muñ”oz@live.com.mx'

我知道它说这是一个无效的地址,这只是因为它包含字母ñ,使用$mail-

没有任何固定地址都可以。有没有办法使带有ñ的电子邮件地址有效?


共有2个答案

孙项禹
2023-03-14

问题下方的评论表明,您的邮件发送人根本不支持国际化电子邮件地址。如果是这种情况,您可以使用的解决方法是将地址转换为其普通的US-ASCII等效地址。用于此的编码称为punycode。例如:

lauro.muñoz@live.com.mx

... 变成

lauro.xn--muoz-hqa@live.com.mx

...应该是完全一样的邮箱。

免责声明:我从未使用过国际化地址,请彻底测试。

皇甫鸿远
2023-03-14

这些字符似乎不允许作为电子邮件地址“本地部分”的一部分http://en.wikipedia.org/wiki/E-mail_address#Local_part.

 类似资料:
  • 我使用以下代码发送电子邮件使用phpmailer 6: 电子邮件成功地发送到我们公司,但是它总是说它来自email@mydomain.com,这使得员工很难在收件箱中找到特定的电子邮件。在表单中,用户提供了他们的姓名和电子邮件,所以理想情况下,我希望它出现在Outlook中,从John Doe(jdoe@gmail.com)而不是email@mydomain.com发送。 在旧版本的webform

  • 我试图从一个简单的文本文件中获取地址,这样不理解代码的人仍然可以添加/删除或更改地址。 Phpmailer工作完全正常,当我设置一个地址,直接写在代码中,甚至与数组和Foreach。 所以现在我有这个: mail.php: mail.txt: echo确实返回了两个地址,但是var在addAddress()行中似乎不起作用,我得到了一个常见的错误:Mailer error:您必须至少提供一个收件人

  • 我正在尝试从我的Android应用程序发送电子邮件。只需单击一个按钮,gmail就应该打开并显示一封带有我之前定义的收件人、主题和电子邮件正文的新电子邮件。 这是两天的工作方式,但今天,收件人地址没有被复制到gmail地址栏,只有主题和正文被复制。 这是我的代码(我没有更改,与2天前的代码一样):

  • 我使用了带有curl的Gmail API。(users.messages:send) 编码值由以下python脚本创建。