クラス JavaMailSenderImpl
- 実装されているすべてのインターフェース:
JavaMailSender,MailSender
JavaMailSender インターフェースの実動実装。JavaMail MimeMessagesEE と Spring SimpleMailMessages の両方をサポートします。プレーンな MailSender 実装としても使用できます。 すべての設定を Bean プロパティとしてローカルで定義できます。または、事前に構成された JavaMail SessionEE を指定できます。アプリケーションサーバーの JNDI 環境からプルすることもできます。
このオブジェクトのデフォルト以外のプロパティは、常に JavaMail Session の設定をオーバーライドします。すべての値をローカルでオーバーライドする場合、事前構成された Session の設定に追加の値はないことに注意してください。
- 導入:
- 10.09.2003
- 作成者:
- Dmitriy Kopylenko, Juergen Hoeller
- 関連事項:
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected TransportEE基礎となる JavaMail セッションからトランスポートを取得して接続し、指定されたホスト、ポート、ユーザー名、パスワードを渡します。この実装は SmartMimeMessage を作成し、指定されたデフォルトのエンコーディングとデフォルトの FileTypeMap を保持します。createMimeMessage(InputStreamSE contentStream) 指定された入力ストリームをメッセージソースとして使用して、この送信者の基になる JavaMail セッションの新しい JavaMail MimeMessage を作成します。protected voiddoSend(MimeMessageEE[] mimeMessages, ObjectSE @Nullable [] originalMessages) MimeMessages の指定された配列を JavaMail を介して実際に送信します。MimeMessagesEE のデフォルトのエンコードを返します。ない場合はnullを返します。getHost()メールサーバーホストを返します。特定のエントリを追加または上書きするオプションを使用して、この送信者の JavaMail プロパティへのMapアクセスを許可します。メールホストでアカウントのパスワードを返します。intgetPort()メールサーバーのポートを返します。メールプロトコルを返します。JavaMailSessionを返します。明示的に指定されていない場合は、遅延して初期化します。protected TransportEEgetTransport(SessionEE session) 設定されたプロトコルを使用して、指定された JavaMail セッションからトランスポートオブジェクトを取得します。メールホストでアカウントのユーザー名を返します。voidsend(MimeMessageEE... mimeMessages) JavaMail MIME メッセージの指定された配列をバッチで送信します。voidsend(SimpleMailMessage... simpleMessages) 指定された単純なメールメッセージの配列をバッチで送信します。voidsetDefaultEncoding(@Nullable StringSE defaultEncoding) このインスタンスによって作成されたMimeMessagesEE に使用するデフォルトのエンコードを設定します。voidsetDefaultFileTypeMap(@Nullable FileTypeMapEE defaultFileTypeMap) このインスタンスによって作成されたMimeMessagesEE に使用するデフォルトの Java ActivationFileTypeMapEE を設定します。voidメールサーバーホスト、通常は SMTP ホストを設定します。voidsetJavaMailProperties(PropertiesSE javaMailProperties) Sessionの JavaMail プロパティを設定します。voidsetPassword(@Nullable StringSE password) メールホストでアカウントのパスワードを設定します(ある場合)。voidsetPort(int port) メールサーバーのポートを設定します。voidsetProtocol(@Nullable StringSE protocol) メールプロトコルを設定します。voidsetSession(SessionEE session) おそらく JNDI からプルされた JavaMailSessionを設定します。voidsetUsername(@Nullable 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
フィールドの詳細
DEFAULT_PROTOCOL
DEFAULT_PORT
public static final int DEFAULT_PORTデフォルトのポート: -1.- 関連事項:
コンストラクターの詳細
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
getProtocol
setHost
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
このインスタンスによって作成されたMimeMessagesEE に使用するデフォルトのエンコードを設定します。このようなエンコーディングは
MimeMessageHelperによって自動検出されます。getDefaultEncoding
MimeMessagesEE のデフォルトのエンコードを返します。ない場合はnullを返します。setDefaultFileTypeMap
このインスタンスによって作成されたMimeMessagesEE に使用するデフォルトの Java ActivationFileTypeMapEE を設定します。ここで指定された
FileTypeMapはMimeMessageHelperによって自動検出され、MimeMessageHelperインスタンスごとにFileTypeMapを指定する必要がなくなります。例: Spring の
ConfigurableMimeFileTypeMapのカスタムインスタンスをここで指定できます。明示的に指定されていない場合、デフォルトのConfigurableMimeFileTypeMapが使用され、MIME 型のマッピングの拡張セット(Spring jar に含まれるmime.typesファイルで定義されている)が含まれます。- 関連事項:
getDefaultFileTypeMap
send
インターフェースからコピーされた説明:MailSender指定された単純なメールメッセージの配列をバッチで送信します。- 次で指定:
- インターフェース
MailSenderのsend - パラメーター:
simpleMessages- 送信するメッセージ- 例外:
MailException
createMimeMessage
この実装は、指定されたデフォルトのエンコーディングとデフォルトの FileTypeMap を保持する SmartMimeMessage を作成します。この特別なデフォルトを運ぶメッセージはMimeMessageHelperによって自動検出され、明示的にオーバーライドされない限り、持ち運ばれたエンコーディングと FileTypeMap を使用します。- 次で指定:
- インターフェース
JavaMailSenderのcreateMimeMessage - 戻り値:
- 新しい MimeMessage インスタンス
- 関連事項:
createMimeMessage
インターフェースからコピーされた説明:JavaMailSender指定された入力ストリームをメッセージソースとして使用して、この送信者の基になる JavaMail セッションの新しい JavaMail MimeMessage を作成します。- 次で指定:
- インターフェース
JavaMailSenderのcreateMimeMessage - パラメーター:
contentStream- メッセージの生の MIME 入力ストリーム- 戻り値:
- 新しい MimeMessage インスタンス
- 例外:
MailException
send
インターフェースからコピーされた説明:JavaMailSenderJavaMail MIME メッセージの指定された配列をバッチで送信します。メッセージはJavaMailSender.createMimeMessage()で作成されている必要があります。- 次で指定:
- インターフェース
JavaMailSenderのsend - パラメーター:
mimeMessages- 送信するメッセージ- 例外:
MailException- 関連事項:
testConnection
このインスタンスが、構成されているサーバーに接続できることを確認します。接続の試行が失敗した場合、MessagingExceptionEE をスローします。doSend
protected void doSend(MimeMessageEE[] mimeMessages, ObjectSE @Nullable [] originalMessages) throws MailException MimeMessages の指定された配列を JavaMail を介して実際に送信します。- パラメーター:
mimeMessages- 送信する MimeMessage オブジェクトoriginalMessages- MimeMessages の作成元となった対応する元のメッセージオブジェクト ("mimeMessages" 配列と同じ配列長とインデックスを持つ) (存在する場合)- 例外:
MailAuthenticationException- 認証に失敗した場合MailSendException- メッセージ送信時に失敗した場合MailException
connectTransport
基礎となる JavaMail セッションからトランスポートを取得して接続し、指定されたホスト、ポート、ユーザー名、パスワードを渡します。- 戻り値:
- 接続された Transport オブジェクト
- 例外:
MessagingExceptionEE- 接続に失敗した場合- 導入:
- 4.1.2
- 関連事項:
getTransport
設定されたプロトコルを使用して、指定された JavaMail セッションからトランスポートオブジェクトを取得します。たとえば、サブクラスでオーバーライドして、モックの Transport オブジェクトを返すことができます。
- 例外:
NoSuchProviderExceptionEE- 関連事項: