クラス 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
関連事項:
  • フィールドサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final int
    デフォルトのポート: -1.
    static final StringSE
    デフォルトのプロトコル: "smtp"。
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
    JavaMailSenderImpl クラスの新しいインスタンスを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    protected TransportEE
    基礎となる JavaMail セッションからトランスポートを取得して接続し、指定されたホスト、ポート、ユーザー名、パスワードを渡します。
    この実装は SmartMimeMessage を作成し、指定されたデフォルトのエンコーディングとデフォルトの FileTypeMap を保持します。
    指定された入力ストリームをメッセージソースとして使用して、この送信者の基になる JavaMail セッションの新しい JavaMail MimeMessage を作成します。
    protected void
    doSend(MimeMessageEE[] mimeMessages, ObjectSE[] originalMessages)
    MimeMessages の指定された配列を JavaMail を介して実際に送信します。
    MimeMessagesEE のデフォルトのエンコードを返します。ない場合は null を返します。
    MimeMessagesEE の場合はデフォルトの Java Activation FileTypeMapEE を返し、ない場合は null を返します。
    メールサーバーホストを返します。
    特定のエントリを追加または上書きするオプションを使用して、この送信者の JavaMail プロパティへの Map アクセスを許可します。
    メールホストでアカウントのパスワードを返します。
    int
    メールサーバーのポートを返します。
    メールプロトコルを返します。
    JavaMail Session を返します。明示的に指定されていない場合は、遅延して初期化します。
    protected TransportEE
    設定されたプロトコルを使用して、指定された JavaMail セッションからトランスポートオブジェクトを取得します。
    メールホストでアカウントのユーザー名を返します。
    void
    send(MimeMessageEE... mimeMessages)
    JavaMail MIME メッセージの指定された配列をバッチで送信します。
    void
    send(SimpleMailMessage... simpleMessages)
    指定された単純なメールメッセージの配列をバッチで送信します。
    void
    setDefaultEncoding(StringSE defaultEncoding)
    このインスタンスによって作成された MimeMessagesEE に使用するデフォルトのエンコードを設定します。
    void
    このインスタンスによって作成された MimeMessagesEE に使用するデフォルトの Java Activation FileTypeMapEE を設定します。
    void
    メールサーバーホスト、通常は SMTP ホストを設定します。
    void
    Session の JavaMail プロパティを設定します。
    void
    メールホストでアカウントのパスワードを設定します(ある場合)。
    void
    setPort(int port)
    メールサーバーのポートを設定します。
    void
    メールプロトコルを設定します。
    void
    おそらく JNDI からプルされた JavaMail Session を設定します。
    void
    メールホストでアカウントのユーザー名を設定します(存在する場合)。
    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
  • フィールドの詳細

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

    • 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

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

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

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

    • getHost

      @Nullable public 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

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

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

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

      関連事項:
    • getPassword

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

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

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

    • getDefaultEncoding

      @Nullable public 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

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

      public void send(SimpleMailMessage... simpleMessages) throws MailException
      インターフェースからコピーされた説明: MailSender
      指定された単純なメールメッセージの配列をバッチで送信します。
      次で指定:
      インターフェース MailSendersend 
      パラメーター:
      simpleMessages - 送信するメッセージ
      例外:
      MailParseException - メッセージの解析中にエラーが発生した場合
      MailAuthenticationException - 認証に失敗した場合
      MailSendException - メッセージ送信時に失敗した場合
      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 インスタンス
      例外:
      MailParseException - メッセージ作成の失敗の場合
      MailException
    • send

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

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

      protected void doSend(MimeMessageEE[] mimeMessages, @Nullable ObjectSE[] 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
      関連事項: