java - WildFly 9 发送邮件两次

标签 java jboss jakarta-mail wildfly ejb-3.1

我有点小麻烦。
我在 wildfly 9 上配置了邮件 session 。

    <subsystem xmlns="urn:jboss:domain:mail:2.0">
        <mail-session name="AppSrvMail" jndi-name="java:jboss/mail/AppSrvMail">
            <smtp-server outbound-socket-binding-ref="mail-smtp" ssl="false" username="app-srv@example.com" password="example"/>
        </mail-session>
    </subsystem>

...

    <outbound-socket-binding name="mail-smtp">
        <remote-destination host="host.example.com" port="25"/>
    </outbound-socket-binding>

然后我注入(inject)无状态 bean 资源:

@Resource(name = "java:jboss/mail/AppSrvMail")
private Session session;

和方法:

@Override
public void send(String address, String topic, String textMessage) {
    try {
        Message message = new MimeMessage(session);
        message.setFrom(new InternetAddress("app-srv@example.com"));
        Address toAddress = new InternetAddress(address);
        message.addRecipient(Message.RecipientType.TO, toAddress);
        message.setSubject(topic);
        message.setContent(textMessage, CONTENT_TYPE_HTML);
        Transport.send(message);

        Transport.send(message);

    } catch (MessagingException e) {
        LOG.log("Cannot send mail", e);
    }
}

在那之后好了,代码可以工作了,但是我发送的所有接收者都有双重信息。没错,wilfly 将同一封电子邮件发送两次。
如果我将此帐户连接到客户端(例如,linux 中的 evolution 客户端)并发送消息 - 接收方收到一条消息,没关系。 有人知道这是怎么回事吗?
请帮帮我。

最佳答案

您的 send() 方法包含重复的行:

Transport.send(message);

关于java - WildFly 9 发送邮件两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33421785/

相关文章:

java - 无法在 Jboss EAP7 EAP 中上传我的 Web 应用程序

java - 锁定时的 EJB 3.1 身份验证

java - 为什么我无法使用 WildFly 中的 WEB-INF/classes 中的 getResourceAsStream 读取属性文件?

java - 如何使用 javax.mail 库将 byte[] 转换为消息

java - 如何从java打开outlook邮件,并使用html代码预先填充正文

java - 绘制随机圆圈,将其坐标存储在数组中

java - 使用 junit 进行多实例测试

java - 在 Quartz 内发送邮件时 java.net.URI$Parser.parse() 中的 Grails NPE

java - 如何在输入文本中显示数据库中的值?

javax.servlet.ServletException : java. lang.NoSuchMethodError :com. voxmobili.sync.mapping.BMntMapping.checkVersion()Z