SEND
SENDコマンドはメールを送信します。
SENDコマンドでTO、CC、BCC、FROM、SUBJECTの各キーワードを使用すると、SMTPMailServiceプロパティ・ファイルまたはSETコマンドで設定された値がオーバーライドされます。
SENDコマンドに作業リスト引数がある場合、リスト・エントリーを使用してメッセージ本文が作成されます。最初のリスト・フィールドにはテキストが含まれ、オプションの2番目のフィールドは、連結プロセスの制御に使用されます。2番目のフィールドが存在しないか、そのフィールドの値がブランクの場合、省略値のオプション値NAが使用されます。
以下のオプションの値を使用できます。
SB - テキスト・エントリーを加える前にスペースを追加します(最初のエントリーを除く)。
NB - テキスト・エントリーを加える前に改行を追加します(最初のエントリーを除く)。
SA - テキスト・エントリーを加えた後にスペースを追加します(最後のエントリーを除く)。
NA - テキスト・エントリーを加えた後に改行を追加します。
2番目のフィールド値が上記のいずれでもない場合、追加のアクションは行われず、次のエントリーが前のエントリーに追加されます。
任意
SEND ---------- TO -----------値---------------------------->
>-- CC -----------値---------------------------->
>-- BCC ----------値---------------------------->
>-- FROM ---------値---------------------------->
>-- SUBJECT ------値---------------------------->
>-- SIGNER -------値---------------------------->
>-- MULTIPARTSIGNED --- *NO ------------------------->
*YES
>-- ENCRYPT ------なし----------------------------->
*DES
*DES-EDE3
*RC2-40
*RC2-64
*RC2-128
>-- CONTENT ------ *PLAIN --------------------------->
*HTML
値
>-- BODY ---------値---------------------------->
>-- ENCODING ----- *DEFAULT -------------------------|
値
キーワード
TO |
メールの送信先として1つのメール・アドレスを指定できます。 あるいは、SETコマンドを使用して1つのTOメールまたは複数のTOメールを指定します。 |
CC |
メールのcc (カーボン・コピー)先として1つのメール・アドレスを指定できます。 あるいは、SETコマンドを使用して1つのCCメールまたは複数のCCメールを指定します。 |
BCC |
メールのbcc (ブラインド・カーボン・コピー)先として1つのメール・アドレスを指定できます。 あるいは、SETコマンドを使用して1つのBCCメールまたは複数のBCCメールを指定します。 |
FROM |
このメッセージの送信元のメール・アドレス FROMプロパティは、通常は変わらないためSMTPMailServiceプロパティ・ファイルで構成されるのが一般的です。これにより、FROMメール・アドレスの一貫性が保証され、FROMメール・アドレスを簡単に変更できます。 あるいは、SETコマンドでこの値を指定できます。 メールを送信するには、FROMメール・アドレスを指定してください。 |
SUBJECT |
メールの件名を表します。 あるいは、SETコマンドでこの値を指定できます。 |
SIGNER |
署名者の値は、2つの要素(名前とパスワード、形式は名前:パスワード)で構成されます。これらの値を使用して、SMTPサービス・プロパティの適切なプライベート・キー・ストアとセキュリティ証明書情報にアクセスします。 署名したメールを送信するには、SMTPMailServerで秘密鍵と公開証明書が必要です。メール署名者用のSMTPMailServiceプロパティ・ファイルでこの2つのファイルを特定する必要があります。 使用されるX509公開証明書ファイルは、プロパティsigner.certificate.{名前}から取得されます。 使用されるPKCS8キー・ストア・ファイルは、プロパティsigner.keystore.{名前}から取得されます。キー・ストア・パスワードはパスワードの構成要素です。 例えば、署名者の名前がSMTPSIGNの場合、SMTPMailServiceプロパティ・ファイルには以下のようなエントリーが含まれます。
signer.keystore.SMTPSIGN=test-input/smtp-signer-key.der signer.certificate.SMTPSIGN=test-input/smtp-signer-certificate.der
次に、署名したメールを送信するには、以下のようなJSMコマンドを発行します。
use builtin(jsmx_command) with_args(#jsmxhdle1 'send signer(SMTPSIGN:password)') TO_GET(#jsmxsts #jsmxmsg)
署名したメールの受信者に公開証明書を送信する必要はありません。公開証明書は、自動的にメールに含まれます。 重要:相手にプライベート・キー・ストア・ファイルを送信する必要はありません。公開証明書のみが交換されます。 |
MULTIPARTSIGNED |
サービスで、multipart/signedの署名したメッセージを送信できます。 *YES - multipart/signed形式でメッセージを送信します。 *NO - multipart/signed形式でメッセージを送信しません(省略値)。 |
ENCRYPT |
暗号化は、クリアテキスト・メッセージ(平文)を、意味のない連続ビット(暗号文)のようなデータ・ストリームに変換するプロセスです。暗号鍵は、平文入力を暗号文出力に(または暗号文入力を平文出力に)変換する際に使用される数学関数です。 メールを暗号化する場合、暗号アルゴリズム(暗号鍵)を指定する必要があります。省略値ではメールに暗号化は適用されませんが、SMTPMailServiceは以下のブロック暗号化の暗号鍵をサポートしています。 *DES - データ暗号化規格はブロック暗号鍵で(一度にビットのブロックに機能する)、固定鍵長アルゴリズムを使用します。56ビット数で1つの鍵となる56ビット鍵を使用します。 *DES-EDE3 - トリプルDESは、3つの異なる鍵を使用してDES暗号化を3回適用することにより、DESのセキュリティを強化したものです。この方法では、有効な鍵の長さは168ビット(56 x 3)になり、実質的に総当たり攻撃が不可能になります。 *RC2-40、*RC2-64、*RC2-128 - RC2暗号化のバージョンで、40ビット、64ビット、128ビットの暗号化をそれぞれサポートします。定義では、RC2暗号化は可変長鍵の暗号鍵で、40〜128ビットの範囲内で8ビットずつ増加する鍵長をサポートします。 暗号化アルゴリズムが決まったら、メールを暗号化および復号化するために、適切な鍵を指定する必要があります。最新のすべての暗号鍵では、鍵と平文を組み合わせて入力し、暗号文を生成します。暗号文から平文に戻すには、復号化機能に同じまたは別の鍵を指定します。暗号鍵のセキュリティは、暗号鍵の詳細部分(通常は公開される)ではなく鍵にあります。 暗号化されたメールを送信するには、メールの全受信者の公開証明書が必要です。 メールの受信者はそれぞれの公開X.509証明書を送信する必要があります。メールの受信者ごとに、それぞれの公開X.509証明書の場所を示すエントリーをSMTPMailServiceプロパティ・ファイルに追加します。 例:
[email protected]=test-input/smtp-person-certificate.der
|
CONTENT |
最もよく使用されるメールの内容タイプはtext/plainとtext/htmlです(対応する値は*PLAINと*HTML)。 省略値の内容タイプ*PLAINは、MIMEタイプtext/plainを表し、単純なテキスト・メッセージに使用されます。 値が*HTMLの場合、MIMEタイプtext/htmlはメール本文に適用され、HTMLタグを使用してメール本文の書式を設定できます。 適切なタイプやサブタイプの記述を使用して、代わりの内容タイプも割り当てることができます。 例えばtext/enrichedなどです。 |
BODY |
本文を含むファイルを指定できます。指定のファイルがない場合、本文はサービス・リスト引数(指定されている場合)から作成されます。 BODYキーワードが使用される場合、本文はファイルから取得され、ENCODINGキーワード値を使用してUnicodeに変換されるため、作業リストの参照は無視されます。 |
ENCODING |
バイト内容のUnicode文字列変換に適用されるエンコーディングを指定する場合に使用されます。ENCODINGキーワードの省略値は*DEFAULTです。 詳細については、「ENCODING」を参照してください。 |
例
RDML
メールの件名を設定し、メールの本文を作業リストに入れます。SENDコマンドの前にSETコマンドとADDコマンドを使用して追加の詳細を定義できます。あるいは、SMTPMailServiceプロパティ・ファイルの省略値が適用されます。
USE BUILTIN(TCONCAT) WITH_ARGS('SEND SUBJECT(' #SUBJECT ') SERVICE_LIST(TXT)') TO_GET(#JSMCMD)
USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG #MESSAGE)
RDMLX
メールの件名を設定してファイルに本文を入れます。SENDコマンドの前にSETコマンドとADDコマンドを使用して追加の詳細を定義できます。あるいは、SMTPMailServiceプロパティ・ファイルの省略値が適用されます。
#jsmcmd := 'send subject(' + #subject + ') body(emailtext.txt) encrypt(*DES)'
use builtin(jsmx_command) with_args(#jsmhdle #jsmcmd) to_get(#jsmsts #jsmmsg)
ILE RPG
1つのXMLファイルをメールの添付ファイルとして含めます。
c eval jsmcmd = 'send '
c + ' encrypt(*des) body(emailtext.txt)'
c callp p_jsmcmd(jsmcmd:jsmsts:jsmmsg)