header image

Ryuzeeについて

mixi Twitter Twitter

携帯対応

QRコード

RING

人気ブログランキング

新着記事

11月 20th, 2009 日記 1 Comments

一週間以上ブログへのPostが滞っていたのだが、やはり日々の仕事に追われた状況になるとinputしないので、outputできないんだよね。
ということで今日は過去のネタを書くよ。

Webアプリでメールを送信するケースは良くあるんだけど、テストは結構やりづらい。
よくある失敗パターンは下記みたいな感じ。年に数回こういうことするなーって会社でアナウンスされたりする。

  • 大量送信のテストで社内ネットワーク止めた
  • 携帯キャリア宛てに大量のメール送ってSpam扱いされた
  • 自分のメールボックスに大量のテストメールが来て受信に死ぬほど時間がかかる
  • 間違って本物の顧客のテストメール送ってしまった
  • 送信元アドレスも送信先アドレスもダミーなものを使ってインターネット上にメール投げた

で、こういう失敗って、環境の作り方で十分保護できる。僕のやっているパターンを書いておく。

Radishで開発端末にSMTPを立てて、メール送信はそのSMTPを通す

Radishはフリーでソースが公開されているPOP、SMTP、DNSサーバで、http://homepage2.nifty.com/spw/software/radish/で提供されている。

SMTP設定は以下のような感じ。待ちうけるIPアドレスとアクセス許可ネットワークの設定を行う。
radish3

一般設定では「キュー常時処理」にチェックを入れてしまうと、Radishは中継したメールをそのまま外に投げてしまうので、必ずチェックを外す。
radish2
これでメールを送信すれば以下のようにRadishのキューにメールが溜まる。ダブルクリックすればそのメールの中身がメールソフトで確認できるので、自分のメールボックスにゴミがたまることもない。
radish

さらに安全のためにsendmailもいじくる

とは言え、うっかりRadishでキューを全部処理してしまったりすると世間様にご迷惑をおかけするので、予めsendmail側で、開発に関係ないドメインにメールを送信しないようにしておくべきだ。

sendmailの場合は、/etc/mail/mailertableに以下のように書くと良い。

ryuzee.com          smtp:[192.168.1.50]
.                       local:trash

その上で、

makemap hash /etc/mail/mailertable </etc/mail/mailertable

とし、sendmail.mcで

FEATURE(`mailertable', `hash -o /etc/mail/mailertable')dnl

を有効にして、sendmail.cfを作成し、sendmailを再起動すれば良い。

これによってryuzee.com宛てのメールは192.168.1.50のSMTPにリレーするが、それ以外のドメイン宛てのメールは全部捨てられる。
なお、smtp:のあとのアドレスを[]で囲んだ場合はDNSの逆引きが行われない。

“[どうでもよいこと]Webアプリでのメール送信テストにはRadish使うといいよ”へ1件のコメントがあります。

  • ワインと将棋とインターネット 2010/01/06

    [IT] Webアプリでのメール送信テストに便利なツール

    [どうでもよいこと]Webアプリでのメール送信テストにはRadish使うといいよ | Ryuzee.com この方法が気に入ってます。 自分のメールボックスによけいなゴミ溜めなくて済むし。。

コメントする

XHTML: 以下のタグが利用可能です: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback

 


ads

読まなきゃモグリ