Custom Search

JITAKU_SVR_Wiki

送信元がroot@localhost.localdomainのままになっている

postfixの設定は正しいし、送信サーバの情報も正しく設定しているのに、なぜか送信者がroot@localhost.localdomainのままになっている。

→MTAがsendmailになっている可能性がある。

上記のコマンドで変更が可能。

# alternatives --config mta

There are 2 programs which provide 'mta'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.sendmail
   2           /usr/sbin/sendmail.postfix

Enter to keep the current selection[+], or type selection number: 2

デフォルトがsendmailになっているので、postfix(2)に変更してあげる。
(postfixの再起動の必要はなし)

postfixが起動するが、ローカルから受け付けない

一通りの設定が完了し、テストの段階で、

# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

と、すぐに接続を切られてしまう。

→main.cfに誤りがある可能性が高い
今回は、

mynetworks = 168.100.189.0/28, 127.0.0.0/8~

設定で、ネットワークアドレスが間違っていた。

maillogに吐かれたエラーは、

Aug  1 18:06:12 wb01 postfix/smtpd[17838]: fatal: non-null host address bits in "172.16.10.0/16", perhaps you should use "172.16.0.0/16" instead

172.16.10.0/16がおかしい。
172.16.0.0/16が正しいネットワークアドレスなので正しい値を入れること。



gmailがメールを拒否する

最近(2013/08/20前後?)からDTIのVPSからメールを送信できなくなっていた。
出ていたエラーは↓

Aug 22 21:55:16 localhost postfix/smtp[28348]: C4D0BB0E0372: to=<hogehoge@gmail.com>, relay=gmail-smtp-in.l.google.com[2607:f8b0:400e:c03::1a]:25,
 delay=1.5, delays=0.1/0.02/0.69/0.68, dsn=5.7.1, status=bounced (host gmail-smtp-in.l.google.com[2607:f8b0:400e:c03::1a] said: 550-5.7.1 [2001:2e8
:671:0:2:1:0:4c      16] The sender does not meet basic ipv6 550-5.7.1 sending guidelines of authentication and rdns resolution of sending 550-5.7.
1 ip. Please review 550 5.7.1 https://support.google.com/mail/answer/81126for more information. vs7si8579576pbc.235 - gsmtp (in reply to end of DAT
A command))

うん。よくわからん。
https://support.google.com/mail/answer/81126
ここを見ろって書いてあるので読んでみると、

認証と識別
Gmail で識別されるようにするには、次の点に注意してください。

・一括メール送信に一貫した IP アドレスを使用します。
・ドメインをポイントする、メールの送信元の IP アドレスに対する有効な逆引き DNS レコードを保持します。
・一括送信するすべてのメールの「From:」ヘッダーで同じアドレスを使用します。
また、SPF レコードを公開し、DKIM を使用して署名することをおすすめします。1,024 ビット未満のキーを使用した DKIM は認証されません。

などと書かれている。

・一括メール送信に一貫した IP アドレスを使用します。

これは自分にはよくわからなかったのでスルー。

・ドメインをポイントする、メールの送信元の IP アドレスに対する有効な逆引き DNS レコードを保持します。

逆引きはすでにできているので問題なし。

・一括メール送信に一貫した IP アドレスを使用します。~

よくわからないのでスルー。

また、SPF レコードを公開し、DKIM を使用して署名することをおすすめします。1,024 ビット未満のキーを使用した DKIM は認証されません。

これは最近やったので念のため実施。
詳しくは

だけどダメ。

よーくエラーを見てみるとgoogleのIPV6が応えてる?
確かにDTIサーバはIPV6対応しているので、念のためpostfixの設定を変更。

# vim /etc/postfix/main.cf

inet_protocols = all
         ↓
inet_protocols = ipv4

再起動してメールを投げてみたらOK。

最後に気になったところは…

IPv6 向けの追加のガイドライン

送信元 IP には PTR レコード(送信元 IP の逆引き DNS)が必要です。
また、PTR レコードで指定されているホスト名の DNS の正引き解決によって取得した IP と一致している必要があります。
そうでない場合は、メールに迷惑メール マークが付けられたり、メールが拒否されることがあります。
送信元ドメインは、SPF チェックまたは DKIM チェックにパスする必要があります。そうでない場合は、メールに迷惑メール マークが付けられることがあります。

これだろうね?IPV6用に逆引き設定入れてないし…。

googleの仕様変更?謎

ちなみにサーバ側のmaillogを見ると、

warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol
warning: inet_protocols: configuring for IPv4 support only

こんなのが結構出ていたので、そちらから追いかけたら、根本原因は分からないけど、解決は早いかも。

expected format: key whitespace value

全文は「warning: /etc/postfix/mynetworks, line 1: expected format: key whitespace value」

# postmap /etc/postfix/mynetworks
mynetworksで転送許可、拒否設定をしている。 postmapコマンドを実行してファイルのDB化を行ったところ上記エラーが出た。

ただ単に書式ミスだった…。
具体的には、

# cat /etc/postfix/mynetworks
127.0.0.0/8 OK
上記のOKの箇所が抜けていただけだった。。

newaliases: fatal

全文は「newaliases: fatal: config variable inet_interfaces: host not found: ml.hogehoge.com」

# newaliases
newaliases: fatal: config variable inet_interfaces: host not found: ml.hogehoge.com newaliases実行時に上記のエラーが出た。
hostsにpostfixで設定した名前が登録されていないから?
hostsを正しく記入したら動いた。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-12-17 (木) 16:54:32 (707d)