public class JavaMailSenderImpl extends ObjectSE implements JavaMailSender
JavaMailSender
インターフェースの実動実装。JavaMail MimeMessages
EE と Spring SimpleMailMessages
の両方をサポートします。プレーンな MailSender
実装としても使用できます。 すべての設定を Bean プロパティとしてローカルで定義できます。または、事前に構成された JavaMail Session
EE を指定できます。アプリケーションサーバーの JNDI 環境からプルすることもできます。
このオブジェクトのデフォルト以外のプロパティは、常に JavaMail Session
の設定をオーバーライドします。すべての値をローカルでオーバーライドする場合、事前構成された Session
の設定に追加の値はないことに注意してください。
MimeMessage
EE, Session
EE, 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() MimeMessages EE のデフォルトのエンコードを返します。ない場合は 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) このインスタンスによって作成された MimeMessages EE に使用するデフォルトのエンコードを設定します。 |
void | setDefaultFileTypeMap(FileTypeMapSE defaultFileTypeMap) このインスタンスによって作成された MimeMessages EE に使用するデフォルトの Java Activation FileTypeMap SE を設定します。 |
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, waitSE
public 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)
MimeMessages
EE に使用するデフォルトのエンコードを設定します。 このようなエンコーディングは MimeMessageHelper
によって自動検出されます。
@Nullable public StringSE getDefaultEncoding()
MimeMessages
EE のデフォルトのエンコードを返します。ない場合は null
を返します。public void setDefaultFileTypeMap(@Nullable FileTypeMapSE defaultFileTypeMap)
MimeMessages
EE に使用するデフォルトの Java Activation FileTypeMap
SE を設定します。 ここで指定された FileTypeMap
は MimeMessageHelper
によって自動検出され、MimeMessageHelper
インスタンスごとに FileTypeMap
を指定する必要がなくなります。
例: Spring の ConfigurableMimeFileTypeMap
のカスタムインスタンスをここで指定できます。明示的に指定されていない場合、デフォルトの ConfigurableMimeFileTypeMap
が使用され、MIME 型のマッピングの拡張セット(Spring jar に含まれる mime.types
ファイルで定義されている)が含まれます。
@Nullable public FileTypeMapSE getDefaultFileTypeMap()
public void send(SimpleMailMessage simpleMessage) throws MailException
MailSender
MailSender
の send
simpleMessage
- 送信するメッセージ MailParseException
- メッセージの解析中に障害が発生した場合 MailAuthenticationException
- 認証に失敗した場合 MailSendException
- メッセージ送信時に失敗した場合 MailException
public void send(SimpleMailMessage... simpleMessages) throws MailException
MailSender
MailSender
の send
simpleMessages
- 送信するメッセージ MailParseException
- メッセージの解析中にエラーが発生した場合 MailAuthenticationException
- 認証に失敗した場合 MailSendException
- メッセージ送信時に失敗した場合 MailException
public MimeMessageEE createMimeMessage()
MimeMessageHelper
によって自動検出され、明示的にオーバーライドされない限り、持ち運ばれたエンコーディングと FileTypeMap を使用します。JavaMailSender
の createMimeMessage
setDefaultEncoding(java.lang.String)
, setDefaultFileTypeMap(javax.activation.FileTypeMap)
public MimeMessageEE createMimeMessage(InputStreamSE contentStream) throws MailException
JavaMailSender
JavaMailSender
の createMimeMessage
contentStream
- メッセージの生の MIME 入力ストリーム MailParseException
- メッセージ作成の失敗の場合 MailException
public void send(MimeMessageEE mimeMessage) throws MailException
JavaMailSender
JavaMailSender.createMimeMessage()
で作成されている必要があります。JavaMailSender
の send
mimeMessage
- 送信するメッセージ MailAuthenticationException
- 認証に失敗した場合 MailSendException
- メッセージ送信時に失敗した場合 MailException
JavaMailSender.createMimeMessage()
public void send(MimeMessageEE... mimeMessages) throws MailException
JavaMailSender
JavaMailSender.createMimeMessage()
で作成されている必要があります。JavaMailSender
の send
mimeMessages
- 送信するメッセージ MailAuthenticationException
- 認証に失敗した場合 MailSendException
- メッセージ送信時に失敗した場合 MailException
JavaMailSender.createMimeMessage()
public void send(MimeMessagePreparator mimeMessagePreparator) throws MailException
JavaMailSender
JavaMailSender.createMimeMessage()
および JavaMailSender.send(MimeMessage)
呼び出しの代わりに、MimeMessage インスタンスを準備する代替方法。適切な例外変換を処理します。
JavaMailSender
の send
mimeMessagePreparator
- 使用する準備 MailPreparationException
- メッセージの準備中に障害が発生した場合 MailParseException
- メッセージの解析中に障害が発生した場合 MailAuthenticationException
- 認証に失敗した場合 MailSendException
- メッセージ送信時に失敗した場合 MailException
public void send(MimeMessagePreparator... mimeMessagePreparators) throws MailException
JavaMailSender
JavaMailSender.createMimeMessage()
および JavaMailSender.send(MimeMessage[])
呼び出しの代わりに、MimeMessage インスタンスを準備する代替方法。適切な例外変換を処理します。
JavaMailSender
の send
mimeMessagePreparators
- 使用する準備 MailPreparationException
- メッセージの準備中にエラーが発生した場合 MailParseException
- メッセージの解析中にエラーが発生した場合 MailAuthenticationException
- 認証に失敗した場合 MailSendException
- メッセージ送信時に失敗した場合 MailException
public void testConnection() throws MessagingExceptionEE
MessagingException
EE をスローします。protected void doSend(MimeMessageEE[] mimeMessages, @Nullable ObjectSE[] originalMessages) throws MailException
mimeMessages
- 送信する MimeMessage オブジェクト originalMessages
- MimeMessages の作成元となった対応する元のメッセージオブジェクト ("mimeMessages" 配列と同じ配列長とインデックスを持つ) (存在する場合)MailAuthenticationException
- 認証に失敗した場合 MailSendException
- メッセージ送信時に失敗した場合 MailException
protected TransportEE connectTransport() throws MessagingExceptionEE
MessagingExceptionEE
- 接続に失敗した場合 getTransport(javax.mail.Session)
, getHost()
, getPort()
, getUsername()
, getPassword()
protected TransportEE getTransport(SessionEE session) throws NoSuchProviderExceptionEE
サブクラスでオーバーライドできます。モックの Transport オブジェクトを返します。