stoneのお陰でSMTPのエラー調査が可能に。感謝!
FileMakerの便利さと不便さの間で日々、はまっている感のあるshukakuです。最近取り組んでいるFileMakerのスクリプトでメールを送ることがありますが、時々、送信エラーが発生。FileMakerのエラーは「1506 Eメールは正常に送信されませんでした」というもので、原因を特定できるような情報は無し。調べ方に困っていました。
送信に使っているSMTPサーバがGmailのものであり、サーバ側のログは参照不可。送信元のFileMakerにはメール送信のログを記録する機能がなく、こちらも調査不可。であれば手元に中継用のSMTPサーバを置いて、そこでログを取得しよう!という訳で、Windows Server 2008のサーバ機に「機能の追加」でSMTPサーバを追加しました。
ドメインやログなどの必要事項を設定して、スマートサーバとしてFileMakerからのメール送信をGmailに中継させたところ、詳細なログの取得に成功。しかしここでまた別の問題が。FileMaker→IISの送信は全て成功するので、FileMaker側ではその後のIIS→Gmail間の送信エラーに気付けません。ログを監視するにも不便。うーむ。
しばし悩み、ネットで情報を検索していた際に、「stone」で中継したデータをダンプできるとの記述を発見。別の件でstoneは利用していますが、オプション「-p」の存在を知らなかったという…。早速、「-p」を付加したstoneでSMTPを中継してみると…見事にSMTPの要求・応答がログに残るじゃありませんか。
IISのSMTP機能が「メールを一旦受信して、改めて本来のSMTPサーバ宛てに送り直す」のに比べて、stoneでは逐一、透過的に送受信データを中継してくれます。ゆえにGmail側で生じたエラーもそのままFileMakerに伝わり、メール送信エラーを検出・通知できます。もしエラーが生じたら、その時点での詳細なSMTPのログを参照することで、「なぜEメールが正常に送信されなかったのか」を調査できるのではないかと。
有用な道具についての知識と、問題解決のための手段の発想…どっちも大事ですね。特に今回のstoneのように、いろいろ使い方ができる道具については、良く知り、よく考えなくては。で、現時点で打てる手は全て打ったので、あとは問題のエラーの再現を待つばかり。再現性が今一つなのが難点ゆえ、速やかに再現してくれることを願う今週末でございます。
コメント
You can follow this conversation by subscribing to the comment feed for this post.