JSPを使ってシンプルなテキストメールを送信する方法【JavaMail API入門】
JSPからメールを送信するには、あらかじめマシンにJavaMail APIとJavaBeans Activation Framework(JAF)がインストールされている必要があります。
必要なライブラリの準備
JavaMail(バージョン1.2)は、Java公式サイトから最新版をダウンロードできます。
JAF(JavaBeans Activation Framework、バージョン1.0.2)も同様に、Java公式サイトから最新版をダウンロード可能です。
ダウンロードしたファイルを解凍すると、新しく作成された最上位ディレクトリ内に複数のjarファイルが格納されています。このうちmail.jarとactivation.jarをCLASSPATHに追加してください。これでメール送信の準備は完了です。
シンプルなメールを送信する
以下は、ローカルマシンから簡単なメールを送信するサンプルです。localhostがインターネットに接続されており、メールを送信できる環境であることを前提としています。また、JavaMail APIおよびJAFパッケージに含まれるすべてのjarファイルがCLASSPATH上に配置されていることを確認してください。
サンプルコード
<%@ page import = "java.io.*,java.util.*,javax.mail.*"%>
<%@ page import = "javax.mail.internet.*,javax.activation.*"%>
<%@ page import = "javax.servlet.http.*,javax.servlet.*" %>
<%
String result;
// 受信者のメールアドレスを指定します
String to = "abcd@gmail.com";
// 送信者のメールアドレスを指定します
String from = "mcmohd@gmail.com";
// localhostからメールを送信するものと仮定します
String host = "localhost";
// システムプロパティオブジェクトを取得します
Properties properties = System.getProperties();
// メールサーバーを設定します
properties.setProperty("mail.smtp.host", host);
// デフォルトのSessionオブジェクトを取得します
Session mailSession = Session.getDefaultInstance(properties);
try {
// デフォルトのMimeMessageオブジェクトを作成します
MimeMessage message = new MimeMessage(mailSession);
// ヘッダーのFromフィールドを設定します
message.setFrom(new InternetAddress(from));
// ヘッダーのToフィールドを設定します
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
// 件名を設定します
message.setSubject("This is the Subject Line!");
// 本文を設定します
message.setText("This is actual message");
// メールを送信します
Transport.send(message);
result = "Sent message successfully....";
} catch (MessagingException mex) {
mex.printStackTrace();
result = "Error: unable to send message....";
}
%>
<html>
<head>
<title>Send Email using JSP</title>
</head>
<body>
<center>
<h1>Send Email using JSP</h1>
</center>
<p align = "center">
<%
out.println("Result: " + result + "\n");
%>
</p>
</body>
</html>上記のコードをSendEmail.jspというファイルに保存し、ブラウザからURL「https://localhost:8080/SendEmail.jsp」にアクセスしてJSPを実行してみましょう。これにより、指定した宛先abcd@gmail.comへメールが送信されます。実行結果として、次のような出力が得られます。
実行結果
Send Email using JSP Result: Sent message successfully....
このように、JavaMail APIを利用すれば、JSPページから数行のコードを追加するだけで簡単にメール送信機能を実装できます。実際の運用ではSMTPサーバーの認証情報やSSL/TLS設定を追加することで、より安全なメール送信が可能になります。
-
Excelで日付に基づいてメールを自動送信する3つの方法【VBAコード付き解説】
この記事では、日付に基づいてExcelからメールを自動送信する最適な方法をご紹介します。通常、OutlookやGmailからメールを送るのは簡単ですが、特定の日時や日付に合わせてメールを送りたい場合には、Microsoft Excelを効果的に活用できます。サンプルデータにはいくつかのメールアドレスが含まれています(すべてダミーアドレスですが、admin@wsxdn.comのみ筆者自身のアドレスです)。動作確認のため筆者のアドレスを使用しています。日付に基づいてExcelからメールを自動送信する3つの方法方法1: Excel VBAを使って固定日付に基づきメールを自動送信するMicrosoft
-
Microsoft Outlookの「レポート メッセージ」機能で不審なメールを報告する方法
スパムや悪意のあるメールに悩まされていませんか?メールクライアントには標準でスパムフィルターが備わっていますが、不審なメールを自ら報告することで、受信トレイをさらに快適に整えることができます。Microsoft Sweepなどで受信トレイを整理した後、メール環境をスパムやフィッシングメールから確実に守りたいなら、「レポート メッセージ(Report Message)」アドイン機能を使って、不審なメッセージをMicrosoftに報告しましょう。Microsoftは、Outlookユーザーからの報告情報をもとに、スパムフィルターの精度向上や、新種・変化したフィッシングメッセージの検出に役立てていま