専用サーバー+GoogleAppsで運用中のメール不達問題を解決

2012/08/23 (2014/08/26更新) タグ: , , , ,
  • このエントリーをはてなブックマークに追加

今回はちょっとマニアックな設定方法です。当社はWebは専用サーバー、メールはGooleAppsを使用しています。それぞれ別サーバーに置いてある状態です。今回、Webサーバーからメールを送る時に、スパム扱いされることがあったのでその解決方法です。

SPONSOR

WebサーバーはCentOSでsendmailをインストールしています。これで届くメールアカウントと届かないメールアカウントがあることが分かりました。

調べてみても、はっきりとした原因は不明。そこでサーバー(ローカル)からメールを送るのではなく、一旦GooleAppsのメールサーバーにリレー配信して、そこからメールを送るように設定を変更してみました。

sendmail.mcを変更

vi /etc/mail/sendmail.mc に以下の情報を追記

define(`confAUTH_OPTIONS', `A')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
TRUST_AUTH_MECH(`EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo', `Hash -o /etc/mail/authinfo')dnl
define(`SMART_HOST', `smtp.gmail.com')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl

そしてcfファイルを作成
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

認証用のファイルを作成

/etc/mail/authinfo を新規作成。アカウント/パスワードを記載。

AuthInfo:smtp.gmail.com "U:メールアドレス" "P:パスワード" "M:PLAIN"
AuthInfo:smtp.gmail.com:587 "U:メールアドレス" "P:パスワード" "M:PLAIN"

/etc/mail/authinfo.db をmakemapコマンドで作成

# makemap -r hash /etc/mail/authinfo.db < /etc/mail/authinfo

これで、Webサーバーから送られるメールはGoogleAppsの指定したアカウントから送信されるようになります。ただ、これでメールは届くようになりますが、Webサービスごとにアカウントを切り分けできないのが問題。ひき続き、解決方法を模索します。

SPONSOR
記事を書いている中の人
イリテク株式会社/入江 慎吾
WEBサービスやアプリのデザイン・開発をやっているクリエイターです。クラウド見積請求:CLOUD PAPER、リモートワーク求人:Rework、買い物メモアプリ:Rememo。情熱のこもったプロダクトをどんどんつくりたいです。(もっと詳しいプロフィール
関連する記事
メールマガジンで新着記事をフォロー

 

イリテクの最新情報をチェック!
  • follow us in feedly
    RSSで最新記事を読む
イリテクで開発したプロダクト
SPONSOR
こちらの記事もおすすめです