我正在使用 javax.mail.1.4.4 并且我已将地址设置为
**MimeMessage mime = new MimeMessage(session)
mime.from = new InternetAddress(msg.fromAddress)**
当我尝试将 fromaddress 作为“[email protected]”时,它将发送以下错误。
**MAIL FROM:<<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3a5b58597a5e5f5d1714595557" rel="noreferrer noopener nofollow">[email protected]</a>>
501 5.1.7 Bad sender address syntax
DEBUG SMTP: got response code 501, with response: 501 5.1.7 Bad sender address syntax
RSET
250 2.0.0 Ok
DEBUG SMTP: MessagingException while sending**
在其他情况下,例如“[email protected] ”,它可以正常工作。
任何人都知道如何允许像“[email protected]”这样的邮件地址吗?
最佳答案
deg-.com 不是有效的域名,这可能就是您的邮件服务器似乎拒绝它的原因。根据rfc-1034 ,域名只能是格式
<domain> ::= <subdomain> | " "
<subdomain> ::= <label> | <subdomain> "." <label>
<label> ::= <letter> [ [ <ldh-str> ] <let-dig> ]
<ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
<let-dig-hyp> ::= <let-dig> | "-"
<let-dig> ::= <letter> | <digit>
所以域名的最后一个字符(不包括tld)不能是-
,只能是字母或数字。
与javax.mail无关,这样的域名不应该存在。
关于来自 "abc@deg-.com"等地址的 javax.mail 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22326109/