来自“abc@deg-.com”等地址的javax.mail无效

时间:2014-03-11 12:43:09

标签: java javamail

我使用的是javax.mail.1.4.4,我已经从地址设置为

**MimeMessage mime = new MimeMessage(session)
mime.from = new InternetAddress(msg.fromAddress)**

当我尝试fromaddress为" abc@deg-.com"它将发送以下错误。

    **MAIL FROM:<abc@deg-.com>
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**

在其他情况下,如&#34; abc@def.com"它运作正常。

任何人都知道如何允许邮件地址如&#34; abc@deg-.com"?

1 个答案:

答案 0 :(得分:2)

deg-.com不是有效的域名,这可能是您的邮件服务器似乎拒绝它的原因。根据{{​​3}},域名只能是格式

<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无关,这样的域名不应该存在。