Javaプログラムからemailを送信するライブラリがjavamailです。今回構築する環境でjavamailが正しく動作するか、検証したいと思います。
なおOpenJDK 11 以降ではjava.activation パッケージが削除されています。ただ JavaMail は内部でこれを使用していますので、javax.activationライブラリを別途用意する必要があります。
今回のタスク
- javamailのライブラリをダウンロード
- javax.activationライブラリをダウンロード
- Apache commons-emailライブラリをダウンロード
- email送信クラスを作成して検証
まずはjavamailのライブラリをダウンロードします
https://javaee.github.io/javamail/ へアクセスします
少し下にスクロールします
Download javamail release の中からjavax.mail.jarリンクをクリックしてライブラリを取得しビルドパスに追加します
続けてjavax.activationライブラリの取得です
ここへアクセスします
Files のJar リンクをクリックしてライブラリを取得しビルドパスに追加します
続けて、Apache commons emailライブラリを取得です
Downloadをクリックします
今回はWindows環境にセットアップしますのでcommons-email-1.5-bin.zipをクリックします
ダウンロードされたzip内の、commons-email-1.5.jarをビルドパスに追加します
ここから検証プログラムを作成していきます
package sample02;
import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;
public class Emailtest {
public void sendEmail() {
try {
Email email = new SimpleEmail();
email.setHostName("xxx.xxx.co.jp");
email.setSmtpPort(587);
email.setAuthenticator(new DefaultAuthenticator("xxx@xxx.co.jp", "password"));
email.setSSLOnConnect(false);
email.setCharset("ISO-2022-JP");
email.setFrom("xxx@xxx.co.jp", "ウエブマスター", "ISO-2022-JP");
email.setSubject("テストメール");
email.setMsg("テストメールの本文です");
email.addTo("yyy@yyy.com", "なかさん", "ISO-2022-JP");
email.send();
} catch (EmailException e) {
e.printStackTrace();
}
}
}
シンプルですね上記サンプルのxxx,yyyは適宜置き換えてくださいね
package sample02;
public class Execute {
public static void main(String[] args) {
Emailtest obj = new Emailtest();
obj.sendEmail();
}
}
実行用クラスを準備してEclipseから実行します
送信先に指定したアドレスにメールが送信されました。
0 件のコメント:
コメントを投稿