ネットサービスの開発に役立ちそうな話題を中心にお届けします。
F.Ko-Jiの「一秒後は未来」 > プログラミング > MacのマシンからPostfixでGmailに送信できるようにする
2008年12月29日 16:14
1135日前に投稿

MacのマシンからPostfixでGmailに送信できるようにする

  • ... PV
  • このエントリーをはてなブックマークに追加

スポンサード リンク

開発マシンからGmailにメールが届かなくなっていた

ローカルの開発用マシン(うちの場合はMac OS X)からGmailにメールを送信できなくなっていました。

/var/log/mail.log のメールログを見てみると、

The IP you're using to send mail is not authorized 550-5.7.1 to send email directly to our servers. Please use the SMTP 550-5.7.1 relay at your service provider instead. Learn more at 550 5.7.1 http://mail.google.com/support/bin/answer.py?answer=10336

ふむ。SMTP 550-5.7.1 ってなんだろう。とりあえず指定されてるURLを見てみる。

» 'The IP you're using to send email is not authorized...' - Help Center

In order to prevent spam, Gmail refuses mail when the sending IP address does not match the sending domain. To send mail from your server to Gmail, we suggest using the SMTP relay provided by your ISP. Please note that we are unable to whitelist IP addresses or otherwise make exceptions at this time.

スパム除けのために送信ドメインと送信IPアドレスが一致しないものは拒否していると。なので使ってるISPのSMTPサーバーをリレーしてくださいと。

ドメインが一致しないってことは開発用に適当に設定しているFromアドレスがだめなのかなと思って、メールヘッダに設定しているFromアドレスを有効なものに変更してみたが結果は同じ。

なのでSMTPサーバーのリレー設定をする。

Postfixの設定

うちのMacはPostfixでメール送信しているようなので色々調べてみると /etc/postfix/main.cf に次のような記述を追加するといいらしい。

relayhost = [smtp.xxx.ocn.ne.jp]

↑ プロバイダのSMTPサーバを指定

これで再度試してみる。まだエラー。

... said: 450 <xxx@xxx-macbook-air.local>: Sender address rejected: Domain not found (in reply to RCPT TO command))

エラーメッセージが変わった。送信元のアドレスのドメインがだめと言われた。確かに macbook-air.local になってるねw

ということで /etc/postfix/main.cf にmyhostnameを設定する。

myhostname = xxx.ocn.ne.jp

とりあえずISPのメールアドレスのドメインを設定してみる。再度メール送信を実行。

...said: 550 Error: Invalid From: Address (in reply to end of DATA command))

またエラーメッセージが変わった。ここでFromアドレスを有効なものにすればいいのか。アプリケーションのほうで設定を変更。再度メール送信を実行。

Gmailにメールが届いた!

まとめ

というわけで最低限必要な設定は、

  • /etc/postfix/main.cf に relayhost を設定
  • /etc/postfix/main.cf に myhostname を設定
  • Fromアドレスを有効なものにする

ちなみにFromアドレスの変更については main.cf に sender_canonical_maps を設定することでも可能。

/etc/postfix/main.cf に

sender_canonical_maps = hash:/etc/postfix/sender_canonical

と記述し、 /etc/postfix/sender_canonical にマッピングを設定。

# 変更前のアドレス   変更後のアドレス
xxx@xxx.xxx    yyy@example.com

保存したら以下のコマンドでマッピングデータベースを作成する。

$ cd /etc/postfix
$ sudo postmap sender_canonical

これで /etc/postfix/sender_canonical.db が作成され、送信されるメールのFromアドレスを変更できる。

スポンサード リンク

Written by
Meity.jp - Twitterなかまでプライベートなオフ会を開催したいなら


トラックバック

このエントリーのトラックバックURL:

この一覧は、次のエントリーを参照しています: MacのマシンからPostfixでGmailに送信できるようにする:

» [CakePHP2.0][php][gmail]CakeEmailを使ってMac OS XからGmail経由でメールをする from JavaScriptとかPerlとかPHPとかさくらVPSとか勉強する
CakePHP2.0でGmailを利用してメールを送ろうとして 「SwiftMailerってのが使えるのかぁ。それならそれ使おう」 とか思ったのですが、... [詳しくはこちら]

プログラミング

English version

前のエントリー: « 梅酒.inにて「梅酒が飲めるお店 検索キーワードランキング」を公開しました
次のエントリー: なぜ日本人は「Tw」を「ツ」と表記するのか »

コピペにご利用ください。

タイトル:

URL:

リンク用HTMLタグ: