public class JavaMailSenderImpl extends ObjectSE implements JavaMailSender
JavaMailSender インターフェースの実動実装。JavaMail MimeMessagesEE と Spring SimpleMailMessages の両方をサポートします。プレーンな MailSender 実装としても使用できます。 すべての設定を Bean プロパティとしてローカルで定義できます。または、事前に構成された JavaMail SessionEE を指定できます。アプリケーションサーバーの JNDI 環境からプルすることもできます。
このオブジェクトのデフォルト以外のプロパティは、常に JavaMail Session の設定をオーバーライドします。すべての値をローカルでオーバーライドする場合、事前構成された Session の設定に追加の値はないことに注意してください。
MimeMessageEE, SessionEE, setSession(javax.mail.Session), setJavaMailProperties(java.util.Properties), setHost(java.lang.String), setPort(int), setUsername(java.lang.String), setPassword(java.lang.String)| 修飾子と型 | フィールドと説明 |
|---|---|
static int | DEFAULT_PORT デフォルトのポート: -1 |
static StringSE | DEFAULT_PROTOCOL デフォルトのプロトコル: "smtp" |
| コンストラクターと説明 |
|---|
JavaMailSenderImpl()JavaMailSenderImpl クラスの新しいインスタンスを作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected TransportEE | connectTransport() 基礎となる JavaMail セッションからトランスポートを取得して接続し、指定されたホスト、ポート、ユーザー名、パスワードを渡します。 |
MimeMessageEE | createMimeMessage() この実装は SmartMimeMessage を作成し、指定されたデフォルトのエンコーディングとデフォルトの FileTypeMap を保持します。 |
MimeMessageEE | createMimeMessage(InputStreamSE contentStream) 指定された入力ストリームをメッセージソースとして使用して、この送信者の基になる JavaMail セッションの新しい JavaMail MimeMessage を作成します。 |
protected void | doSend(MimeMessageEE[] mimeMessages, ObjectSE[] originalMessages)MimeMessages の指定された配列を JavaMail を介して実際に送信します。 |
StringSE | getDefaultEncoding()MimeMessagesEE のデフォルトのエンコードを返します。ない場合は null を返します。 |
FileTypeMapSE | getDefaultFileTypeMap() |
StringSE | getHost() メールサーバーホストを返します。 |
PropertiesSE | getJavaMailProperties() 特定のエントリを追加または上書きするオプションを使用して、この送信者の JavaMail プロパティへのマップアクセスを許可します。 |
StringSE | getPassword() メールホストでアカウントのパスワードを返します。 |
int | getPort() メールサーバーのポートを返します。 |
StringSE | getProtocol() メールプロトコルを返します。 |
SessionEE | getSession()JavaMail Session を返し、明示的に指定されていない場合は遅延初期化します。 |
protected TransportEE | getTransport(SessionEE session) 設定されたプロトコルを使用して、指定された JavaMail セッションからトランスポートオブジェクトを取得します。 |
StringSE | getUsername() メールホストでアカウントのユーザー名を返します。 |
void | send(MimeMessageEE... mimeMessages)JavaMail MIME メッセージの指定された配列をバッチで送信します。 |
void | send(MimeMessageEE mimeMessage) 指定された JavaMail MIME メッセージを送信します。 |
void | send(MimeMessagePreparator... mimeMessagePreparators) 指定された MimeMessagePreparators によって準備された JavaMail MIME メッセージを送信します。 |
void | send(MimeMessagePreparator mimeMessagePreparator) 指定された MimeMessagePreparator によって準備された JavaMail MIME メッセージを送信します。 |
void | send(SimpleMailMessage... simpleMessages) 指定された単純なメールメッセージの配列をバッチで送信します。 |
void | send(SimpleMailMessage simpleMessage) 指定された単純なメールメッセージを送信します。 |
void | setDefaultEncoding(StringSE defaultEncoding) このインスタンスによって作成された MimeMessagesEE に使用するデフォルトのエンコードを設定します。 |
void | setDefaultFileTypeMap(FileTypeMapSE defaultFileTypeMap) このインスタンスによって作成された MimeMessagesEE に使用するデフォルトの Java Activation FileTypeMapSE を設定します。 |
void | setHost(StringSE host) メールサーバーホスト、通常は SMTP ホストを設定します。 |
void | setJavaMailProperties(PropertiesSE javaMailProperties)Session の JavaMail プロパティを設定します。 |
void | setPassword(StringSE password) メールホストでアカウントのパスワードを設定します(ある場合)。 |
void | setPort(int port) メールサーバーのポートを設定します。 |
void | setProtocol(StringSE protocol) メールプロトコルを設定します。 |
void | setSession(SessionEE session) おそらく JNDI からプルされた JavaMail Session を設定します。 |
void | setUsername(StringSE username) メールホストでアカウントのユーザー名を設定します(存在する場合)。 |
void | testConnection() このインスタンスが、構成されているサーバーに接続できることを確認します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic static final int DEFAULT_PORT
public JavaMailSenderImpl()
JavaMailSenderImpl クラスの新しいインスタンスを作成します。"defaultFileTypeMap" プロパティをデフォルトの ConfigurableMimeFileTypeMap で初期化します。
public void setJavaMailProperties(PropertiesSE javaMailProperties)
Session の JavaMail プロパティを設定します。 これらのプロパティを使用して新しい Session が作成されます。このメソッドまたは setSession(javax.mail.Session) のいずれかを使用します。両方は使用しないでください。
このインスタンスのデフォルト以外のプロパティは、指定された JavaMail プロパティをオーバーライドします。
public PropertiesSE getJavaMailProperties()
たとえば "javaMailProperties [mail.smtp.auth]" を介してエントリを直接指定するのに便利です。
public void setSession(SessionEE session)
Session を設定します。 デフォルトはデフォルトなしの新しい Session で、このインスタンスのプロパティを介して完全に構成されます。
事前設定された Session を使用している場合、このインスタンスのデフォルト以外のプロパティは Session の設定を上書きします。
public SessionEE getSession()
Session を返し、明示的に指定されていない場合は遅延初期化します。public void setHost(@Nullable StringSE host)
デフォルトは、基になる JavaMail セッションのデフォルトホストです。
public void setPort(int port)
デフォルトは DEFAULT_PORT で、JavaMail はデフォルトの SMTP ポート (25) を使用できます。
public int getPort()
public void setUsername(@Nullable StringSE username)
基になる JavaMail Session は、プロパティ "mail.smtp.auth" を true に設定して構成する必要があります。そうでない場合、指定されたユーザー名は JavaMail ランタイムによってメールサーバーに送信されません。使用する Session を明示的に渡さない場合は、setJavaMailProperties(java.util.Properties) を介してこの設定を指定するだけです。
public void setPassword(@Nullable StringSE password)
基になる JavaMail Session は、プロパティ "mail.smtp.auth" を true に設定して構成する必要があることに注意してください。そうでない場合、指定したパスワードは JavaMail ランタイムによってメールサーバーに送信されません。使用する Session を明示的に渡さない場合は、setJavaMailProperties(java.util.Properties) を介してこの設定を指定するだけです。
public void setDefaultEncoding(@Nullable StringSE defaultEncoding)
MimeMessagesEE に使用するデフォルトのエンコードを設定します。 このようなエンコーディングは MimeMessageHelper によって自動検出されます。
@Nullable public StringSE getDefaultEncoding()
MimeMessagesEE のデフォルトのエンコードを返します。ない場合は null を返します。public void setDefaultFileTypeMap(@Nullable FileTypeMapSE defaultFileTypeMap)
MimeMessagesEE に使用するデフォルトの Java Activation FileTypeMapSE を設定します。 ここで指定された FileTypeMap は MimeMessageHelper によって自動検出され、MimeMessageHelper インスタンスごとに FileTypeMap を指定する必要がなくなります。
例: Spring の ConfigurableMimeFileTypeMap のカスタムインスタンスをここで指定できます。明示的に指定されていない場合、デフォルトの ConfigurableMimeFileTypeMap が使用され、MIME 型のマッピングの拡張セット(Spring jar に含まれる mime.types ファイルで定義されている)が含まれます。
@Nullable public FileTypeMapSE getDefaultFileTypeMap()
public void send(SimpleMailMessage simpleMessage) throws MailException
MailSenderMailSender の send simpleMessage - 送信するメッセージ MailParseException - メッセージの解析中に障害が発生した場合 MailAuthenticationException - 認証に失敗した場合 MailSendException - メッセージ送信時に失敗した場合 MailExceptionpublic void send(SimpleMailMessage... simpleMessages) throws MailException
MailSenderMailSender の send simpleMessages - 送信するメッセージ MailParseException - メッセージの解析中にエラーが発生した場合 MailAuthenticationException - 認証に失敗した場合 MailSendException - メッセージ送信時に失敗した場合 MailExceptionpublic MimeMessageEE createMimeMessage()
MimeMessageHelper によって自動検出され、明示的にオーバーライドされない限り、持ち運ばれたエンコーディングと FileTypeMap を使用します。JavaMailSender の createMimeMessage setDefaultEncoding(java.lang.String), setDefaultFileTypeMap(javax.activation.FileTypeMap)public MimeMessageEE createMimeMessage(InputStreamSE contentStream) throws MailException
JavaMailSenderJavaMailSender の createMimeMessage contentStream - メッセージの生の MIME 入力ストリーム MailParseException - メッセージ作成の失敗の場合 MailExceptionpublic void send(MimeMessageEE mimeMessage) throws MailException
JavaMailSenderJavaMailSender.createMimeMessage() で作成されている必要があります。JavaMailSender の send mimeMessage - 送信するメッセージ MailAuthenticationException - 認証に失敗した場合 MailSendException - メッセージ送信時に失敗した場合 MailExceptionJavaMailSender.createMimeMessage()public void send(MimeMessageEE... mimeMessages) throws MailException
JavaMailSenderJavaMailSender.createMimeMessage() で作成されている必要があります。JavaMailSender の send mimeMessages - 送信するメッセージ MailAuthenticationException - 認証に失敗した場合 MailSendException - メッセージ送信時に失敗した場合 MailExceptionJavaMailSender.createMimeMessage()public void send(MimeMessagePreparator mimeMessagePreparator) throws MailException
JavaMailSenderJavaMailSender.createMimeMessage() および JavaMailSender.send(MimeMessage) 呼び出しの代わりに、MimeMessage インスタンスを準備する代替方法。適切な例外変換を処理します。
JavaMailSender の send mimeMessagePreparator - 使用する準備 MailPreparationException - メッセージの準備中に障害が発生した場合 MailParseException - メッセージの解析中に障害が発生した場合 MailAuthenticationException - 認証に失敗した場合 MailSendException - メッセージ送信時に失敗した場合 MailExceptionpublic void send(MimeMessagePreparator... mimeMessagePreparators) throws MailException
JavaMailSenderJavaMailSender.createMimeMessage() および JavaMailSender.send(MimeMessage[]) 呼び出しの代わりに、MimeMessage インスタンスを準備する代替方法。適切な例外変換を処理します。
JavaMailSender の send mimeMessagePreparators - 使用する準備 MailPreparationException - メッセージの準備中にエラーが発生した場合 MailParseException - メッセージの解析中にエラーが発生した場合 MailAuthenticationException - 認証に失敗した場合 MailSendException - メッセージ送信時に失敗した場合 MailExceptionpublic void testConnection()
throws MessagingExceptionEEMessagingExceptionEE をスローします。protected void doSend(MimeMessageEE[] mimeMessages, @Nullable ObjectSE[] originalMessages) throws MailException
mimeMessages - 送信する MimeMessage オブジェクト originalMessages - MimeMessages の作成元となった対応する元のメッセージオブジェクト ("mimeMessages" 配列と同じ配列長とインデックスを持つ) (存在する場合)MailAuthenticationException - 認証に失敗した場合 MailSendException - メッセージ送信時に失敗した場合 MailExceptionprotected TransportEE connectTransport() throws MessagingExceptionEE
MessagingExceptionEE - 接続に失敗した場合 getTransport(javax.mail.Session), getHost(), getPort(), getUsername(), getPassword()protected TransportEE getTransport(SessionEE session) throws NoSuchProviderExceptionEE
サブクラスでオーバーライドできます。モックの Transport オブジェクトを返します。