サポート > リポジトリ > メール送受信 > メール送信(メールテンプレートを固定する)
ja | en

メールの宛先、本文などをテンプレートとして用意します。その内容でメールを送信することができます。

メール送信の設定は、次の手順で行います。

  1. Designerによるボタン設定とビルド。
  2. (ビルドした)Wagbyアプリケーションで行う「メールテンプレート」の設定

ここでは、それぞれの手順の詳細を説明します。

Designerの設定

「メール>送信」タブを開きます。画面機能毎のタイミングでメール送信の設定を行うことができます。 ここでは顧客データの「登録時」に営業部全員へ自動メール配信を行う例を説明します。

設定項目 説明 入力例
メールを送信する このチェックを有効にするとメール送信機能が動作します。 (チェック)
送信のタイミング "処理完了時" または "メール送信ボタン" を選択できます。処理完了時は自動メール配信です。メール送信ボタンを用意すると、ボタンを押したときにメールを送信します。一般的には登録・更新・削除といった動作を伴う場合は "処理完了時" を、詳細画面では "メール送信ボタン" を選択します。 処理完了時
メール送信ボタン 送信のタイミングが "メール送信ボタン" のとき、ボタン名に設定した名前でメール送信用のボタンが配置されます。 (チェック)
メールテンプレート項目 後述する「メールテンプレート」の識別子(ID)になります。重複しない名前を英数字の組み合わせで決めてください。 announceForSalesTeam
メール送信後に
メッセージを表示する
メール送信が成功または失敗したというメッセージを画面に表示します。
送信条件 メール送信の条件を指定することができます。条件に合致しなければ、メールは送信されません。[詳細...] ${status}==1
成功時のアクション メール送信が成功した場合に実行する式を指定できます。[詳細...] ${count}=${count}+1
失敗時のアクション メール送信が失敗した場合に実行する式を指定できます。[詳細...] ${status}=-1
図1 登録時の自動メール送信の設定

ビルドしたアプリケーションにシステム管理者でログオンします。図1に設定したメールテンプレートの詳細な設定を行います。メールテンプレートの新規登録を行います。(図2)

図2 メールテンプレートの新規登録

メールテンプレートの設定画面です。(図3,図4)

「適用モデル」で「顧客」を選択します。 「メールサーバ」「件名」「差出人」などを設定します。「説明」は必ず入力してください。各項目にはプレースホルダを指定することもできます。

基本設定

メール送信に関する基本設定です。

設定項目 必須 説明 入力例
ID 図1に設定したメールテンプレート項目の値を指定します。この値がキーとなり、図1の値と紐付けられます。 (図1の設定値と同じ)
適用モデル区分 通常は "ユーザー" を選択します。 ユーザー
適用モデル このメール送信を行うモデルを指定します。 顧客
説明 このメールテンプレートの目的や性質(送信タイミング)、宛先等の情報を明記します。 (自由文章)
件名 送信するメールの題名を記述します。文字列内にプレースホルダを含めることもできます。 ${customer_p.name}様へのご案内
差出人 送信元のメールアドレスを指定します。文字列内にプレースホルダを含めることもできます。 info
${customer_p.createusermail}
宛先人 送信先のメールアドレスを指定します。文字列内にプレースホルダを含めることもできます。 sales
${customer_p.email}
宛先人に個別送信 後述する「宛先人を複数指定した場合」をお読みください。 (未設定時は個別送信しない)
Cc カーボンコピーのメールアドレスを指定します。文字列内にプレースホルダを含めることもできます。 -
Bcc ブラインドカーボンコピーのメールアドレスを指定します。文字列内にプレースホルダを含めることもできます。 -
添付ファイル プレースホルダを用いて添付ファイルに該当するモデル項目名を指定します。この項目に登録されたファイルを添付ファイルとして扱います。 ${customer_p.filename}
最大添付ファイル数 繰り返しコンテナ内の項目を添付ファイルとして利用すると複数の添付ファイルを指定できますが、この値を設定することで最大添付ファイル数の制限をかけることができます。 10
本文形式 テキストメール,HTMLメールといった指定を行うことができます。この指定方法に応じて、具体的に入力できる本文が選択されます。メール本文は、本指定を行うと下部のテキストエリアに適切な入力欄が有効になりますので、そこに記載してください。(本文中にプレースホルダを含めることができます。) テキストのみ
図3 メールテンプレートの設定画面(1)
図4 メールテンプレートの設定画面(2)

サーバ > SMTP

送信を行う (SMTP) サーバに関する設定です。GmailやOffice365などの設定例は「メールサーバの設定例」をお読みください。

設定項目 説明 入力例
メールサーバ メールサーバを指定します。省略時は「環境>メール>メール設定(共通)>メールホスト名」の値を用います。メールサーバ名の後に「:(コロン)」を付加し、任意のポート番号を指定することもできます。 mailserver.YOURCOMPANYNAME.co.jp
mailserver.YOURCOMPANYNAME.co.jp:587
smtp.gmail.com
プロトコル メールサーバが対応するプロトコルを選択します。詳細は貴社メールサーバ管理者へお問い合わせください。 SMTP
SMTP認証利用 メールサーバがSMTP認証を利用するかどうかを選択します。未選択時は「利用しない」となります。詳細は貴社メールサーバ管理者へお問い合わせください。 (未選択)
認証アカウント SMTP認証を利用する場合に入力します。
認証パスワード SMTP認証を利用する場合に入力します。
図5 メールテンプレートの設定画面(3)

サーバ > POP before SMTP7.5.1

POP before SMTP 認証を行う場合に設定します。(この認証方式を使わない場合、本設定欄は空白としてください。)

設定項目 説明 入力例
認証サーバ POP before SMTP 認証に用いる POP3 サーバのホスト名を指定します。ここにホスト名が記載された場合、POP before SMTP 認証を使うようになります。
サーバ名のあとにコロン区切りでポート番号を指定することもできます。7.10
pop.YOURCOMPANYNAME.co.jp
プロトコル "POP3" または "POP3 over SSL" のいずれかを指定します。省略時は "POP3" です。 (未選択)
APOP認証 APOPを利用するかどうかを指定します。省略時は "利用しない" です。 (未選択)
認証アカウント POP3サーバの認証を行うアカウントを指定します。
認証パスワード POP3サーバの認証を行うアカウントのパスワードを指定します。
図6 メールテンプレートの設定画面(4)

メールテンプレートでは、メールサーバ、件名、差出人、宛先人、本文へ特別な置き換え文字表記(プレースホルダ)を指定することで、対象となるモデルの値を埋め込むことができるようになっています。

プレースホルダの書式は「帳票>プレースホルダ」に準じます。

権限設定との関係

項目に隠し権限を設定している場合、権限がなければプレースホルダも空文字を返します。

繰り返し項目を用いる

繰り返し項目を「宛先人」「Cc」「Bcc」に指定することができます。複数人にメールを送信することができます。書式は次のとおりです。

