Mac OS X Server 10.4(Tiger)にバンドルされるpostfix環境をなるべく壊さずにSPF(Sender Policy Framwork)に対応させるメモ書き。
cd /usr/libexec/postfix
sudo curl -O http://www.openspf.org/svn/software/postfix-policyd-spf-perl/trunk/postfix-policyd-spf-perl
cd /etc/postfix
main.cfとmaster.cfを編集。差分は
cube:/etc/postfix% diff -u main.cf.bak main.cf --- main.cf.bak 2006-08-15 07:48:28.000000000 +0900 +++ main.cf 2006-08-26 22:41:59.000000000 +0900 @@ -665,7 +665,7 @@ enable_server_options = yes smtpd_sasl_auth_enable = yes smtpd_use_pw_server = yes -smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination,permit +smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination,check_policy_service unix:private/policy,permit smtpd_pw_server_security_options = plain,login myhostname = cube.aikawa.jp content_filter = smtp-amavis:[127.0.0.1]:10024 cube:/etc/postfix% diff -u master.cf.bak master.cf --- master.cf.bak 2006-06-22 21:03:48.000000000 +0900 +++ master.cf 2006-08-26 22:41:58.000000000 +0900 @@ -152,3 +152,5 @@ -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o receive_override_options=no_header_body_checks +policy unix - n n - - spawn + user=nobody argv=/usr/bin/perl /usr/libexec/postfix/postfix-policyd-spf-perlこんな感じ。postfix-policyd-spf-perlを軽く動かしてみるとエラー発生
% sudo -u nobody /usr/bin/perl /usr/libexec/postfix/postfix-policyd-spf-perl Can't locate Mail/SPF/Query.pm in @INC (@INC contains: /System/Library/Perl/5.8.6/darwin-thread-multi-2level /System/Library/Perl/5.8.6 /Library/Perl/5.8.6/darwin-thread-multi-2level /Library/Perl/5.8.6 /Library/Perl /Network/Library/Perl/5.8.6/darwin-thread-multi-2level /Network/Library/Perl/5.8.6 /Network/Library/Perl /System/Library/Perl/Extras/5.8.6/darwin-thread-multi-2level /System/Library/Perl/Extras/5.8.6 /Library/Perl/5.8.1 .) at postfix-policyd-spf-perl line 14. BEGIN failed--compilation aborted at postfix-policyd-spf-perl line 14.CPAN使って必要なモジュールを片っ端からインストール。そしてpostfixに喝!
sudo cpan Mail::SPF::Query sudo postfix check sudo postfix reload届いたメールのメールヘッダにReceived-Spf:が挿入されることを確認。これで他ドメインから受けたメールはSPFチェックが効くようになった。ただし他ドメインのためにDNSのTXT-RRにSPF情報を付加することはMac OS X Serverの「サーバ管理」の仕様(バグ)のためできない。(詳細)
最近のコメント