###前提・実現したいこと
入力されたアドレスに対して、メールを送るプログラムを作成している。
存在しないメールアドレスが入力された場合は、メールの送信ができないようにしたい。
###発生している問題・エラーメッセージ
存在しないであろうメールアドレスにもメールが送信されてしまい、メール送信後に送信元として利用しているアドレスにMailer Daemonの通知が届く。
###該当のソースコード
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SendMail {
public boolean sendMail(String address) { ※addressに送信先メールアドレスが代入されている。 Authenticator auth = new MailAuthenticator(); //セッション情報の作成 Properties properties = new Properties(); //ホスト設定 properties.setProperty("mail.smtp.host","smtp.gmail.com"); properties.setProperty("mail.smtp.port","465"); //smtp関連の設定 properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); properties.setProperty("mail.smtp.socketFactory.fallback", "false"); properties.setProperty("mail.smtp.socketFactory.port", "465"); //タイムアウトの設定 properties.setProperty("mail.smtp.connectiontimeout", "50000"); properties.setProperty("mail.smtp.timeout", "50000"); //メール送信ログを出力 properties.setProperty("mail.debug", "true"); //認証を有効にする properties.setProperty("mail.smtp.auth", "true"); //セッションの作成 //認証情報がいらない場合はpropertiesのみの引数でgetinstanceできる Session session = Session.getInstance(properties, auth); //メッセージ作成 MimeMessage mimeMessage = new MimeMessage(session); try { //宛先の設定 InternetAddress[] toAddress = new InternetAddress[1]; toAddress[0] = new InternetAddress(address); mimeMessage.setRecipients(MimeMessage.RecipientType.TO, toAddress); //送信元の設定 InternetAddress fromAddress = new InternetAddress("送信元のアドレス"); mimeMessage.setFrom(fromAddress); //題名、本文の設定 mimeMessage.setSubject("test"); mimeMessage.setText("testです。"); //変更を保存 mimeMessage.saveChanges(); } catch(MessagingException e) { e.printStackTrace(); } // メールの送信 try { Transport.send(mimeMessage); System.out.println("send mail succees"); } catch (MessagingException e) { e.printStackTrace(); System.out.println("send mail failed"); } }
}
###補足情報(言語/FW/ツール等のバージョンなど)
開発環境
eclipse MARS
win8.1
jaf-1.1.1
javamail-1.4.5
ご協力のほど、よろしくお願いいたします。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/23 05:11