プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

JSPを使ってシンプルなテキストメールを送信する方法【JavaMail API入門】

JSPからメールを送信するには、あらかじめマシンにJavaMail APIJavaBeans Activation Framework(JAF)がインストールされている必要があります。

必要なライブラリの準備

  • JavaMail(バージョン1.2)は、Java公式サイトから最新版をダウンロードできます。

  • JAF(JavaBeans Activation Framework、バージョン1.0.2)も同様に、Java公式サイトから最新版をダウンロード可能です。

ダウンロードしたファイルを解凍すると、新しく作成された最上位ディレクトリ内に複数のjarファイルが格納されています。このうちmail.jaractivation.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設定を追加することで、より安全なメール送信が可能になります。

  1. Excelで日付に基づいてメールを自動送信する3つの方法【VBAコード付き解説】

    この記事では、日付に基づいてExcelからメールを自動送信する最適な方法をご紹介します。通常、OutlookやGmailからメールを送るのは簡単ですが、特定の日時や日付に合わせてメールを送りたい場合には、Microsoft Excelを効果的に活用できます。サンプルデータにはいくつかのメールアドレスが含まれています(すべてダミーアドレスですが、admin@wsxdn.comのみ筆者自身のアドレスです)。動作確認のため筆者のアドレスを使用しています。日付に基づいてExcelからメールを自動送信する3つの方法方法1: Excel VBAを使って固定日付に基づきメールを自動送信するMicrosoft

  2. Microsoft Outlookの「レポート メッセージ」機能で不審なメールを報告する方法

    スパムや悪意のあるメールに悩まされていませんか?メールクライアントには標準でスパムフィルターが備わっていますが、不審なメールを自ら報告することで、受信トレイをさらに快適に整えることができます。Microsoft Sweepなどで受信トレイを整理した後、メール環境をスパムやフィッシングメールから確実に守りたいなら、「レポート メッセージ(Report Message)」アドイン機能を使って、不審なメッセージをMicrosoftに報告しましょう。Microsoftは、Outlookユーザーからの報告情報をもとに、スパムフィルターの精度向上や、新種・変化したフィッシングメッセージの検出に役立てていま