3
SSL接続を使用してGmail SMTPサーバー経由で電子メール通知を送信しようとしています。しかし、メールは届かない。エラーは報告されていません。私の方法send()
は以下のとおりです。助けてください。私はJSF2を使用しています。SSL接続を使用してGmail SMTPサーバー経由で電子メール通知を送信
public void send()
{
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("userName","password");
}
});
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("[email protected]"));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("[email protected]"));
message.setSubject("Testing Subject");
message.setText("Dear Mail Crawler," +
"\n\n No spam to my email, please!");
Transport.send(message);
System.out.println("Done");
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
これに関連してJSF2とはどのくらい正確ですか? 'main()'メソッドを使ってプレーンなJavaアプリケーションで実行すると、これが正しく動作することを意味していますか?そのように失敗したとしても、それはJSF2とは全く関係がなく、JSF2タグを削除する必要があります。 – BalusC
Ok.Butこれは 'main()'にありません。私はこれを 'send()'と呼んでいました。 – NaaN
私はあなたが私を理解していないと思う。このコードを 'main()'メソッドの中にコピーし、通常のJavaアプリケーションとして実行します。まったく同じ問題が発生した場合、JSF2にはまったく関係しません。結局のところ、通常のJavaアプリケーションとして実行することで、はるかに迅速かつ簡単に開発/テストすることができます。一旦それが機能するようになると、JSF2アクション・メソッドでスタンドアロンJavaクラスをインポート/コールするだけです。 – BalusC