メール送信
Spring Framework は、JavaMailSender
インターフェースを使用してメールを送信するための抽象化を提供し、Spring Boot は、自動構成とスターターモジュールを提供します。
JavaMailSender の使用方法の詳細については、リファレンスドキュメントを参照してください。 |
spring.mail.host
および関連するライブラリ(spring-boot-starter-mail
で定義されている)が使用可能な場合、存在しない場合はデフォルトの JavaMailSender
が作成されます。送信者は、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
を構成することもできます。
プロパティ
YAML
spring.mail.jndi-name=mail/Session
spring:
mail:
jndi-name: "mail/Session"
jndi-name
が設定されると、他のすべてのセッション関連の設定よりも優先されます。