小编Jua*_*uan的帖子

通过 JavaMail 发送邮件时 Message-Id 被替换

我试图找到一个解决方案,希望运气好,所以我决定将其发布在这里。

问题是,当我使用 javaMail 发送消息时,它会自动生成一个消息 ID(我将其存储到数据库中,然后识别对此消息的回复),但当消息发送时,由于某种原因,smpt 服务器会更改它。已发送,因此我无法追踪与此消息相关的任何内容。

例如

我首先通过 gmail 向与我的邮件客户端同步的帐户之一发送一条消息,然后我使用我的消息客户端检查该消息,一切正常,Message-Id 是

<CAPDSfCN1qPAhBCRmFK-zwP=MM=KjgpYuvhVRFAPwz1PjOqtnFA@mail.gmail.com>

然后我通过我的消息客户端发送此消息的回复,javaMail 生成的 id 是

<1907960987.0.1322086080735.JavaMail.root@smtp.live.com>

最后,当我去检查我的电子邮件帐户中的回复时,它的标题中有以下值

Message-ID: <BLU0-SMTP33091BE2B32A7F46E370665C2C90@phx.gbl>失败

In-Reply-To: <CAPDSfCN1qPAhBCRmFK-zwP=MM=KjgpYuvhVRFAPwz1PjOqtnFA@mail.gmail.com>好的

正如你所看到的,消息 ID 已更改,我希望它是

<1907960987.0.1322086080735.JavaMail.root@smtp.live.com>

为什么会发生这种情况?

我很感激任何帮助

谢谢你们

- 编辑

根据建议,我使用 javaMail 中的 smtpsend demo 进行了测试(我实现了 MimeMessage 的子类来生成我自己的 Message-Id)。

java -jar -Dmail.smtp.starttls.enable=true -Dmail.smtp.port=587 SMTPSend.jar -d -M smtp.live.com -U myaccount@hotmail.com -P mypass -o myaccount@hotmail.com -A anotheraccount@gmail.com

发送消息时,在 smtpsend 输出之间,生成了 Message-Id

<60eea6ae-2657-41bd-b475-3a57eff885ac@mydomain.com>

但是,当我去 anotheraccount@gmail.com 上查看此消息时,消息 ID 有所不同

<BLU0-SMTP109215E6BB99B93FC106B1E88B00@phx.gbl>

为什么它会动态更改我的消息 ID...我不明白

--编辑2

我注意到,当我从 Hotmail 帐户发送邮件时,问题现在就发生了,当我从 gmail 帐户发送邮件时,消息 ID 不再改变(我认为实现我自己的消息 ID …

message sendmail jakarta-mail

5
推荐指数
1
解决办法
7081
查看次数

如何在GUI中为glassfish 4中的MySQL连接池设置空密码?

我无法从glassfish 4中的GUI为MySQL连接池设置一个空密码.在以前版本的glassfish中,它过去通过简单地将"()"放在没有引号的情况下工作.它在glassfish 4中不再适用于我.

顺便说一句,我一直在谷歌上搜索我的问题.

有谁知道在glassfish 4中这样做的正确方法是什么?

在此先感谢您的支持

问候

passwords connection-pooling glassfish-4

5
推荐指数
1
解决办法
2400
查看次数