来自 "abc@deg-.com"等地址的 javax.mail 无法正常工作

标签 java jakarta-mail

我正在使用 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/

相关文章:

java - 如何在 Java 中过滤数组?

java - Robotframework - 将复制的 Python 库的语法错误修复到使用 Maven robotsframework 插件的 Maven 项目的简单方法

java - 将字符串写入文件中的特定位置

Java 邮件 (TLS) : Erratic failure to validate certification path

android - 如何在我的 Android 电子邮件应用程序中处理 CSS 代码?

java - 在单行 SWT 文本小部件中设置选项卡大小

java - 奇怪的 Java 问题 : can find one file with short filepath but cannot find another

java - 我正在努力在远程服务器中发送电子邮件,但它在本地工作,在远程服务器中抛出 'AuthenticationFailedException'

JavaMail setDebug(真)

spring-boot - 使用java电子邮件获取交货并发送收据