メール送信マニュアル
はじめに)
promail.exeは、単体で動作するメール送信モジュールです。
本マニュアルはその使用方法を記述します。
本文)
promail.exeの仕様:
promail.exeを使用してメールを送信するためには、メールサーバや送信先などのパラメータを指定したテキスト形式のiniファイルと、メール本文を記述したテキストもしくはHTML形式のファイルが必要です。
※iniファイルや本文の内容につきましてはサンプルのPromailSample.iniとmailbody.txtをご覧下さい。
これらのファイルを元に、下記のようにpromai.exeを起動します。
promail.exe iniファイル名(拡張子は不要)
promail.exeがメール送信作業を修了すると、Iniファイルと同名で拡張子をerrとするログファイルを作成します。
このerrファイルから、promail.exeの動作結果を確認できます。
メール送信が成功した場合には、errファイルは0バイトで何も記述されません。
メール送信に失敗した場合は、失敗した理由が記述されます。
メール送信の失敗とは、メールサーバーが見つけられない場合や、iniファイル記載の内容に誤りがある場合などに発生します。
注意すべき点としてpromail.exeは、メールアドレスが間違っているだけの場合、正常にメールが送信できたとみなします。(errファイルは0バイトです)
この場合、iniファイルに指定した送信者メールアドレスにメールが失敗した旨のメールがメールサーバーから通知されます。
promail.exeのテスト:
promail.exeを実際に動作させるには、メール本文のファイルとiniファイルを作成、下記のように、コマンドプロンプトから指定します。Iniファイルは同梱されたpromailSample.iniを見てメールサーバーや送信元アドレスなどを修正すると手軽にテストできます。
>promail.exe promailSample
promailSample.errが0バイトならメール送信は成功です。
なお、promailSample.iniは、mailbody.txtをメール本文とし、promailSample.iniを添付ファイルとして送信します。テストに当たっては、メール・サーバー名などを正しく設定してください。
Promai.exeがiniファイルに記述された設定を元にメールを送信する仕組みが理解できれば、XCuteからメールを送ることも自在に出来るようになります。
Runコマンドとマクロを使用してセルの値からiniと本文を動的に作成し、ProMail.exeに引き渡せば良いことになります。
promailexeの利用(メール送信VBA(マクロ)の紹介)
Xcuteでpromail.exeを使うには、ExcelのVBAを利用します。手軽に利用できるようにつぎのVBAマクロを用意しました。このブックに埋め込んでありますので実際に動作させてお試し下さい。
このマクロは、sendmailシートのR12C3:R40C3のセル値を読取り、iniファイルと本文を生成して送信するものです。
メール送信サンプルマクロ
マクロ名: mailtest1
上記マクロの動作条件は、以下を満たしてください。
promail.exeがXcuteフォルダー(XCuteインストールフォルダ)に存在すること
このブックのsendmailシートにServerNameやServerPort等の送信パラメータが正しく記述されていること。
また、送信時に認証を必要とするサーバの場合、SmtpAuthと、その関連項目が正しく記述されていること。
 使い方
このプロジェクト(promailManual.pls)をXCuteで起動して下記URLをブラウザから投入して下さい。
http://localhost/procgi11/procgi.exe?P=promailManual&WriteSheet=input
※procgi11など公開フォルダのパスにつきましては環境に合わせ適宜変更して下さい。
ブラウザに表示された入力画面に、メールアドレス、タイトル、本文を入力してメール送信ボタンを
押下して下さい。
メールアドレスなどの入力値は、sendmailシートの設定値と対応するセルに送られ、R2C8に記述
したRunコマンドが実行されます。
Runコマンドで呼び出されたmailtest1マクロでは、セルから値を読み取り送信パラメータの
iniファイルとメール本文のテキストを生成し、ProMail.exeを実行します。
上の画像はmailtest1マクロによって生成された送信パラメータのiniと本文テキストです。
拡張子errのファイルは、promail.exeが実行した結果のログファイルです。
送信が成功した場合0バイトの空ファイルになり、失敗した場合はその原因がテキストで記録され
ます。
iniや本文テキストのファイル名は、重複して混同することを避けるため、R1C1セルの固有番号を
使用してユニークなファイル名になるようにしてあります。
 ・任意のプロジェクトへの組み込み
このブックのsendmailシートとmailtest1マクロを目的のひな型にそのままコピーして下さい。
 ・注意点
・AttachFileはpromail.exeの存在するフォルダに配置して下さい。
・公開サーバーにメール送信の仕組みを設置する場合、スパムメールの踏台にならないように注意して下さい。
 このサンプルでは説明のためメールアドレスや本文を直接ブラウザから入力するシンプルな作りにしてありますが、コマンド連鎖を使用するなどして外部から直接値が渡らないように注意してください。
・Excelの制約上、セルに入れられる数式の文字数には限界があります。
 宛先のメールアドレスが多数ある場合や本文が長い場合など、数式が長くなる場合は
 他のセルを参照したり「名前の定義」機能を使用してセル値を連結してください。