Forguncyでは次の場合にメール送信を行うことができます。
- アプリケーションのログイン時のパスワードを忘れてリセットしたい時
ユーザーがアプリケーション実行時にログイン画面で「パスワードを忘れた場合」をクリックすることで、リセット案内メールが送信されます。 - テーブルが変更(更新、追加、削除)された時
アプリケーションにログインしたユーザーが、予め「メールによる通知設定」画面から、どんな場合にメールが欲しいかを設定することで、アプリケーション実行時にテーブルに変更があるとメールが自動送信されます。 - 任意のタイミングでメールを送信したい時
アプリケーション内で[メール送信] コマンド、あるいはSendMailメソッドを呼び出すことで、そのタイミングで指定した内容のメールが送信されます。
以下にそれぞれの設定方法を詳しく説明します。
事前準備
いずれの場合でも共通して、外部のSMTPサーバーが必要です。
外部のSMTPサーバーに対して送信を許可するための設定を、Forguncyの「開発時ユーザーアカウント管理」あるいは「サーバー管理ポータル」の「メールサーバーの設定」から以下の図の赤枠「送信(SMTP)サーバー」で指定しておく必要があります。図に用いている画面は「開発時ユーザーアカウント管理」です。
Forguncyアプリケーションからメール送信を行うと、ここで設定したSMTP認証アカウント(「ユーザー名」「パスワード」)でメールサーバーに接続しメールを送信します。
上記赤枠の設定情報で正常にSMTP認証が行われメールが送信できるかどうか、「テストメールの送信」ボタンをクリックして確認しておいてください。ここでエラーが発生する場合は、Forguncyで作成したアプリケーションからも正しく送信できません。
「開発時ユーザーアカウント管理」あるいは「サーバー管理ポータル」の設定方法については、次のリンクを参照してください。
メール送信サーバーの設定
<注意>
送信エラーの原因の1つに、SMTPサーバーの中には、誰でもこのSMTP認証アカウント(「ユーザー名」「パスワード」)を使い自由にメールを送信させないようにするためにSMTP認証で使用したアカウントの「ユーザー名」が、実際に送信を行う「差出人」のメールアドレスと一致していないと送信できない(つまり認証に使用されたアカウントが差出人に指定したメールアドレスとして送信を行う権限を持っている場合に限り SMTP 送信ができる)という設定が、既定値としてメールサーバー側で設定されている場合があります。
このような設定がしてある場合、この既定値を誰でも送信可能なようにSMTPサーバー側の設定を変更するか、あるいは、Forguncy側で以下のようにして「送信元情報」のメールアドレス(つまり差出人)と、「送信(SMTP)サーバー」のユーザー名が一致するように設定することで「テストメールの送信」が成功します。
事前設定で「テストメールの送信」が正しく行われることを確認したら、要件に応じて以下の各設定を行ってください。
アプリケーションのログイン時のパスワードを忘れてリセットしたい時
- 上記の「事前準備」を行ってください。
- 開発時ユーザーアカウント管理画面あるいはサーバー管理ポータル画面でフォーム認証のユーザーを登録してください。
ログイン時にパスワード入力が必要になるのはフォーム認証のみです。Windows認証はログイン画面がありません。 - アプリケーションを実行すると以下のログイン画面が表示されます。ここで「パスワードを忘れた場合」をクリックします。
パスワードリセットしたいユーザー(2.で登録したユーザー)の「ユーザー名、またはメールアドレス」を入力して「メールを送信」ボタンをクリックします。該当者が登録されていない場合は、「メールを送信」ボタンをクリックした時に見つからない旨のエラーメッセージが表示されます。 - 2.で登録したユーザーのメールアドレス宛に、事前準備の「送信元情報」で設定した値が差出人となって送信されます。
テーブルが変更(更新、追加、削除)された時
この機能は、アプリケーションにログインしたユーザーが、以下の「メールによる通知設定」画面から、どんな場合にメールが欲しいかを設定する必要があるため、ユーザー認証のアプリケーションの場合のみ利用できます。以下の画面で指定した内容で、アプリケーション実行時にテーブルに変更があるとメールが自動送信されます。送信されるメールの宛先は、ユーザーアカウント管理画面で登録しているメールアドレスになります。
上記の画面は[メール通知の登録] コマンドを使用することで表示させることができます。
以下は「通知登録」というボタンをクリックして上記画面を表示させ、メールを自動送信させる例の設定手順です。
- 本ページの「事前準備」を行ってください。
- Forguncy Builderを起動し、ページの任意のセルに「通知登録」と表示させたボタンを作成します。
- 2.のボタンを右クリックしメニューからコマンドを選び、[メール通知の登録] コマンド指定します。
コマンドの詳細は、以下のリンク先を参照してください。
メール通知の登録
<差出人(送信元)に関する注意>
[メール通知の登録]コマンドの設定画面上にある[詳細設定の表示]をクリックすると、メールの送信元情報(差出人メールアドレス、差出人の名前、件名に付随する接頭辞)が設定できます。
- [詳細設定の表示]で送信元を設定しない場合
「事前準備」で設定した「送信元情報」のメールアドレスが差出人として適用されます。 - [詳細設定の表示]で送信元を設定する場合
「事前準備」の<注意>に記載のとおり、SMTP認証アカウントの送信セキュリティの制限がかかっているメールサーバーを利用するときは、[メール通知の登録]コマンドの差出人と「送信(SMTP)サーバー」のユーザー名が同一である必要があります。以下の設定を参考にしてください。セキュリティ制限のないメールサーバーを利用するときは、同一である必要はありません。
- [詳細設定の表示]で送信元を設定しない場合
- テーブルが更新されると、メールが送信されます。
メールには更新された内容が記載されます。
複数レコードが更新された場合は送信されません。これは、例えば1万件などのレコードを一括で更新した場合、メールに1万レコードの更新内容を記載すると非常に大きなサイズのメールになってしまうためです。更新されたレコードが1レコードの場合のみ送信されます。
以下も合わせてご参照ください。
データ更新時の通知メール送信
任意のタイミングでメールを送信したい時
本ページの「事前準備」を行ってください。
[メール送信] コマンド、あるいはJavaScripからSendMailメソッドを呼び出すことで、その呼び出されたタイミングでメールが送信されます。詳細は以下のリンク先を参照してください。
[メール送信] コマンド
メールの送信(Web API)SendMailメソッド
<差出人(送信元)に関する注意>
- [メール送信] コマンドの場合
差出人を指定する必要があります。「%CurrentUser%」と記載するとアプリケーションにログインしたユーザーのメールアドレスが差出人となります。
「事前準備」の<注意>に記載のとおり、SMTP認証アカウントの送信セキュリティの制限がかかっているメールサーバーを利用するときは、[メール送信]コマンドの差出人と「送信(SMTP)サーバー」のユーザー名が同一である必要があります。以下の設定を参考にしてください。なお、[メール送信]コマンドの差出人に「%CurrentUser%」と記載した場合は、ログインしたユーザーのメールアドレス(開発時ユーザーアカウント管理画面あるいはサーバー管理ポータル画面で登録)が「送信(SMTP)サーバー」のユーザー名と同一である必要があります。セキュリティ制限のないメールサーバーを利用するときは、これらは同一である必要はありません。
SMTP認証アカウントの送信セキュリティの制限がかかっているメールサーバーを利用する場合、差出人が「送信(SMTP)サーバー」のユーザー名に設定した値で固定になりますので、メールの本文などで誰からのメールか判断するための情報を含めるなどして対応するようにしてください。このようなメールサーバーの例として、「office365 Business」の「Exchange Online」のSMTPサーバー「smtp.office365.com」があります。
検索キーワード: fgcinfo fgcdevelopment