メール関連

相手メールサーバーに迷惑メールサーバーと思われないようにする

これらの設定がないとYahoo!メールの場合、メールのヘッダに迷惑メールっぽいよ?っていう↓のヘッダが差し込まれて
デフォルトで迷惑メールフォルダに突っ込まれてしまうようだ

X-YahooFilteredBulk: 		xxx.xxx.xxx.xxx (IPアドレス)

個別に迷惑マークを解除すると次回から迷惑メールフォルダには入らなくなるが、
迷惑メールヘッダは差し込まれたまま

ちなみにこの指定の解除は、以下の設定をしただけでそのうち直るかもしれないが、
カスタマーサポートに所定の様式を添えて問い合わせると
こっちの設定がちゃんとしていれば、案外すぐに確認してくれて解除してくれる

逆引き設定をする

IPアドレスからドメイン名を引けるようにする
この設定はレンタルサーバー会社などネットワーク管理者に申請する感じ、正引きの場合と違う

ちなみに、メールヘッダに記載されてる情報はメールアドレスのドメインじゃなくて
メールサーバーのホスト名っぽい
だから、逆引きの設定もドメイン名よりホスト名にした方がいいのかな?(未確認)

SPFレコード

平たく言うとDNSレコードのtxtと言う種類のフィールドに、このドメインのメールはこのIPアドレスからしか
送信しませんという宣言みたいな感じのようだ

設定例
v=spf1 +mx -all
これは、DNSレコードのうちmxレコードにあるIPアドレスから送信を許可し、それ以外から全部拒否
みたいな感じらしい
他にもIPアドレスで指定したりできる

設定前のメールヘッダ
Received-SPF: neutral (google.com: 123.456.789.012 is neither permitted nor denied by best guess record for domain of info@example.com) client-ip=123.456.789.012;
Authentication-Results: mx.google.com; spf=neutral (google.com: 123.456.789.012 is neither permitted nor denied by best guess record for domain of info@example.com) smtp.mail=info@example.com

設定後のメールヘッダ
Received-SPF: pass (google.com: domain of info@example.com designates 123.456.789.012 as permitted sender) client-ip=123.456.789.012;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of info@example.com designates 123.456.789.012 as permitted sender) smtp.mail=info@example.com

ちなみに、これだけやってもAOLだけは受信できなかった

詳しい設定はこちらの記事を参照
http://www.atmarkit.co.jp/fsecurity/special/82senderid/sender103.html

サイト上からsendmailでメールを送信する時のワーニング

サイト上からPHPの機能を使ってメールを送信すると以下のようなヘッダがメールに自動的に差し込まれていた
X-Authentication-Warning: example.co.jp: apache set sender to info@example.com using -f
どうやら、メール送信時にApacheが親切にも送信元を書き換えているので注意してくださいみたいな
ワーニングを付けてくれているらしいが、このせいで受信できなかったり迷惑メールにと判定されたりすることもあるらしい

/etc/mail/trusted-users
で、このファイルにapacheと追記するだけで解決した
なお、このサーバーはsendmailを使っていたのでこうなったが、postfixだとどうなるのかは不明


Courier-IMAPの起動と停止

メール配信システム。ソースから自力でインストールしてたりすると、serviceに登録されないのか
serviceコマンドから認識できなかったので。
Solaris# /usr/lib/courier-imap/libexec/imapd.rc start
Solaris# /usr/lib/courier-imap/libexec/pop3d.rc start

/var/log/maillog に下のよくわからないローカルホストからのアクセスログがでまくりだった。
Postfixだけを停止させていたので、Courier-IMAPがローカルのPostfixを探し続けているんじゃないだろうか。

Dec 16 12:02:18 localhost pop3d: Connection, ip=[::ffff:127.0.0.1]
Dec 16 12:02:18 localhost pop3d: LOGOUT, ip=[::ffff:127.0.0.1]
Dec 16 12:02:18 localhost pop3d: Disconnected, ip=[::ffff:127.0.0.1]
Dec 16 12:03:16 localhost imapd: Connection, ip=[::ffff:127.0.0.1]
Dec 16 12:03:16 localhost imapd: LOGOUT, ip=[::ffff:127.0.0.1], rcvd=10, sent=307

OP25B 対策

port25でメールが送れなくなるやつ。普通の設定のほかに
/etc/postfix/main.cf
のmynetworksのところにこんな感じで、いちいちIPアドレスかネットワークアドレスを登録する必要がある模様。
mynetworks = 127.0.0.0/8, 122.xxx.xxx.xxx, 222.xxx.xxx.xxx

どういうことなのかよくわからないが、他に方法があるのか不明。

MTAの変更

alternatives --config mta

SquirrelMailのEmpty Trashプラグイン

ダウンロードして展開後、設定ツールで登録するだけでなく、プラグインディレクトリ内の
設定ファイルをサンプルから作らないとダメらしい。
cp empty_trash/config.php.sample empty_trash/config.php

コマンドラインからメール送信

そのサーバーからメールが送れるかテストするのに、いちいちプログラムを作ったりするのが面倒なので
コマンドから送信テストできる
mail メールアドレス

件名を入れてリターン、本文を入れて終わりは「.(ピリオド)」を入れてリターンで本文終了
Ccを入れてもいれなくてもOKでリターンで送信できている模様

送信専用sendmailの設定

ECサイトなどで、申込完了メールを送信する、送信専用としてsendmailを動かす場合
デーモンとして sendmail を動かす必要はないんだって、知らんかった。
インストールだけで動くものと思ってたが、動かなかったことがあったのでメモ。

設定ファイルも、デーモン用とコマンドから送信する時に使う設定ファイルが違っていて、
sendmail.cf は サーバ用の設定ファイルで mail コマンドが使用するのは submit.cf とのこと。
.cfが設定ファイルだが、.mcファイルを編集してそれから生成するものらしい。

# vi /etc/mail/submit.mc

次の設定を変更

FEATURE(`msp', `[127.0.0.1]')dnl

外部のメールサーバが mail.example.com のとき次のように記述。 "dnl" は、コメントアウト。

dnl FEATURE(`msp', `[127.0.0.1]')dnl
FEATURE(`msp', `mail.example.com')dnl

ついでに次のように記述してホスト名を設定できます。(らしい)
送信メールが xxxx @example.com の様になる。

define(`confDOMAIN_NAME', `example.com')dnl

編集が終わったら、次のコマンドで submit.mc から submit.cf を作成

# m4 /etc/mail/submit.mc > /etc/mail/submit.cf

sendmail-cf パッケージが入っていないと m4 コマンドがないので インストールする必要がある

# yum install sendmail-cf

転載元 http://www.odin.hyork.net/write/write0068.html
最終更新:2013年02月21日 11:42