Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javax.mail发自类似“的地址”;abc@deg-.com“;不起作用_Java_Jakarta Mail - Fatal编程技术网

javax.mail发自类似“的地址”;abc@deg-.com“;不起作用

javax.mail发自类似“的地址”;abc@deg-.com“;不起作用,java,jakarta-mail,Java,Jakarta Mail,我使用的是javax.mail.1.4.4,我已经将from address设置为 **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 syn

我使用的是javax.mail.1.4.4,我已经将from address设置为

**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**
**来自以下地址的邮件:
501 5.1.7错误的发件人地址语法
调试SMTP:获取响应代码501,响应:501 5.1.7错误的发件人地址语法
RSET
250 2.0.0正常
发送时调试SMTP:MessaginException**
在其他情况下,比如“abc@def.com“它工作正常


有人知道如何允许邮件地址,比如“abc@deg-.com“?

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

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

这看起来更像是SMTP服务器在抱怨,而不是JavaMail。如果服务器允许它(这可能不是一个好主意,取决于可接受的邮件地址),那么JavaMail也可能允许它。域名部分不能以破折号结尾。