続Node.jsでメールが届いたタイミングでごにょごにょする場合


おさらい

以前、メールが届いたタイミングでごにょごにょする場合のメモとして、node.js製のSMTPエージェントのMailinというプロダクトを紹介しましたが

  • Wellknownの25番ポートで起動させるにはroot権限が必要
  • 他のアプリ(PHPとかRails)などでメールを使う場合のことを考えると、こいつ専用にドーンと1台構えないといけないのは負担かも

と書いてましたが、ずっとこれ使えないのかなあ・・・と悶々としておりました
汎用的なメールは実績あるMTAやMDAにお任せするとして、処理をさしこみたい特定のメールアドレスやドメインだけこいつで処理をしたかっただけなんです

Postfixとの組み合わせなら使えるんじゃね?

そう、Postfixにはドメインやメールアドレスなどの配送先に応じてさらにどこかに配送を委任するようなTransportという機能がありまして、 [email protected] は一度ウチのサーバで受け取るけどMailinの動いている(ホストのWellknown以外の番号)ポートにSMTPでリレーしますというような設定ができます

Postfixのmain.cfの変更とtransport_mapを準備しなきゃいけないわけですが、これで一応汎用的なMTAとMailinの共存ができそうですね

めでたしめでたし・・・なんですが

実は最近、空メール含めてあんまりメールドリブンで何か起こすような処理って殆ど書いてないんですよね
やるとすればSlackとかに内容そのままコピペとか?

そもそもメールインフラを自前で組むということもめっきり減りまして

メールの送受信に関するQ&Aやトラブルに巻き込まれるのが嫌で、すっかりこんな感じになってしまいました