クラス JavaMailSenderImpl

java.lang.ObjectSE
org.springframework.mail.javamail.JavaMailSenderImpl
実装されているすべてのインターフェース:
JavaMailSenderMailSender

public class JavaMailSenderImpl extends ObjectSE implements JavaMailSender
JavaMailSender インターフェースの実動実装。JavaMail MimeMessagesEE と Spring SimpleMailMessages の両方をサポートします。プレーンな MailSender 実装としても使用できます。

すべての設定を Bean プロパティとしてローカルで定義できます。または、事前に構成された JavaMail SessionEE を指定できます。アプリケーションサーバーの JNDI 環境からプルすることもできます。

このオブジェクトのデフォルト以外のプロパティは、常に JavaMail Session の設定をオーバーライドします。すべての値をローカルでオーバーライドする場合、事前構成された Session の設定に追加の値はないことに注意してください。

導入:
10.09.2003
作成者:
Dmitriy Kopylenko, Juergen Hoeller
関連事項:
  • フィールドの詳細

  • コンストラクターの詳細

    • JavaMailSenderImpl

      public JavaMailSenderImpl()
      JavaMailSenderImpl クラスの新しいインスタンスを作成します。

      "defaultFileTypeMap" プロパティをデフォルトの ConfigurableMimeFileTypeMap で初期化します。

  • メソッドの詳細

    • setJavaMailProperties

      public void setJavaMailProperties(PropertiesSE javaMailProperties)
      Session の JavaMail プロパティを設定します。

      これらのプロパティを使用して新しい Session が作成されます。このメソッドまたは setSession(jakarta.mail.Session) のいずれかを使用します。両方は使用しないでください。

      このインスタンスのデフォルト以外のプロパティは、指定された JavaMail プロパティをオーバーライドします。

    • getJavaMailProperties

      public PropertiesSE getJavaMailProperties()
      特定のエントリを追加または上書きするオプションを使用して、この送信者の JavaMail プロパティへの Map アクセスを許可します。

      javaMailProperties[mail.smtp.auth] などを介してエントリを直接指定する場合に便利です。

    • setSession

      public void setSession(SessionEE session)
      おそらく JNDI からプルされた JavaMail Session を設定します。

      デフォルトはデフォルトなしの新しい Session で、このインスタンスのプロパティを介して完全に構成されます。

      事前設定された Session を使用している場合、このインスタンスのデフォルト以外のプロパティは Session の設定を上書きします。

      関連事項:
    • getSession

      public SessionEE getSession()
      JavaMail Session を返します。明示的に指定されていない場合は、遅延して初期化します。
    • setProtocol

      public void setProtocol(@Nullable StringSE protocol)
      メールプロトコルを設定します。デフォルトは "smtp" です。
    • getProtocol

      public @Nullable StringSE getProtocol()
      メールプロトコルを返します。
    • setHost

      public void setHost(@Nullable StringSE host)
      メールサーバーホスト、通常は SMTP ホストを設定します。

      デフォルトは、基になる JavaMail セッションのデフォルトホストです。

    • getHost

      public @Nullable StringSE getHost()
      メールサーバーホストを返します。
    • setPort

      public void setPort(int port)
      メールサーバーのポートを設定します。

      デフォルトは DEFAULT_PORT で、JavaMail はデフォルトの SMTP ポート (25) を使用できます。

    • getPort

      public int getPort()
      メールサーバーのポートを返します。
    • setUsername

      public void setUsername(@Nullable StringSE username)
      メールホストでアカウントのユーザー名を設定します(存在する場合)。

      基になる JavaMail Session は、プロパティ "mail.smtp.auth" を true に設定して構成する必要があります。そうでない場合、指定されたユーザー名は JavaMail ランタイムによってメールサーバーに送信されません。使用する Session を明示的に渡さない場合は、setJavaMailProperties(java.util.Properties) を介してこの設定を指定するだけです。

      関連事項:
    • getUsername

      public @Nullable StringSE getUsername()
      メールホストでアカウントのユーザー名を返します。
    • setPassword

      public void setPassword(@Nullable StringSE password)
      メールホストでアカウントのパスワードを設定します(ある場合)。

      基になる JavaMail Session は、プロパティ "mail.smtp.auth" を true に設定して構成する必要があることに注意してください。そうでない場合、指定したパスワードは JavaMail ランタイムによってメールサーバーに送信されません。使用する Session を明示的に渡さない場合は、setJavaMailProperties(java.util.Properties) を介してこの設定を指定するだけです。

      関連事項:
    • getPassword

      public @Nullable StringSE getPassword()
      メールホストでアカウントのパスワードを返します。
    • setDefaultEncoding

      public void setDefaultEncoding(@Nullable StringSE defaultEncoding)
      このインスタンスによって作成された MimeMessagesEE に使用するデフォルトのエンコードを設定します。

      このようなエンコーディングは MimeMessageHelper によって自動検出されます。

    • getDefaultEncoding

      public @Nullable StringSE getDefaultEncoding()
      MimeMessagesEE のデフォルトのエンコードを返します。ない場合は null を返します。
    • setDefaultFileTypeMap

      public void setDefaultFileTypeMap(@Nullable FileTypeMapEE defaultFileTypeMap)
      このインスタンスによって作成された MimeMessagesEE に使用するデフォルトの Java Activation FileTypeMapEE を設定します。

      ここで指定された FileTypeMap は MimeMessageHelper によって自動検出され、MimeMessageHelper インスタンスごとに FileTypeMap を指定する必要がなくなります。

      例: Spring の ConfigurableMimeFileTypeMap のカスタムインスタンスをここで指定できます。明示的に指定されていない場合、デフォルトの ConfigurableMimeFileTypeMap が使用され、MIME 型のマッピングの拡張セット(Spring jar に含まれる mime.types ファイルで定義されている)が含まれます。

      関連事項:
    • getDefaultFileTypeMap

      public @Nullable FileTypeMapEE getDefaultFileTypeMap()
      MimeMessagesEE の場合はデフォルトの Java Activation FileTypeMapEE を返し、ない場合は null を返します。
    • send

      public void send(SimpleMailMessage... simpleMessages) throws MailException
      インターフェースからコピーされた説明: MailSender
      指定された単純なメールメッセージの配列をバッチで送信します。
      次で指定:
      インターフェース MailSendersend 
      パラメーター:
      simpleMessages - 送信するメッセージ
      例外:
      MailException
    • createMimeMessage

      public MimeMessageEE createMimeMessage()
      この実装は、指定されたデフォルトのエンコーディングとデフォルトの FileTypeMap を保持する SmartMimeMessage を作成します。この特別なデフォルトを運ぶメッセージは MimeMessageHelper によって自動検出され、明示的にオーバーライドされない限り、持ち運ばれたエンコーディングと FileTypeMap を使用します。
      次で指定:
      インターフェース JavaMailSendercreateMimeMessage 
      戻り値:
      新しい MimeMessage インスタンス
      関連事項:
    • createMimeMessage

      public MimeMessageEE createMimeMessage(InputStreamSE contentStream) throws MailException
      インターフェースからコピーされた説明: JavaMailSender
      指定された入力ストリームをメッセージソースとして使用して、この送信者の基になる JavaMail セッションの新しい JavaMail MimeMessage を作成します。
      次で指定:
      インターフェース JavaMailSendercreateMimeMessage 
      パラメーター:
      contentStream - メッセージの生の MIME 入力ストリーム
      戻り値:
      新しい MimeMessage インスタンス
      例外:
      MailException
    • send

      public void send(MimeMessageEE... mimeMessages) throws MailException
      インターフェースからコピーされた説明: JavaMailSender
      JavaMail MIME メッセージの指定された配列をバッチで送信します。メッセージは JavaMailSender.createMimeMessage() で作成されている必要があります。
      次で指定:
      インターフェース JavaMailSendersend 
      パラメーター:
      mimeMessages - 送信するメッセージ
      例外:
      MailException
      関連事項:
    • testConnection

      public void testConnection() throws MessagingExceptionEE
      このインスタンスが、構成されているサーバーに接続できることを確認します。接続の試行が失敗した場合、MessagingExceptionEE をスローします。
      例外:
      MessagingExceptionEE
    • doSend

      protected void doSend(MimeMessageEE[] mimeMessages, ObjectSE @Nullable [] originalMessages) throws MailException
      MimeMessages の指定された配列を JavaMail を介して実際に送信します。
      パラメーター:
      mimeMessages - 送信する MimeMessage オブジェクト
      originalMessages - MimeMessages の作成元となった対応する元のメッセージオブジェクト ("mimeMessages" 配列と同じ配列長とインデックスを持つ) (存在する場合)
      例外:
      MailAuthenticationException - 認証に失敗した場合
      MailSendException - メッセージ送信時に失敗した場合
      MailException
    • connectTransport

      protected TransportEE connectTransport() throws MessagingExceptionEE
      基礎となる JavaMail セッションからトランスポートを取得して接続し、指定されたホスト、ポート、ユーザー名、パスワードを渡します。
      戻り値:
      接続された Transport オブジェクト
      例外:
      MessagingExceptionEE - 接続に失敗した場合
      導入:
      4.1.2
      関連事項:
    • getTransport

      protected TransportEE getTransport(SessionEE session) throws NoSuchProviderExceptionEE
      設定されたプロトコルを使用して、指定された JavaMail セッションからトランスポートオブジェクトを取得します。

      たとえば、サブクラスでオーバーライドして、モックの Transport オブジェクトを返すことができます。

      例外:
      NoSuchProviderExceptionEE
      関連事項: