gpt4 book ai didi

java - Wildfly Mail-Session 始终使用本地主机

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:24:21 25 4
gpt4 key购买 nike

我正在尝试使用 Gmail 在 Wildfly 8.1 上设置一些简单的邮件服务(用于测试)。
出于某种原因,每次我传输邮件时,Wildfly 都会尝试连接到 localhost 而不是分配的 outbound-socket!

错误:

13:22:34,164 ERROR [stderr] (default task-22) com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeout -1;
13:22:34,164 ERROR [stderr] (default task-22) nested exception is:
13:22:34,165 ERROR [stderr] (default task-22) java.net.ConnectException: Connection refused: connect
13:22:34,165 ERROR [stderr] (default task-22) at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1984)

独立.xml

...
<mail-session name="java:jboss/mail/gmail" debug="true" jndi-name="java:jboss/mail/gmail">
<smtp-server outbound-socket-binding-ref="mail-smtp" ssl="true" username="user@gmail.com" password="pass"/>
</mail-session>
...
<outbound-socket-binding name="mail-smtp">
<remote-destination host="smtp.gmail.com" port="465"/>
</outbound-socket-binding>

然后我就尝试发送一封邮件:

@Stateless
public class SendMail {

@Resource(mappedName = "java:jboss/mail/gmail")
private Session mailSession;

public String send() {
MimeMessage m = new MimeMessage(mailSession);
try {
m.setRecipients(Message.RecipientType.TO, "test@mail.com");
m.setContent("Test from Wildfly","text/plain");
Transport.send(m);//throws exception
} catch (MessagingException e) {
e.printStackTrace();
}
...

我已经在 @Resource 注释中尝试了“name”和“lookup”,但它一直想连接到 localhost,甚至没有 outbound-socket

我错过了什么?

最佳答案

我遇到了同样的问题,但在应用新的 Java Mail 设置后,WildFly 似乎只需要重新加载。尝试重新启动 WildFly,它应该会使用您的新设置。

关于java - Wildfly Mail-Session 始终使用本地主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24097007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com