クラス JavaMailSenderImpl
- 実装されたすべてのインターフェース:
JavaMailSender
,MailSender
JavaMailSender
インターフェースの実動実装。JavaMail MimeMessages
EE と Spring SimpleMailMessages
の両方をサポートします。プレーンな MailSender
実装としても使用できます。 すべての設定を Bean プロパティとしてローカルで定義できます。または、事前に構成された JavaMail Session
EE を指定できます。アプリケーションサーバーの JNDI 環境からプルすることもできます。
このオブジェクトのデフォルト以外のプロパティは、常に JavaMail Session
の設定をオーバーライドします。すべての値をローカルでオーバーライドする場合、事前構成された Session
の設定に追加の値はないことに注意してください。
- 導入:
- 10.09.2003
- 作成者:
- Dmitriy Kopylenko, Juergen Hoeller
- 関連事項:
フィールドサマリー
コンストラクターのサマリー
方法の概要
修飾子と型メソッド説明protected TransportEE
基礎となる JavaMail セッションからトランスポートを取得して接続し、指定されたホスト、ポート、ユーザー名、パスワードを渡します。この実装は SmartMimeMessage を作成し、指定されたデフォルトのエンコーディングとデフォルトの FileTypeMap を保持します。createMimeMessage
(InputStreamSE contentStream) 指定された入力ストリームをメッセージソースとして使用して、この送信者の基になる JavaMail セッションの新しい JavaMail MimeMessage を作成します。protected void
doSend
(MimeMessageEE[] mimeMessages, ObjectSE[] originalMessages) MimeMessages の指定された配列を JavaMail を介して実際に送信します。MimeMessages
EE のデフォルトのエンコードを返します。ない場合はnull
を返します。getHost()
メールサーバーホストを返します。特定のエントリを追加または上書きするオプションを使用して、この送信者の JavaMail プロパティへのMap
アクセスを許可します。メールホストでアカウントのパスワードを返します。int
getPort()
メールサーバーのポートを返します。メールプロトコルを返します。JavaMailSession
を返します。明示的に指定されていない場合は、遅延して初期化します。protected TransportEE
getTransport
(SessionEE session) 設定されたプロトコルを使用して、指定された JavaMail セッションからトランスポートオブジェクトを取得します。メールホストでアカウントのユーザー名を返します。void
send
(MimeMessageEE... mimeMessages) JavaMail MIME メッセージの指定された配列をバッチで送信します。void
send
(SimpleMailMessage... simpleMessages) 指定された単純なメールメッセージの配列をバッチで送信します。void
setDefaultEncoding
(StringSE defaultEncoding) このインスタンスによって作成されたMimeMessages
EE に使用するデフォルトのエンコードを設定します。void
setDefaultFileTypeMap
(FileTypeMapEE defaultFileTypeMap) このインスタンスによって作成されたMimeMessages
EE に使用するデフォルトの Java ActivationFileTypeMap
EE を設定します。void
メールサーバーホスト、通常は SMTP ホストを設定します。void
setJavaMailProperties
(PropertiesSE javaMailProperties) Session
の JavaMail プロパティを設定します。void
setPassword
(StringSE password) メールホストでアカウントのパスワードを設定します(ある場合)。void
setPort
(int port) メールサーバーのポートを設定します。void
setProtocol
(StringSE protocol) メールプロトコルを設定します。void
setSession
(SessionEE session) おそらく JNDI からプルされた JavaMailSession
を設定します。void
setUsername
(StringSE username) メールホストでアカウントのユーザー名を設定します(存在する場合)。void
このインスタンスが、構成されているサーバーに接続できることを確認します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.mail.javamail.JavaMailSender から継承されたメソッド
send, send, send
インターフェース org.springframework.mail.MailSender から継承されたメソッド
send
フィールドの詳細
コンストラクターの詳細
JavaMailSenderImpl
public JavaMailSenderImpl()JavaMailSenderImpl
クラスの新しいインスタンスを作成します。"defaultFileTypeMap"
プロパティをデフォルトのConfigurableMimeFileTypeMap
で初期化します。
メソッドの詳細
setJavaMailProperties
Session
の JavaMail プロパティを設定します。これらのプロパティを使用して新しい
Session
が作成されます。このメソッドまたはsetSession(jakarta.mail.Session)
のいずれかを使用します。両方は使用しないでください。このインスタンスのデフォルト以外のプロパティは、指定された JavaMail プロパティをオーバーライドします。
getJavaMailProperties
特定のエントリを追加または上書きするオプションを使用して、この送信者の JavaMail プロパティへのMap
アクセスを許可します。javaMailProperties[mail.smtp.auth]
などを介してエントリを直接指定する場合に便利です。setSession
おそらく JNDI からプルされた JavaMailSession
を設定します。デフォルトはデフォルトなしの新しい
Session
で、このインスタンスのプロパティを介して完全に構成されます。事前設定された
Session
を使用している場合、このインスタンスのデフォルト以外のプロパティはSession
の設定を上書きします。getSession
JavaMailSession
を返します。明示的に指定されていない場合は、遅延して初期化します。setProtocol
メールプロトコルを設定します。デフォルトは "smtp" です。getProtocol
メールプロトコルを返します。setHost
メールサーバーホスト、通常は SMTP ホストを設定します。デフォルトは、基になる JavaMail セッションのデフォルトホストです。
getHost
メールサーバーホストを返します。setPort
public void setPort(int port) メールサーバーのポートを設定します。デフォルトは
DEFAULT_PORT
で、JavaMail はデフォルトの SMTP ポート (25) を使用できます。getPort
public int getPort()メールサーバーのポートを返します。setUsername
メールホストでアカウントのユーザー名を設定します(存在する場合)。基になる JavaMail
Session
は、プロパティ"mail.smtp.auth"
をtrue
に設定して構成する必要があります。そうでない場合、指定されたユーザー名は JavaMail ランタイムによってメールサーバーに送信されません。使用するSession
を明示的に渡さない場合は、setJavaMailProperties(java.util.Properties)
を介してこの設定を指定するだけです。getUsername
メールホストでアカウントのユーザー名を返します。setPassword
メールホストでアカウントのパスワードを設定します(ある場合)。基になる JavaMail
Session
は、プロパティ"mail.smtp.auth"
をtrue
に設定して構成する必要があることに注意してください。そうでない場合、指定したパスワードは JavaMail ランタイムによってメールサーバーに送信されません。使用するSession
を明示的に渡さない場合は、setJavaMailProperties(java.util.Properties)
を介してこの設定を指定するだけです。getPassword
メールホストでアカウントのパスワードを返します。setDefaultEncoding
このインスタンスによって作成されたMimeMessages
EE に使用するデフォルトのエンコードを設定します。このようなエンコーディングは
MimeMessageHelper
によって自動検出されます。getDefaultEncoding
MimeMessages
EE のデフォルトのエンコードを返します。ない場合はnull
を返します。setDefaultFileTypeMap
このインスタンスによって作成されたMimeMessages
EE に使用するデフォルトの Java ActivationFileTypeMap
EE を設定します。ここで指定された
FileTypeMap
はMimeMessageHelper
によって自動検出され、MimeMessageHelper
インスタンスごとにFileTypeMap
を指定する必要がなくなります。例: Spring の
ConfigurableMimeFileTypeMap
のカスタムインスタンスをここで指定できます。明示的に指定されていない場合、デフォルトのConfigurableMimeFileTypeMap
が使用され、MIME 型のマッピングの拡張セット(Spring jar に含まれるmime.types
ファイルで定義されている)が含まれます。getDefaultFileTypeMap
send
インターフェースからコピーされた説明:MailSender
指定された単純なメールメッセージの配列をバッチで送信します。- 次で指定:
- インターフェース
MailSender
のsend
- パラメーター:
simpleMessages
- 送信するメッセージ- 例外:
MailParseException
- メッセージの解析中にエラーが発生した場合MailAuthenticationException
- 認証に失敗した場合MailSendException
- メッセージ送信時に失敗した場合MailException
createMimeMessage
この実装は、指定されたデフォルトのエンコーディングとデフォルトの FileTypeMap を保持する SmartMimeMessage を作成します。この特別なデフォルトを運ぶメッセージはMimeMessageHelper
によって自動検出され、明示的にオーバーライドされない限り、持ち運ばれたエンコーディングと FileTypeMap を使用します。- 次で指定:
- インターフェース
JavaMailSender
のcreateMimeMessage
- 戻り値:
- 新しい MimeMessage インスタンス
- 関連事項:
createMimeMessage
インターフェースからコピーされた説明:JavaMailSender
指定された入力ストリームをメッセージソースとして使用して、この送信者の基になる JavaMail セッションの新しい JavaMail MimeMessage を作成します。- 次で指定:
- インターフェース
JavaMailSender
のcreateMimeMessage
- パラメーター:
contentStream
- メッセージの生の MIME 入力ストリーム- 戻り値:
- 新しい MimeMessage インスタンス
- 例外:
MailParseException
- メッセージ作成の失敗の場合MailException
send
インターフェースからコピーされた説明:JavaMailSender
JavaMail MIME メッセージの指定された配列をバッチで送信します。メッセージはJavaMailSender.createMimeMessage()
で作成されている必要があります。- 次で指定:
- インターフェース
JavaMailSender
のsend
- パラメーター:
mimeMessages
- 送信するメッセージ- 例外:
MailAuthenticationException
- 認証に失敗した場合MailSendException
- メッセージ送信時に失敗した場合MailException
- 関連事項:
testConnection
このインスタンスが、構成されているサーバーに接続できることを確認します。接続の試行が失敗した場合、MessagingException
EE をスローします。doSend
protected void doSend(MimeMessageEE[] mimeMessages, @Nullable ObjectSE[] originalMessages) throws MailException MimeMessages の指定された配列を JavaMail を介して実際に送信します。- パラメーター:
mimeMessages
- 送信する MimeMessage オブジェクトoriginalMessages
- MimeMessages の作成元となった対応する元のメッセージオブジェクト ("mimeMessages" 配列と同じ配列長とインデックスを持つ) (存在する場合)- 例外:
MailAuthenticationException
- 認証に失敗した場合MailSendException
- メッセージ送信時に失敗した場合MailException
connectTransport
基礎となる JavaMail セッションからトランスポートを取得して接続し、指定されたホスト、ポート、ユーザー名、パスワードを渡します。- 戻り値:
- 接続された Transport オブジェクト
- 例外:
MessagingExceptionEE
- 接続に失敗した場合- 導入:
- 4.1.2
- 関連事項:
getTransport
設定されたプロトコルを使用して、指定された JavaMail セッションからトランスポートオブジェクトを取得します。たとえば、サブクラスでオーバーライドして、モックの Transport オブジェクトを返すことができます。