メール送信
Spring Framework は、JavaMailSender
(Javadoc) インターフェースを使用してメールを送信するための抽象化を提供し、Spring Boot は、そのための自動構成とスターターモジュールを提供します。
JavaMailSender (Javadoc) の使用方法の詳細については、リファレンスドキュメントを参照してください。 |
spring.mail.host
と関連ライブラリ ( spring-boot-starter-mail
で定義) が利用可能な場合、存在しない場合はデフォルトの JavaMailSender
(Javadoc) が作成されます。送信者は、spring.mail
名前空間の構成項目によってさらにカスタマイズできます。詳細については、MailProperties
(Javadoc) を参照してください。
特に、特定のデフォルトのタイムアウト値は無限であり、次の例に示すように、応答しないメールサーバーによってスレッドがブロックされるのを避けるために、これを変更することができます。
プロパティ
YAML
spring.mail.properties[mail.smtp.connectiontimeout]=5000
spring.mail.properties[mail.smtp.timeout]=3000
spring.mail.properties[mail.smtp.writetimeout]=5000
spring:
mail:
properties:
"[mail.smtp.connectiontimeout]": 5000
"[mail.smtp.timeout]": 3000
"[mail.smtp.writetimeout]": 5000
JNDI から既存の Session
(英語) を使用して JavaMailSender
(Javadoc) を構成することもできます。
プロパティ
YAML
spring.mail.jndi-name=mail/Session
spring:
mail:
jndi-name: "mail/Session"
jndi-name
が設定されると、他のすべてのセッション関連の設定よりも優先されます。