${モデル名_p.項目名.#}

繰り返しコンテナの項目を用いる

繰り返しコンテナの項目を「宛先人」「Cc」「Bcc」に指定することができます。複数人にメールを送信することができます。書式は次のとおりです。

${モデル名_p.繰り返しコンテナ名.#.メールアドレス項目名}

繰り返し項目、繰り返しコンテナ項目の設定例を示します。

出力結果(宛先)
${customer_p.receiver.#} taro@jasminesoft.co.jp ,
jiro@jasminesoft2.co.jp ,
hanako@jasminesoft3.co.jp
${customer_p.report.#.email} taro@jasminesoft.co.jp,
jiro@jasminesoft2.co.jp,
hanako@jasminesoft3.co.jp
${customer_p.report.#.name} <${customer_p.report.#.email}> ジャスミン太郎 <taro@jasminesoft.co.jp>,
ジャスミン次郎 <jiro@jasminesoft2.co.jp>,
ジャスミン花子 <hanako@jasminesoft3.co.jp>

ご注意ください

  • メールの本文のプレースホルダに「#」表記を含めることはできません。
  • 一覧表示、ダウンロード画面では宛先や本文にプレースホルダは指定できません。

顧客の新規登録を行います。(図7)

図7 顧客の新規登録画面

新規登録が正常に行われたタイミングで、メールが自動送信されます。(図8)

図8 新規登録完了とメールの自動送信

メール送信設定で、送信のタイミングを「メール送信ボタン」とすることができます。主に詳細表示画面に用意します。

図9 メール送信ボタン押下のメール送信設定

詳細画面では図10のようにメール送信ボタンが用意されます。

図10 メール送信ボタン

図9で「メール送信後にメッセージを表示する」を有効にすると、メール送信後に図10のようにメッセージが表示されます。

図10 メール送信成功のメッセージ

宛先人を複数指定した場合

宛先人を複数指定した場合、受信したメールでは「manager01@xxx.yyy.zzz,manager02@xxx.yyy.zzz,manager03@xxx.yyy.zzz」などと、すべての宛先が見えてしまいます。他の宛先を見えないように送信する(それぞれの宛先に個別に送信する)場合には「宛先人に個別送信」の設定を有効にします。

「宛先人に個別送信」を指定し、かつ宛先人にプレースホルダを適用した場合、データベースから宛先情報を読み込みます。 ここで宛先がゼロの場合、メール送信は行われません。必ず送信できるアドレスを一つ加えることで、この動作を抑制することができます。

宛先人に日本語を含める

「差出人」「宛先人」「CC」「Bcc」には日本語を含むこともできます。
(例)「Wagby応援隊supporter@wagby.com」など

プレースホルダで指定することもできます。

${staff_p.lastupdateuser} <${staff_p.lastupdateusermail}>

送信ルール

宛先指定時の送信ルールは以下の通りです。

  • To は必須です。Cc、Bcc は任意です。
  • To、Cc、Bcc いずれかに不正なメールアドレス記述があれば、送信されません。
  • To、Cc、Bcc に重複があった場合、重複分は除かれます。同じメールアドレスに複数のメールが送信されることはありません。

ファイル名型の項目を添付することができます。通常のファイル名型の項目だけでなく、繰り返しコンテナ内のファイル名型にも対応しています。

具体的にはプレースホルダ形式で指定します。書式は次のとおりです。

${モデル名_p.項目名}
${モデル名_p.コンテナ名.#.項目名}

例を示します。

${report_p.attachfile}
${report_p.container.#.attachfile}

最大添付ファイル数

「最大添付ファイル数」を指定することができます。添付ファイル数がこの数値を超えるとエラーとなり、メールは送信されません。

(「最大添付ファイル数」が空欄の場合、添付ファイル数のチェックは行われません。)

メールサーバ

Wagby 本体はメールサーバの機能をもっていません。Wagby のメール送信は、ブラウザが動作しているクライアントではなく、Wagby アプリケーションが動作しているサーバから、設定時に指定したメールサーバを使って送信されます。メールが送られないという場合、Wagby アプリケーションを稼働しているサーバから指定したメールサーバへ正しく通信ができるかを確認してください。

プロトコル

Wagby が対応しているメール送信のプロトコルは「SMTP」および「SMTPS (SMTP over SSL)」です。SMTP 認証にも対応しています。

メールサーバに Gmail を用いる場合、プロトコルにSMTPSを指定し、SMTP認証の設定を行う必要があります。

SMTP認証は、"LOGIN" と "PLAIN" 方式に対応しています。("CRAM-MD5", "DIGEST-MD5", "NTLM" といった方式には対応していません。)

メール送信ボタンの「ボタン名」ならびに「表示条件」を指定できます。

設定の詳細は「画面機能>ボタン名と表示条件のカスタマイズ」を参考にしてください。

図12 メール送信ボタンと表示条件

メール送信が成功した場合、または失敗した場合に実行する式を指定できます。
成功時、失敗時の式は代入形式となります。代入のためのイコールが必要です。

メール送信時に「送信数」という項目をインクリメントする場合は次のように記述します。

${mailsend_cnt}=${mailsend_cnt}+1

式はセミコロンで区切って複数、記述することができます。

${mailsend_cnt}=${mailsend_cnt}+1;${status}=IF(${mailsend_cnt}==0,"Zero","Non-Zero")

記述の制約

  • 式に関数を用いることはできますが、SUMやCOUNTといった集合関数は利用できません。
  • モデル参照項目に対して #content 指定を行うことができません。#id のみ利用できます。
  • ダウンロードと一覧表示機能でのメール送信は、モデルの項目を条件に使うことはできません。メールのプレースホルダは「件数」のみが利用できます。モデル項目を使わない式として、例えば HASPRINCIPAL("プリンシパル名") といった権限による制御などは行えます。

モデル定義の制約

変更履歴を残す設定を行ったモデルには、成功時/失敗時の処理を記述できません。(この制約は将来のWagbyで改善する予定です。)

メール送信の条件を指定することができます。条件に合致しなければ、メールは送信されません。

モデル項目「ステータス」が "1" のときメールを送信するという場合は次のように記載します。条件判定式のため、イコールは二つ必要です。

${status}==1

「成功時のアクション」と組み合わせることで、メール送信成功時にフラグを立て、そのフラグが立っている場合は二度目以降の送信は行えないといった制御を行うことができます。

記述の制約

「成功時、失敗時の処理」と同じです。

標準では、メール送信に失敗したときのリトライは行われません。次の手順で、リトライの回数と間隔を指定することができます。

  1. customize/resources フォルダに myMimeMailUtilities.properties.UTF8 ファイルを新しく用意します。
  2. 次のエントリを追加します。
    jfc.retry.interval=10000
    jfc.max.retry.count=10
    
    パラメータ jfc.retry.interval はリトライの間隔を示します。単位はミリ秒です。
    パラメータ jfc.max.retry.count はリトライを含めた送信回数を示します。この例では10回となっており、初回のメール送信処理に失敗すると最大9回のリトライ処理を行います。(メールの送信に成功した時点でリトライ処理は終了します。)
  3. このファイルを保存し、ビルド処理を行います。
my が接頭語に付与されたリソーフファイルはビルド時に結合されます。詳細は「Wagby Developer Network(R7) > Javaを用いたカスタマイズ > リソースファイル」をお読みください。
この設定はすべてのメール送信に適用されます。

標準では、メール送信のログ(成功および失敗)に記録される送信先は To で指定したアドレスのみとなっています。 次の手順で、Cc および Bcc アドレスもログに記録させることができます。

  1. customize/resources フォルダに myMimeMailUtilities.properties.UTF8 ファイルを新しく用意します。
  2. 次のエントリを追加します。
    jfc.log.cc=true
    jfc.log.bcc=true
    
    パラメータ jfc.log.cc および jfc.log.bcc はそれぞれ Cc、Bcc のアドレスをログに記録するかどうかを指定します。いずれか、または両方を同時に指定できます。
  3. このファイルを保存し、ビルド処理を行います。
my が接頭語に付与されたリソーフファイルはビルド時に結合されます。詳細は「Wagby Developer Network(R7) > Javaを用いたカスタマイズ > リソースファイル」をお読みください。
この設定はすべてのメール送信に適用されます。

com.sun.mail.smtp.SMTPSendFailedException : Invalid sender address エラー

メールテンプレートで指定した「差出人」が、サーバー送信時のアカウントと同じになっているかどうか、確認してください。メールサーバ側で、不一致の場合はエラーとするという設定になっている可能性があります。