Java でメールを送信します。メールサーバは Gmail を拝借します。
注意事項としてGoogle アカウントの設定で「安全性の低いアプリのアクセス」を許可する必要があります。
これを許可しておかないと、次のようなエラーとなります。
javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials h9sm5853519pfv.14 - gsmtp
ソースコード
さっそくソースです。
package org.yyama; import java.util.Properties; import javax.mail.Message; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class Mail { public static void main(String[] args) { try { Properties property = new Properties(); property.put("mail.smtp.host", "smtp.gmail.com"); property.put("mail.smtp.auth", "true"); property.put("mail.smtp.starttls.enable", "true"); property.put("mail.smtp.host", "smtp.gmail.com"); property.put("mail.smtp.port", "587"); property.put("mail.smtp.debug", "true"); Session session = Session.getInstance(property, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("Gmailのアカウント", "Gmailのパスワード"); } }); MimeMessage mimeMessage = new MimeMessage(session); InternetAddress toAddress = new InternetAddress("受信者メールアドレス", "受信者名"); mimeMessage.setRecipient(Message.RecipientType.TO, toAddress); InternetAddress fromAddress = new InternetAddress("送信者メールアドレス", "送信者名"); mimeMessage.setFrom(fromAddress); mimeMessage.setSubject("title", "ISO-2022-JP"); mimeMessage.setText("message", "ISO-2022-JP"); Transport.send(mimeMessage); System.out.println("メール送信が完了しました。"); } catch (Exception e) { e.printStackTrace(); } } }
javax.mail 等のパッケージを使うには別途ライブラリを準備する必要があります。Mavenを使用している場合は pom.xml に次のように依存関係を設定しておいてください。
<dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.6.2</version> </dependency>
これでプログラムを実行すると、次のような簡単なメールが送信されます。
本日はここまでとなります。お疲れさまでした。
- 作者:中山 清喬,国本 大悟,株式会社フレアリンク
- 発売日: 2019/11/15
- メディア: Kindle版
徹底攻略Java SE 11 Silver問題集[1Z0-815]対応
- 作者:志賀 澄人
- 発売日: 2019/10/18
- メディア: 単行本(ソフトカバー)