パッケージ org.opengion.fukurou.mail

## クラス MailTX

- java.lang.Object
- - org.opengion.fukurou.mail.MailTX

-     public class MailTX
      extends Object

  MailTX は、SMTPプロトコルによるメール送信プログラムです。 E-Mail で日本語を送信する場合、ISO-2022-JP(JISコード)化して、7bit で エンコードして送信する必要がありますが、Windows系の特殊文字や、unicodeと 文字のマッピングが異なる文字などが、文字化けします。 対応方法としては、 １．Windows-31J + 8bit 送信 ２．ISO-2022-JP に独自変換 + 7bit 送信 の方法があります。 今回、この２つの方法について、対応いたしました。 ※ 6.3.8.0 (2015/09/11) useSSL属性=true に設定すると、protocolに、smtps を使用します。
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドの概要

    フィールド
    修飾子とタイプ | フィールド | 説明
    --- | --- | ---
    `static String` | `MAILER` | メーラーの名称 "openGion Mail Ver 6.0"

  - ### コンストラクタの概要

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `MailTX​(String host)` | メールサーバーとデフォルト文字エンコーディングを指定して、オブジェクトを構築します。
    `MailTX​(String host, String charset)` | メールサーバーとデフォルト文字エンコーディングを指定して、オブジェクトを構築します。
    `MailTX​(String host, String charset, String smtpPort, String authType, String authPort, String authUser, String authPass, boolean useStarttls, boolean useSSL)` | メールサーバーと文字エンコーディングを指定して、オブジェクトを構築します。

  - ### メソッドの概要

    すべてのメソッド staticメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `void` | `clearBcc()` | 送信先(BCC)アドレス配列をクリアします。
    `void` | `clearCc()` | 送信先(CC)アドレス配列をクリアします。
    `void` | `clearTo()` | 送信先(ＴＯ)アドレス配列をクリアします。
    `static void` | `main​(String[] args)` | コマンドから実行できる、テスト用の main メソッドです。
    `void` | `reset()` | MimeMessageをリセットします。
    `void` | `sendmail()` | メールを送信します。
    `void` | `setBcc​(String... bcc)` | 送信先(ＢＣＣ)アドレス配列をセットします。
    `void` | `setCc​(String... cc)` | 送信先(ＣＣ)アドレス配列をセットします。
    `void` | `setDebug​(boolean debug)` | デバッグ情報の表示を行うかどうかをセットします。
    `void` | `setFilename​(String... fname)` | 添付ファイル名配列をセットします。
    `void` | `setFrom​(String from)` | 送信元(ＦＲＯＭ)アドレスをセットします。
    `void` | `setMessage​(String msg)` | メッセージ(本文)をセットします。
    `void` | `setReplyTo​(String... replyTo)` | 返信元(replyTo)アドレス配列をセットします。
    `void` | `setSubject​(String subject)` | タイトルをセットします。
    `void` | `setTo​(String... to)` | 送信先(ＴＯ)アドレス配列をセットします。

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### フィールドの詳細

    - #### MAILER

          public static final String MAILER

      メーラーの名称 "openGion Mail Ver 6.0"
      関連項目:
        定数フィールド値

  - ### コンストラクタの詳細

    - #### MailTX

          public MailTX​(String host)

      メールサーバーとデフォルト文字エンコーディングを指定して、オブジェクトを構築します。 デフォルト文字エンコーディングは、ISO-2022-JP です。
      パラメータ:
        `host` - メールサーバー
      例外:
        `IllegalArgumentException` - 引数が null の場合。

    - #### MailTX

          public MailTX​(String host,
                        String charset)

      メールサーバーとデフォルト文字エンコーディングを指定して、オブジェクトを構築します。 文字エンコーディングには、Windwos-31J , MS932 , UTF-8 , ISO-2022-JP を指定できます。
      パラメータ:
        `host` - メールサーバー
        `charset` - 文字エンコーディング
      例外:
        `IllegalArgumentException` - 引数が null の場合。
      変更履歴:
        5.4.3.2 (2012/01/06) 認証対応のため, 5.8.1.1 (2014/11/14) 認証ポート追加, 6.3.8.0 (2015/09/11) SSL接続するかどうかを指定するパラメータを追加します。

    - #### MailTX

          public MailTX​(String host,
                        String charset,
                        String smtpPort,
                        String authType,
                        String authPort,
                        String authUser,
                        String authPass,
                        boolean useStarttls,
                        boolean useSSL)

      メールサーバーと文字エンコーディングを指定して、オブジェクトを構築します。 認証を行う場合は認証方法を指定します。 文字エンコーディングには、Windwos-31J , MS932 , ISO-2022-JP を指定できます。
      パラメータ:
        `host` - メールサーバー
        `charset` - 文字エンコーディング
        `smtpPort` - SMTPポート
        `authType` - 認証方法(POP_BEFORE_SMTP , SMTP_AUTH)
        `authPort` - 認証ポート
        `authUser` - 認証ユーザ
        `authPass` - 認証パスワード
        `useStarttls` - 暗号化通信設定（STARTTLS) 5.9.29.2
        `useSSL` - SSL接続するかどうか
      例外:
        `IllegalArgumentException` - 引数が null の場合。
      変更履歴:
        5.1.9.0 (2010/08/01) mail.smtp.localhostの設定追加, 5.4.3.2 (2012/01/06) 認証対応(POP Before SMTP)。引数３つ追加(将来的にはAuthentication対応？), 5.8.1.1 (2014/11/14) 認証ポート追加, 6.2.4.1 (2015/05/22) SMTP_AUTH 対応, 6.3.8.0 (2015/09/11) SSL接続するかどうかを指定するパラメータを追加します。, 5.9.29.2 (2018/02/16) STARTTLS対応(ｷｰﾜｰﾄﾞをVer5 にあわせます), 5.10.20.1 (2020/03/03) 添付ファイル名文字化け対策

  - ### メソッドの詳細

    - #### sendmail

          public void sendmail()

      メールを送信します。

    - #### reset

          public void reset()

      MimeMessageをリセットします。 sendmail() でメールを送信後、セッションを閉じずに別のメールを送信する場合、 リセットしてから、各種パラメータを再設定してください。 その場合は、すべてのパラメータが初期化されていますので、もう一度 設定しなおす必要があります。

    - #### setFrom

          public void setFrom​(String from)

      送信元(ＦＲＯＭ)アドレスをセットします。
      パラメータ:
        `from` - 送信元(ＦＲＯＭ)アドレス

    - #### setTo

          public void setTo​(String... to)

      送信先(ＴＯ)アドレス配列をセットします。
      パラメータ:
        `to` - 送信先(ＴＯ)アドレス配列(可変長引数)

    - #### setCc

          public void setCc​(String... cc)

      送信先(ＣＣ)アドレス配列をセットします。
      パラメータ:
        `cc` - 送信先(ＣＣ)アドレス配列(可変長引数)

    - #### setBcc

          public void setBcc​(String... bcc)

      送信先(ＢＣＣ)アドレス配列をセットします。
      パラメータ:
        `bcc` - 送信先(ＢＣＣ)アドレス配列(可変長引数)

    - #### clearTo

          public void clearTo()

      送信先(ＴＯ)アドレス配列をクリアします。
      変更履歴:
        4.3.6.0 (2009/04/01) 新規追加

    - #### clearCc

          public void clearCc()

      送信先(CC)アドレス配列をクリアします。
      変更履歴:
        4.3.6.0 (2009/04/01) 新規追加

    - #### clearBcc

          public void clearBcc()

      送信先(BCC)アドレス配列をクリアします。
      変更履歴:
        4.3.6.0 (2009/04/01) 新規追加

    - #### setReplyTo

          public void setReplyTo​(String... replyTo)

      返信元(replyTo)アドレス配列をセットします。
      パラメータ:
        `replyTo` - 返信元(replyTo)アドレス配列(可変長引数)

    - #### setSubject

          public void setSubject​(String subject)

      タイトルをセットします。
      パラメータ:
        `subject` - タイトル

    - #### setFilename

          public void setFilename​(String... fname)

      添付ファイル名配列をセットします。
      パラメータ:
        `fname` - 添付ファイル名配列(可変長引数)

    - #### setMessage

          public void setMessage​(String msg)

      メッセージ(本文)をセットします。
      パラメータ:
        `msg` - メッセージ(本文)

    - #### setDebug

          public void setDebug​(boolean debug)

      デバッグ情報の表示を行うかどうかをセットします。
      パラメータ:
        `debug` - 表示有無[true/false]

    - #### main

          public static void main​(String[] args)

      コマンドから実行できる、テスト用の main メソッドです。 Usage: java org.opengion.fukurou.mail.MailTX <from> <to> <host> [<file> ....] で、複数の添付ファイルを送付することができます。
      パラメータ:
        `args` - コマンド引数配列
      変更履歴:
        6.3.6.0 (2015/08/16) System.arraycopy が使える箇所は、置き換えます。