4

Wildfly 8.1Gmailで簡単なメールサービスをセットアップしようとしています(テスト用)。
何らかの理由で、メールを転送するたびに、Wildflylocalhostは割り当てられた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();
    }
...

name注釈で " " & " lookup"を試しましたが、. さえない に@Resource接続したいだけです。localhostoutbound-socket

私は何が欠けていますか?

4

4 に答える 4

1

私は同じ問題に直面していましたが、新しい Java Mail 設定が適用された後、WildFly をリロードする必要があるようです。WildFly を再起動してみてください。新しい設定が使用されます。

于 2014-10-01T19:59:50.343 に答える
0

同じ問題に直面したので、私の経験を追加するだけです。再起動の理由は、Session属性がnullであり、その場で変更している場合は、サーバーを再起動してstandalone.xml構成ファイルをリロードする必要があるためです。

私の場合はfinal属性を使ったテストクラスを使っていたので、リソースインジェクションが使い物にならず、削除するだけで解決しました。

ところで、ステートレス EJB を使用しているため、電子メールの送信時に非同期表記の使用を検討することをお勧めします。:)

于 2015-04-22T20:06:39.697 に答える
0

間違ったポートを使用しています。ポート 465 または 587 である必要があります。まだポート 25 を使用しています (エラー メッセージから)

于 2014-08-28T02:01:30.873 に答える