0

無効なメール アドレスにメッセージを送信しましたが、例外は発生しません。すべてが正常であるように動作し、デバッガーではすべてが正常であると表示されます。

private MailService() {
    Properties props = new Properties();
    props.put("mail.transport.protocol", "smtps");
    props.put("mail.smtps.host", HOST);
    props.put("mail.smtps.auth", "true");
    props.put("mail.smtp.from", FROM);
    props.put("mail.smtps.quitwait", "false");

    mailSession = Session.getDefaultInstance(props);
    mailSession.setDebug(true);
}

public static void sendMessage(String recipient, String subject,
        String message) throws MessagingException {

    if (mailService == null) {
        mailService = new MailService();
    }

    MimeMessage mimeMessage = new MimeMessage(mailSession);

    mimeMessage.setFrom(new InternetAddress(FROM));
    mimeMessage.setSender(new InternetAddress(FROM));
    mimeMessage.setSubject(subject);
    mimeMessage.setContent(message, "text/plain");

    mimeMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(recipient));

    Transport transport = mailSession.getTransport("smtps");
    transport.connect(HOST, PORT, USER, PASSWORD);

    transport.sendMessage(mimeMessage,
            mimeMessage.getRecipients(Message.RecipientType.TO));
    transport.close();

}

さまざまなメールアドレスを試しましたが、例外はスローされませんでした。私は何を間違っていますか?

4

2 に答える 2

0

必要なのは、トランスポートインスタンスにアタッチされているTransportListenerです。TransportListener
を追加します。

transport.addTransportListener(new MyTransportListener());

MyTransportListener.java

public class MyTransportListener implements TransportListener{

    @Override
    public void messageDelivered(TransportEvent te) {
        System.out.println("Everything went fine!");
    }

    @Override
    public void messageNotDelivered(TransportEvent te) {
        System.out.println("ERROR: " + te.getMessage());
        Address[] invalidAddresses = te.getInvalidAddresses();
        Address[] validUnsentAddresses = te.getValidUnsentAddresses();
        //make something happen
    }

    @Override
    public void messagePartiallyDelivered(TransportEvent te) {
        messageNotDelivered(te);
    }

}

私はこれを(まだ)試していませんが、これはまさにあなたが必要としているものだと思います...
編集
私は間違っていました、これはあなたの問題を助けません

于 2013-02-11T19:07:08.747 に答える