English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java アプリケーションを使用して Eメールを送信する-mail は非常に簡単ですが、まずは JavaMail API と Java Activation Framework (JAF) をあなたのマシンにインストールする必要があります。
最新バージョンの JavaMail API と Java Activation Framework (JAF) を Java 網站からダウンロードできます。 JavaMail、ウェブページの右側にあります ダウンロード リンクをクリックしてダウンロードします。
最新バージョンの JavaMail API と Java Activation Framework (JAF) を Java 網站からダウンロードできます。 JAF(バージョン 1.1.1)。
また、このサイトで提供されているダウンロードリンクを使用することもできます:
これらのファイルをダウンロードして解凍し、新しく作成したトップレベルのディレクトリに移動すると、これらのアプリケーションの jar ファイルが見つかります。以下の jar ファイルを配置する必要があります: mail.jar および activation.jar ファイルをCLASSPATHに追加します。
もしあなたがQQのSMTPサーバーなどのサードパーティメールサーバーを使用する場合、記事の下部にユーザーアカウント認証の完全な例があります。
以下は簡単なEメールの送信例です:-メールのインスタンスです。あなたのローカルホストがネットワークに接続されていることを前提にしています。
// ファイル名 SendEmail.java import java.util.*; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; public class SendEmail { public static void main(String [] args) { // 受信者電子メール String to = "[email protected]"; // 送信者電子メール String from = "[email protected]"; // 送信先のメールのホストを localhost に指定します。 String host = "localhost"; // システム属性を取得します Properties properties = System.getProperties(); // メールサーバーを設定します properties.setProperty("mail.smtp.host", host); // デフォルトのsessionオブジェクトを取得します Session session = Session.getDefaultInstance(properties); try{ // デフォルトのMimeMessageオブジェクトを生成します MimeMessage message = new MimeMessage(session); // 設定 From: ヘッダーフィールド message.setFrom(new InternetAddress(from)); // message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // 設定 Subject: ヘッダーフィールド message.setSubject("This is the Subject Line!"); // メッセージ本文の設定 message.setText("This is actual message"); // メッセージの送信 Transport.send(message); System.out.println("Sent message successfully...."); }catch (MessagingException mex) { mex.printStackTrace(); } } }
このプログラムをコンパイルして実行して簡単なEメールを送信します。-mail:
$ java SendEmail Sent message successfully....
もしあなたが一封のe-複数の受信者にメールを送信する場合、以下のメソッドを使用して複数の受信者IDを指定します:
void addRecipients(Message.RecipientType type, Address[] addresses) MessagingException
以下はパラメータの説明です:
type:TO、CC または BCC に設定する必要があります。ここで CC は転送先、BCC は秘密転送先を意味します。例えば:Message.RecipientType.TO
addresses: これはメールIDの配列です。指定するメールIDでは、InternetAddress()メソッドを使用する必要があります。
以下は、HTML E-mailのインスタンスです。あなたのローカルホストがネットワークに接続されていることを前提にしています。
前の例と非常に似ていますが、setContent()メソッドを使用して「text/html"、を設定してHTML内容を指定します。
// ファイル名 SendHTMLEmail.java import java.util.*; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; public class SendHTMLEmail { public static void main(String [] args) { // 受信者電子メール String to = "[email protected]"; // 送信者電子メール String from = "[email protected]"; // 送信先のメールのホストを localhost に指定します。 String host = "localhost"; // システム属性を取得します Properties properties = System.getProperties(); // メールサーバーを設定します properties.setProperty("mail.smtp.host", host); // デフォルトの Session オブジェクトを取得します。 Session session = Session.getDefaultInstance(properties); try{ // デフォルトの MimeMessage オブジェクトを作成します。 MimeMessage message = new MimeMessage(session); // 設定 From: ヘッダーフィールド message.setFrom(new InternetAddress(from)); // message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // Subject: ヘッダーフィールドを設定します。 message.setSubject("This is the Subject Line!"); // HTMLメッセージを送信します、HTMLタグを挿入できます。 message.setContent("<h1>This is actual message</h1>", "text/"text/html" ); // メッセージの送信 Transport.send(message); System.out.println("Sent message successfully...."); }catch (MessagingException mex) { mex.printStackTrace(); } } }
このプログラムをコンパイルして実行してHTMLメールを送信します。-mail:
$ java SendHTMLEmail Sent message successfully....
以下は、添付ファイルを含む E-メールのインスタンスです。あなたのローカルホストがネットワークに接続されていることを前提にしています。
// ファイル名 SendFileEmail.java import java.util.*; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; public class SendFileEmail { public static void main(String [] args) { // 受信者電子メール String to = "[email protected]"; // 送信者電子メール String from = "[email protected]"; // 送信先のメールのホストを localhost に指定します。 String host = "localhost"; // システム属性を取得します Properties properties = System.getProperties(); // メールサーバーを設定します properties.setProperty("mail.smtp.host", host); // デフォルトの Session オブジェクトを取得します。 Session session = Session.getDefaultInstance(properties); try{ // デフォルトの MimeMessage オブジェクトを作成します。 MimeMessage message = new MimeMessage(session); // 設定 From: ヘッダーフィールド message.setFrom(new InternetAddress(from)); // message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // Subject: ヘッダーフィールドを設定します。 message.setSubject("This is the Subject Line!"); // メッセージ部分を作成します。 BodyPart messageBodyPart = new MimeBodyPart(); // メッセージ messageBodyPart.setText("This is message body"); // 多重メッセージを作成します Multipart multipart = new MimeMultipart(); // テキストメッセージ部分を設定します multipart.addBodyPart(messageBodyPart); // 添付ファイル部分 messageBodyPart = new MimeBodyPart(); String filename = "file.txt"; DataSource source = new FileDataSource(filename); messageBodyPart.setDataHandler(new DataHandler(source)); messageBodyPart.setFileName(filename); multipart.addBodyPart(messageBodyPart); // 完全なメッセージを送信します message.setContent(multipart ); // メッセージの送信 Transport.send(message); System.out.println("Sent message successfully...."); }catch (MessagingException mex) { mex.printStackTrace(); } } }
プログラムをコンパイルして実行し、添付ファイル付きのメールを送信します。
$ java SendFileEmail Sent message successfully....
ユーザー名とパスワードをeに提供する必要がある場合:-mailサーバーを通じてユーザー認証を達成するために、以下の設定を行うことができます:
props.put("mail.smtp.auth", "true"); props.setProperty("mail.user", "myuser"); props.setProperty("mail.password", "mypwd");
e-mailの他の送信メカニズムは上記と同じです。
この例ではQQメールサーバーを用いて、あなたはQQメールのバックエンドで「設定」→「アカウント」でPOPを有効にする必要があります3/SMTPサービス、以下の図のように表示されます:
QQメールは、パスワードを設定するために認証コードを生成して設定します:
以下はJavaのコードです:
// ユーザー名とパスワードが必要なメール送信の例 //ファイル名 SendEmail2.java //この例ではQQメールを用いて、あなたはqqのバックエンドで設定を行う必要があります import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class SendEmail2 { public static void main(String [] args) { // 受信者電子メール String to = "[email protected]"; // 送信者電子メール String from = "[email protected]"; // 送信メールのホストをsmtp.qq.comに指定します String host = "smtp.qq.com"; //QQメールサーバー // システム属性を取得します Properties properties = System.getProperties(); // メールサーバーを設定します properties.setProperty("mail.smtp.host", host); properties.put("mail.smtp.auth", "true"); // デフォルトのsessionオブジェクトを取得します Session session = Session.getDefaultInstance(properties, new Authenticator(){ public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("[email protected]", "qqメール認証コード"); //送信者メールユーザー名、認証コード } }); try{ // デフォルトのMimeMessageオブジェクトを生成します MimeMessage message = new MimeMessage(session); // 設定 From: ヘッダーフィールド message.setFrom(new InternetAddress(from)); // message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // 設定 Subject: ヘッダーフィールド message.setSubject("This is the Subject Line!"); // メッセージ本文の設定 message.setText("This is actual message"); // メッセージの送信 Transport.send(message); System.out.println("Sent message successfully....from oldtoolbag.com"); }catch (MessagingException mex) { mex.printStackTrace(); } } }