クラス 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 @Nullable [] 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
(@Nullable StringSE defaultEncoding) このインスタンスによって作成されたMimeMessages
EE に使用するデフォルトのエンコードを設定します。void
setDefaultFileTypeMap
(@Nullable FileTypeMapEE defaultFileTypeMap) このインスタンスによって作成されたMimeMessages
EE に使用するデフォルトの Java ActivationFileTypeMap
EE を設定します。void
メールサーバーホスト、通常は SMTP ホストを設定します。void
setJavaMailProperties
(PropertiesSE javaMailProperties) Session
の JavaMail プロパティを設定します。void
setPassword
(@Nullable StringSE password) メールホストでアカウントのパスワードを設定します(ある場合)。void
setPort
(int port) メールサーバーのポートを設定します。void
setProtocol
(@Nullable StringSE protocol) メールプロトコルを設定します。void
setSession
(SessionEE session) おそらく JNDI からプルされた JavaMailSession
を設定します。void
setUsername
(@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
このインスタンスによって作成された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
- 送信するメッセージ- 例外:
MailException
createMimeMessage
この実装は、指定されたデフォルトのエンコーディングとデフォルトの FileTypeMap を保持する SmartMimeMessage を作成します。この特別なデフォルトを運ぶメッセージはMimeMessageHelper
によって自動検出され、明示的にオーバーライドされない限り、持ち運ばれたエンコーディングと FileTypeMap を使用します。- 次で指定:
- インターフェース
JavaMailSender
のcreateMimeMessage
- 戻り値:
- 新しい MimeMessage インスタンス
- 関連事項:
createMimeMessage
インターフェースからコピーされた説明:JavaMailSender
指定された入力ストリームをメッセージソースとして使用して、この送信者の基になる JavaMail セッションの新しい JavaMail MimeMessage を作成します。- 次で指定:
- インターフェース
JavaMailSender
のcreateMimeMessage
- パラメーター:
contentStream
- メッセージの生の MIME 入力ストリーム- 戻り値:
- 新しい MimeMessage インスタンス
- 例外:
MailException
send
インターフェースからコピーされた説明:JavaMailSender
JavaMail MIME メッセージの指定された配列をバッチで送信します。メッセージはJavaMailSender.createMimeMessage()
で作成されている必要があります。- 次で指定:
- インターフェース
JavaMailSender
のsend
- パラメーター:
mimeMessages
- 送信するメッセージ- 例外:
MailException
- 関連事項:
testConnection
このインスタンスが、構成されているサーバーに接続できることを確認します。接続の試行が失敗した場合、MessagingException
EE をスローします。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
- 関連事項: