java mail 1.4_java - 客户端无权发送此发件人| 与JavaMail API 1.4兼容,但与1.4.7兼容 - 堆栈内存溢出...

在使用JavaMail API时,发现在1.4.7版本中,客户端无法使用别名发送邮件,而1.4版本则没有此问题。出现'550 5.7.1 Client does not have permissions to send as this sender'错误。文章讨论了这个问题并提供了1.4版本成功发送邮件的调试日志作为对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我发现了一个类似的问题,并且在发送用户名与姓名不同的电子邮件时遇到了同样的问题。 我的专用交换服务器中的配置已经就绪,可以将用户名标记为发件人名称的别名。

使用Java mail 1.4版本的API时,我可以使用别名发送电子邮件。 但是,如果我使用1.4.7版本,同样会失败。 我认为任何高于1.4的版本都不起作用。 有人遇到过同样的事情吗? 是否有任何安全配置添加到更高版本或需要传递的任何其他参数?

使用JavaMail v1.4.7发生错误时的会话调试日志如下:

DEBUG: setDebug: JavaMail version 1.4.7

DEBUG: getProvider() returning javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle]

DEBUG IMAP: mail.imap.fetchsize: 16384

DEBUG IMAP: mail.imap.ignorebodystructuresize: false

DEBUG IMAP: mail.imap.statuscachetimeout: 1000

DEBUG IMAP: mail.imap.appendbuffersize: -1

DEBUG IMAP: mail.imap.minidletime: 10

DEBUG IMAP: trying to connect to host "Exchange IP", port 143, isSSL false

* OK The Microsoft Exchange IMAP4 service is ready.

A0 CAPABILITY

* CAPABILITY IMAP4 IMAP4rev1 AUTH=NTLM AUTH=GSSAPI AUTH=PLAIN STARTTLS UIDPLUS CHILDREN IDLE NAMESPACE LITERAL+

A0 OK CAPABILITY completed.

DEBUG IMAP: AUTH: NTLM

DEBUG IMAP: AUTH: GSSAPI

DEBUG IMAP: AUTH: PLAIN

DEBUG IMAP: protocolConnect login, host=Exchange IP, user=diffUser, password=

DEBUG IMAP: AUTHENTICATE PLAIN command trace suppressed

DEBUG IMAP: AUTHENTICATE PLAIN command result: A1 OK AUTHENTICATE completed.

A2 CAPABILITY

* CAPABILITY IMAP4 IMAP4rev1 AUTH=NTLM AUTH=GSSAPI AUTH=PLAIN STARTTLS UIDPLUS CHILDREN IDLE NAMESPACE LITERAL+

A2 OK CAPABILITY completed.

DEBUG IMAP: AUTH: NTLM

DEBUG IMAP: AUTH: GSSAPI

DEBUG IMAP: AUTH: PLAIN

DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]

DEBUG SMTP: useEhlo true, useAuth true

DEBUG SMTP: useEhlo true, useAuth true

DEBUG SMTP: trying to connect to host "Exchange IP", port 25, isSSL false

220 EXC001-ABC.mycompany.org Microsoft ESMTP MAIL Service ready at Mon, 8 Jul 2019 16:49:59 +0100

DEBUG SMTP: connected to host "Exchange IP", port: 25

EHLO SCCM-10C.mycompany.org

250-EXC001-ABC.mycompany.org Hello [Machine IP]

250-SIZE 20971520

250-PIPELINING

250-DSN

250-ENHANCEDSTATUSCODES

250-STARTTLS

250-AUTH LOGIN

250-8BITMIME

250-BINARYMIME

250 CHUNKING

DEBUG SMTP: Found extension "SIZE", arg "20971520"

DEBUG SMTP: Found extension "PIPELINING", arg ""

DEBUG SMTP: Found extension "DSN", arg ""

DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""

DEBUG SMTP: Found extension "STARTTLS", arg ""

DEBUG SMTP: Found extension "AUTH", arg "LOGIN"

DEBUG SMTP: Found extension "8BITMIME", arg ""

DEBUG SMTP: Found extension "BINARYMIME", arg ""

DEBUG SMTP: Found extension "CHUNKING", arg ""

DEBUG SMTP: Attempt to authenticate using mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM

DEBUG SMTP: AUTH LOGIN command trace suppressed

DEBUG SMTP: AUTH LOGIN succeeded

DEBUG SMTP: use8bit false

MAIL FROM:

250 2.1.0 Sender OK

RCPT TO:

250 2.1.5 Recipient OK

DEBUG SMTP: Verified Addresses

DEBUG SMTP: to@diffcompany.org

DATA

354 Start mail input; end with .

From: from@company.org

To: to@diffcompany.org

Message-ID: <1308244637.0.1562600999518.JavaMail.Sam-adm@SCCM-10C>

Subject: This is the Subject Line!

MIME-Version: 1.0

Content-Type: text/plain; charset=us-ascii

Content-Transfer-Encoding: 7bit

This is actual message

.

550 5.7.1 Client does not have permissions to send as this sender

DEBUG SMTP: got response code 550, with response: 550 5.7.1 Client does not have permissions to send as this sender

RSET

250 2.0.0 Resetting

DEBUG SMTP: MessagingException while sending, THROW:

com.sun.mail.smtp.SMTPSendFailedException: 550 5.7.1 Client does not have permissions to send as this sender

at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2108)

at com.sun.mail.smtp.SMTPTransport.finishData(SMTPTransport.java:1889)

at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1120)

at javax.mail.Transport.send0(Transport.java:195)

at javax.mail.Transport.send(Transport.java:124)

at SendEmail.getExchangeStore(SendEmail.java:141)

at SendEmail.main(SendEmail.java:14)

QUIT

221 2.0.0 Service closing transmission channel

com.sun.mail.smtp.SMTPSendFailedException: 550 5.7.1 Client does not have permissions to send as this sender

JavaMail v1.4的工作示例的调试日志

DEBUG: setDebug: JavaMail version 1.4ea

DEBUG: getProvider() returning javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc]

DEBUG: mail.imap.fetchsize: 16384

* OK The Microsoft Exchange IMAP4 service is ready.

A0 CAPABILITY

* CAPABILITY IMAP4 IMAP4rev1 AUTH=NTLM AUTH=GSSAPI AUTH=PLAIN STARTTLS UIDPLUS CHILDREN IDLE NAMESPACE LITERAL+

A0 OK CAPABILITY completed.

IMAP DEBUG: AUTH: NTLM

IMAP DEBUG: AUTH: GSSAPI

IMAP DEBUG: AUTH: PLAIN

DEBUG: protocolConnect login, host=Exchange IP, user=diffUser, password=

A1 AUTHENTICATE PLAIN

+

A1 OK AUTHENTICATE completed.

DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]

DEBUG SMTP: useEhlo true, useAuth false

DEBUG SMTP: trying to connect to host "Exchange IP", port 25, isSSL false

220 EXC001-ABC.mycompany.org Microsoft ESMTP MAIL Service ready at Mon, 8 Jul 2019 16:55:59 +0100

DEBUG SMTP: connected to host "Exchange IP", port: 25

EHLO SCCM-10C.mycompany.org

250-EXC001-ABC.mycompany.org Hello [Machine IP]

250-SIZE 20971520

250-PIPELINING

250-DSN

250-ENHANCEDSTATUSCODES

250-STARTTLS

250-AUTH LOGIN

250-8BITMIME

250-BINARYMIME

250 CHUNKING

DEBUG SMTP: Found extension "SIZE", arg "20971520"

DEBUG SMTP: Found extension "PIPELINING", arg ""

DEBUG SMTP: Found extension "DSN", arg ""

DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""

DEBUG SMTP: Found extension "STARTTLS", arg ""

DEBUG SMTP: Found extension "AUTH", arg "LOGIN"

DEBUG SMTP: Found extension "8BITMIME", arg ""

DEBUG SMTP: Found extension "BINARYMIME", arg ""

DEBUG SMTP: Found extension "CHUNKING", arg ""

DEBUG SMTP: use8bit false

MAIL FROM:

250 2.1.0 Sender OK

RCPT TO:

250 2.1.5 Recipient OK

DEBUG SMTP: Verified Addresses

DEBUG SMTP: to@diffcompany.org

DATA

354 Start mail input; end with .

From: from@company.org

To: to@diffcompany.org

Message-ID: <548246552.01562601360722.JavaMail.Sam-adm@SCCM-10C.mycompany.org>

Subject: This is the Subject Line!

MIME-Version: 1.0

Content-Type: text/plain; charset=us-ascii

Content-Transfer-Encoding: 7bit

This is actual message

.

250 2.6.0 <548246552.01562601360722.JavaMail.Sam-adm@SCCM-10C.mycompany.org> [InternalId=344885] Queued mail for delivery

QUIT

221 2.0.0 Service closing transmission channel

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值