イメージを利用したローカル開発環境向けメールサーバ構築のすゝめ|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社エンジニアの「?」を「!」に。構成されるページを作成、保守することもあります。コーポレートサイトやサービスサイトが中心で、サイト上からのメールの送信を伴う問い合わせフォームがセットとなっていることが多いです。相当の環境を手元に用意しているのが便利なので今回はそれを紹介します。本番設定のメール送信先設定を引き継いだままだと本番設定の宛先にメールを送ってしまいます。分かりやすく言うと、うっかりお客さん宛に手元のローカル開発環境からのテスト送信のメールを送ってしまう事故が発生する可能性があるんですね(弁明しておくと、通常はこう言う危ない設定とかは真っ先に確認して潰すので大丈夫なのですが、事故が起きかねないリスクをそれなりに孕んでいるという話です)。そのため、対策として以下などに取り組んだりしています。等に共有する開発環境向けのコードではデフォルトを実際にメールが届かないサンプルの宛先にしておく。本番環境上のサーバ内の定数定義を行うファイル中でのみ、有効な設定を記述する。ドメイン置換等の初期構築を行う一環で、同様にメールアドレスのデータを含む設定テーブル内でのメールアドレスの置換を行うようにします(本題からズレるので詳細は割愛)。安全化のためのメールアドレス置換までを含めた初期構築用のスクリプトを共有し、皆がそれを使うことで安全なローカル開発環境の構築を担保する。する対象には含めない、でも事足りるのですが管理者アカウント系はあった方がよいのでこうする)ステージング環境向けにブラックホールメールサーバが適用されているので、そっちの環境を積極的に利用していきましょう。今回作ろうとしている安全にメールが確認できる環境が、ステージング環境に既にあるケースですね。公開されていますね)。弊社社員の場合は、このサーバが社内ネットワーク中で運用されているので、ローカル開発環境向けの設定でこのサーバを利用することもできるようになっているはずです。記事の本題に入っていきます。そちらも適宜ご活用ください。サンプルコード例メール送信用のコードについて詳細を語るのは本筋ではない(書くならちゃんと書かないと有害記事になっちゃうからね!)ので、以下の滅茶簡略化コードで進めていきます。適時現状を確認していきます。sendmail_path。採用した例を書きますが、もちろん、その他サービスの利用に応用してもらっても特に問題ないはずです。環境だけでも動くもののようです。必要なわけではありませんので、各人の好みや環境に合わせて何を使うか選択していくのが良いと思います。例にしてサンプル例を進めていきます。使う方法もあったりはするのですが、実際のメールサーバを使っての送信により近い環境を作りたいですよね。8エラーメッセージが出ていてダメそうです。検索して適切な定義場所を探します。再起動して設定を適用させます。確認したかったのですが、この時点では出力されず、あとで再度確認すると出力されるようになっていた。