Postfix(8)
Postfixスレッド その7です。 ●リンク 本家 http://www.postfix.org/ Postfix のぺーじ (ドキュメントの日本語訳、MLなど) http://www.kobitosan.net/postfix/ 過去スレ、関連スレなどは>>2-4 あたり
>>4 ありがと。やっぱamavisd-new専用かあ。残念。 >>5 milterならなぁ、、って事? content_filterじゃなくて ヲレのDebian lennyな環境だとclamav-milterにせよspamass-milterにせよ milterなdaemonってやたらメモリ喰っているのがかなり嫌。 spamass-milterで44MB、clamav-milterに至っては190MBって… メモリ喰いもイヤだけど spamassassin はなーんで Perl で書いて居るのかわからん。 C で書いてくれればもっと早くなるのになぁ…と思って見た。 あのスパム判定するときの遅延がなんか気分的に宜しくない。 >>8 パターンマッチの塊だとCで書くのはかなり嫌。 あと、spamassassinはspamdで常時起動させておけば、それほど重くないと思うけどなぁ。 もちろん、メールの流量にもよるけど。 amavisd-new だと spamd は使えないっぽいので… ユーたち、どうやってるの? spamassassinってDKIMのチェックもするけど、それなのにあえてdkim-filter 入れている人って、その効果出ている? 無駄なような気がしてならないんだけど。 >>10 spamass-milterつかえば? >>11 spamass-milter使うとmaia使えないという罠 あちらを立てるとこちらが立たず >>13 enma で特定ネットブロックからのアクセスは検査させないようにってできる? >>10 Debianのetchで、amavisd-newとspamassassin入ってる。 amavisdとspamdと両方プロセス動いてるけど何か違うんだろうか? >>10 amavisdがスキャナーとして働いてclamdやspamdを通すんだったと記憶してる。 >>11 自分が署名付ける時用に入れてる >>17 amavisd-new は clamav は見つけて使ってくれるが spamd は無視してるっぽい。 perl の spamassassin モジュールを使っているようなのだが、 それってspamd (のクライアントであるspamc)を使うようになっているのだろうか? ウチのamavisd-newではspamdのsyslogが出てるよ。 設定ファイル見てみたけどそれらしい設定はなかったが、、 amavisd-new は spamassassin(コマンド)も spamd も使わずに (perlの)Mail::SpamAssassin を直接使用しているんじゃなかろうか。 clamdの起動時に1時間以上かかるのってうちだけ? ソケットのclamd.ctlができるまで、1時間以上CPUがまわりっぱなし。 終わったら速いんだけど、freshclamで更新?されるとまた繰り返す。 検索しても数秒で終わることが多いから、何がネックなのか良くわからない。 >>20 たしかにそれっぽいな、、気付かんかった。 てっきりspamdに行ってるもんだと、、 Postfix+Mailmanでメーリングリストを運用していて、main.cfで smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination こんなかんじの設定を行っています。 この設定だと、メーリングリストのメンバーに別ドメインのメールアドレスが 含まれている場合に relay_domains にそのドメインを含める必要があるのですが、 ・localhost からの転送ついては、 reject_unauth_destination を無視する ・それ以外のホストからの転送については、reject_unauth_destination を有効にする ということは可能でしょうか? localhost からの転送permit_mynetworksに含まれてないっけ? main.cfはこんなかんじです。 # postconf -n alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases command_directory = /usr/sbin config_directory = /etc/postfix content_filter = smtp-amavis:[127.0.0.1]:10024 daemon_directory = /usr/libexec/postfix debug_peer_level = 2 default_privs = vmail disable_vrfy_command = yes home_mailbox = Maildir/ html_directory = no inet_interfaces = all mail_owner = postfix mailbox_transport = mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man message_size_limit = 10485760 mydomain = *******.**.** myhostname = ****.*******.**.** mynetworks = 192.168.1.0/24, 127.0.0.0/8 mynetworks_style = subnet myorigin = $mydomain newaliases_path = /usr/bin/newaliases.postfix queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES relay_domains = ********.***, ***.*******.**.**, sample_directory = /usr/share/doc/postfix-2.3.3/samples sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop smtpd_banner = $myhostname ESMTP unknown smtpd_helo_required = yes smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination smtpd_sasl_local_domain = $myhostname smtpd_sasl_path = private/auth smtpd_sasl_security_options = noanonymous smtpd_sasl_type = dovecot smtpd_tls_CAfile = /etc/pki/CA/cacert.pem smtpd_tls_CApath = /etc/pki/CA smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.crt smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem smtpd_use_tls = yes transport_maps = hash:/etc/postfix/transport unknown_local_recipient_reject_code = 550 virtual_gid_maps = static:5000 virtual_mailbox_base = / virtual_mailbox_domains = ******.**.** virtual_mailbox_maps = ldap:/etc/postfix/vmailbox.cf virtual_minimum_uid = 5000 virtual_uid_maps = static:5000 >>23 mynetworks に 127.0.0.0/8 が含まれているから、permit_mynetworks が効くので、 今のままの設定でも問題ないはず。 >>27 ありがとうございます。 しかし、この設定で、relay_domainsに設定しないとリレーしてくれないんです・・・。 transport でいったんMailmanに渡してるからだと思うんですが、謎。 /var/log/maillog は↓こんなかんじです。 Dec 13 10:12:37 linux-test postfix/smtpd[27016]: 28C3EFF2F06: reject: RCPT from linux-test.example.ne.jp[127.0.0.1]: 554 5.7.1 <test@hoge.hoge.ne.jp>: Relay access denied; from=<test-bounces@ml.example.ne.jp> to=<test@hoge.hoge.ne.jp> proto=ESMTP helo=<linux-test.example.ne.jp> >>28 Mailman からの戻されるSMTPの口はどうなってます? master.cf に書かれてると思うけど。 >>29 smtp inet n - n - - smtpd -o smtpd_sasl_auth_enable=yes -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject_unauth_destination submission inet n - n - - smtpd -o smtpd_sasl_auth_enable=yes -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject_unauth_destination smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject_unauth_destination こうなってましたorz smtp/smtpsの smtpd_recipient_restrictions をコメントアウトして無事解決しました。感謝! メールとWEBサーバを分離したいんだけど、 分離したらメールをトリガーにしてプログラム起動することってできなく なりますよね? 何か裏ワザ的なものないでしょうか? 現在は maildrop(.mailfilter)で対応しています。 >>31 web と mail server って、普通は同居してないけどな。 何がしたいのか、もう少し具体的に書いてくれないと返事のしようが無いぞ。 ttp://www.hideblog.net/nikkis/show/14 説明不足すいません、 こんな感じで、パイプで、メール受信したらプログラム動かしたいのです。 これはローカルにパイプしてるパターンですが、 外部サーバーにパイプする方法ってあるでしょうか? >>33 どこにwebが絡むか全然判らないんだけど ひょっとして、PHPって物を誤解してないか? >>33 php は言語なので、web server が必須ではない。 君が言っている URL のサイトはコマンドライン版の php を使っている。 rpm なら、php-cli というものを入れれば使える。 エラーメールとか登録確認メールとかを Webアプリの一部機能で受け取ったら処理したいのかもしれん でもスレ違いだから消えてください 説明悪すぎた orz メールトリガー(メールのパイプ)で ローカルのプログラムではなく別サーバ(webサーバーとして通常使用)のプロプラムを操作したい、 ということです。 transport_maps でトリガーに使用したいメールアドレスだけ 別サーバに送って、という方法も考えたのですが、 これだと結局さらに別サーバ側でもpostfix入れなきゃいけないのですよね。 >>38 それ用のdaemon作りたくなくのなら、web serverにもpostfix入れとけばいいやん。 >>38 だからスレ違いと言っとろうが RPCの仕組みくらい自分で考えろボケ 31と被るんだけど、 到達したメールに対して、 transport で別サーバに投げる+そのまま自サーバのmdaに投げる、 という2つを同時にしたいんだけど、 片方だけなら楽なんだが 両方を簡単にする方法教えてきぼんぬ うちは単純に .forward でウェブサーバーにメール転送してるぞ 受信するメールが全てウェブ用トリガーじゃ無いしね これじゃだめなの? >>41 アドレスを変えずに、という条件が付くと簡単な方法は無い。 無いことを立証するのは難しいし、知らない奴は黙ってろと言われると凹むが、 しばらく前になんとかならないかと検討した結論は、簡単な方法は見つからなかった。 結局 recipient_bcc_maps を使ってアドレスを変えて別のサーバーに投げた。 ふとパイプ試してて思ったんだが、 .forward や alias によるパイプってレンタルサーバーみたいな 複数ユーザがいる環境で使うのやばくね? setuid してるわけじゃないから 逆に動作ユーザがpostfix指定のユーザ固定になっちゃって そのユーザでなら何でもし放題になっちゃう >>44 配送の権限 外部のファイルや外部コマンドへの配送は、配送がなされたものを受けとっ た ユーザの権限で実行されます。ユーザがいない場合には、local(8) デーモンは :include: ファイルやエイリアスデータベースの所有者の権限を使います。 こ れ らのファイルがスーパーユーザの所有であるときは、配送は default_privs 設定パラメータで指定された権限でおこなわれます。 ということなので問題ないようになってるんじゃない。 postfixのログ書き出しって、syslogd経由だったのね。 ログの切り出し時に、postfix restartでイケルと思っていて、 /var/log/messageの内容3時間分くらい飛ばしてしまったぜ。 Postfixにて、ローカルから外部へのメール送信ができません。 グローバルアドレスの時は、/etc/mailname と /etc/postfix/main.cf の myhostname を適時設定するだけでいけました。 どうもNAT環境下のせいか、上手くいきません・・・。 ちなみに、ローカルからローカルへは送ることができました。 ご助言いただけないでしょうか? $ postconf -n alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases append_dot_mydomain = no biff = no config_directory = /etc/postfix default_transport = error inet_interfaces = loopback-only mailbox_size_limit = 0 mydestination = (ホスト名).(FQDN), localhost.(FQDN), localhost myhostname = localhost mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 myorigin = /etc/mailname readme_directory = no recipient_delimiter = + relay_transport = error relayhost = smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtpd_use_tls = yes /etc/mailname は localhostと書いています。 /var/log/mail.log のログは以下です。 Jan 2 16:20:48 (ホスト名) postfix/pickup[23618]: 64A4116E163: uid=1000 from=<(ローカルユーザー)> Jan 2 16:20:48 (ホスト名) postfix/cleanup[23774]: 64A4116E163: message-id=<20090102072048.64A4116E163@localhost> Jan 2 16:20:48 (ホスト名) postfix/qmgr[23619]: 64A4116E163: from=<(ローカルユーザー)@localhost>, size=329, nrcpt=1 (queue active) Jan 2 16:20:48 (ホスト名) postfix/cleanup[23774]: 6C69C16E15B: message-id=<20090102072048.64A4116E163@localhost> Jan 2 16:20:48 (ホスト名) postfix/qmgr[23619]: 6C69C16E15B: from=<(ローカルユーザー)@localhost>, size=449, nrcpt=1 (queue active) Jan 2 16:20:48 (ホスト名) postfix/local[23776]: 64A4116E163: to=<(ローカルユーザー)@localhost>, relay=local, delay=0.06, delays=0.04/0/0/0.02, dsn=2.0.0, status=sent (forwarded as 6C69C16E15B) Jan 2 16:20:48 (ホスト名) postfix/qmgr[23619]: 64A4116E163: removed Jan 2 16:20:48 (ホスト名) postfix/error[23777]: 6C69C16E15B: to=<(あて先)@(あて先ホスト)>, orig_to=<(ローカルユーザー)@localhost>, relay=none, delay=0.03, delays=0.01/0/0/0.01, dsn=5.0.0, status=bounced ((あて先ホスト)) Jan 2 16:20:48 (ホスト名) postfix/cleanup[23774]: 7324B16E164: message-id=<20090102072048.7324B16E164@localhost> Jan 2 16:20:48 (ホスト名) postfix/qmgr[23619]: 7324B16E164: from=<>, size=2124, nrcpt=1 (queue active) Jan 2 16:20:48 (ホスト名) postfix/cleanup[23774]: 77B4816E165: message-id=<20090102072048.7324B16E164@localhost> Jan 2 16:20:48 (ホスト名) postfix/bounce[23778]: 6C69C16E15B: sender non-delivery notification: 7324B16E164 Jan 2 16:20:48 (ホスト名) postfix/qmgr[23619]: 6C69C16E15B: removed Jan 2 16:20:48 (ホスト名) postfix/qmgr[23619]: 77B4816E165: from=<>, size=2244, nrcpt=1 (queue active) Jan 2 16:20:48 (ホスト名) postfix/local[23776]: 7324B16E164: to=<(ローカルユーザー)@localhost>, relay=local, delay=0.02, delays=0.02/0/0/0, dsn=2.0.0, status=sent (forwarded as 77B4816E165) Jan 2 16:20:48 (ホスト名) postfix/qmgr[23619]: 7324B16E164: removed Jan 2 16:20:48 (ホスト名) postfix/error[23777]: 77B4816E165: to=<(あて先)@(あて先ホスト)>, orig_to=<(ローカルユーザー)@localhost>, relay=none, delay=0.01, delays=0/0/0/0.01, dsn=5.0.0, status=bounced ((あて先ホスト)) Jan 2 16:20:48 (ホスト名) postfix/qmgr[23619]: 77B4816E165: removed -------------おわり--------------- すいません、書き忘れました。 メールを送る時は、 $ sendmail (ローカルユーザー)@localhost From: hoge@example.com Subject: test test magemo hage . としています。 また、送信先のユーザーのディレクトリに、 .forwardを置いて、外部のメールアドレス(上記ログの(あて先)@(あて先ホスト))を指定しています。 >>48 # default_transport = error >>52 thanx!! default_transport = smtp にしたら、送れたけど以下のようなエラーメールが返ってきたので、 > Diagnostic-Code: smtp; 553 5.5.4 <(ユーザー名)@localhost>... Real domain name required > for sender address myhostname をきちんと自分のホスト(hoge.mage.net)に設定し、 myorigin = $mydomain にしたところ、 無事におくることができました。 しかし、最初に aptitude でインストールして、 インストール中の選択肢で「ローカル向け」で設定した時に、 default_transport = error になっていたんですかね?(マニュアルではdefaultはsmtpのようですが) 何にせよ動いたので助かりました。 新年早々ありがとうございました >>53 > インストール中の選択肢で「ローカル向け」で設定した時に、 > default_transport = error > になっていたんですかね?(マニュアルではdefaultはsmtpのようですが) Ubuntuの親切設定だろうね。 無知な人がインターネットにクソメールを撒き散らすのを避ける目的。 recipient_bcc_maps で別のサーバに保存してあるメールを、 (「消しちゃったからもう一回送って」と言われて)ユーザーに送るとき どうしてますか? 直接コピーしてますが、もそっとKOOLな方法ってないですか? aliases(5) の In addition, when an alias exists for owner-name, delivery diagnostics are directed to that address, instead of to the originator of the mes- sage. This is typically used to direct delivery errors to the main- tainer of a mailing list, who is in a better position to deal with mailing list delivery problems than the originator of the undelivered mail. って動いてます? test: "| false" owner-test: fuga で、test にメールを送ったメールがエラーになった場合、 fuga に届くという認識でいいですよね? postfix固有の質問かどうか判断できないのですが質問させてください。 スレ違いならばどこか誘導ください。 /etc/aliasesで root: myuser というようにrootのユーザーをmyuserに飛ばそうとしています。 この際に、resolve.confに search mysubnetwork.mydomain.com というように、search を指定している場合、 sendmail root@localhost < mail.txt というようにメールを送った場合、myuserにメールが送れず、ログを見ると OS: Ubuntu 8.04(hardy) 途中で送信してしまいました roz sendmail root@localhost < mail.txt というようにメールを送った場合、ローカルのmyuserにメールが送れず、ログを見ると myuser@mysubnetwork.mydomain.com にメールを送ろうとしてて失敗しています。 searchで指定したドメイン用にはメールさばは立てていないため送れないのは当然なのですが、 localhostに送れないのが気になりました。 search 行をはずすと無事遅れました。 これはどういった現象なのでしょうか? >>58 エイリアスの設定変更を行った後、newaliaseコマンドを実行していますか? このコマンドを実行しないと、変更が反映されません。 >>58 /etc/host.conf , /etc/hosts はどうなっている? あと、main.cf の mydestination は? 質問させていただきます。 /etc/aliases にて root: my_user と設定してあり、 sudo newaliases もやってあります。 しかし、以下のようにメールを送っても、 cat ~/testmail | mail -s "mage" root@localhost ログを見ると、my_user@(ドメイン名)にメールを送ろうとして失敗します。 しかし、上の要領で my_user に直接送ると問題なく送れるようです。 これはどういった現象でしょうか? $ postconf -n alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases append_dot_mydomain = no biff = no config_directory = /etc/postfix inet_interfaces = loopback-only mailbox_size_limit = 0 mydestination = (自ホスト名).(FQDN), localhost.(FQDN), localhost myhostname = (自ホスト名).(FQDN) mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 myorigin = $mydomain readme_directory = no recipient_delimiter = + relayhost = smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtpd_use_tls = yes >>62 > mydestination = (自ホスト名).(FQDN), localhost.(FQDN), localhost (自ホスト名).(FQDN)って? > myorigin = $mydomain も(自ホスト名).(FQDN)にしたら? どうでもいいけど FQDN = hostname.domain_name... じゃねーの? >>63 試してみます! >>64 すまそ。ドメイン名のことです。FQDNといったら、ホスト名も入りますね。 いろいろ試しましたがどうもうまくいかなかず、泥沼になってきたので、 main.cf や /etc/aliasesをバックアップとり一旦消して、postfixを再インストールしました。 その後、こちらのサイトを見つけ、参考にしながら設定したところ、 Kozupon.com - Postfixの導入! http://www.kozupon.com/mail/postfix.html >>62 のような現象はおきなくなりました。 前のとdiffをとったものを置いておきます。 泥沼になったり同じ失敗をせぬように、今後はいじるときはバックアップをとっておこうと思います。 おさわがせしました。ありがとうございました。 -myhostname = (自ホスト名と違うDNSに乗っているホスト名).(ドメイン名) +myhostname = (自ホスト名と一致させたDNSのホスト名).(ドメイン名) +mydomain = (ドメイン名) alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases -myorigin = $myhostname myorigin = $mydomain -mydestination = (いろいろ), localhost +mydestination = $myhostname, localhost.$mydomain, $mydomain, (いろいろ) localhost relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = loopback-only -#default_transport = error -#default_transport = smtp -#relay_transport = error +default_transport = smtp +relay_transport = error すいません。やっぱりうまくいっていませんでした orz >>66 の設定だと、root とか ユーザー名でローカルには送れるのですが、 実際に存在する同じドメインのメールアドレス (例:hage@my_domain.com )に メールを送ろうとすると、ローカルに送ってしまいます。 前提として、今作っているのは外部から受け取ったりせず、 ローカルからメールの発信のみするメールサーバーです。 (発信のみというか、cronなどのrootのメールを外部にメールを転送したいだけなのでですが) また、my_domain.com のメールサーバーはレンタルサーバー上に存在しており、 my_domain.com のホストの1つとして今のサーバーを配置します。(my_host.my_domain.com) どうも、 $mydomain = my_domain.com にして、 mydestination に $mydomain を追加すると、 hoge@my_domain.com のようなメールアドレスには送れなくなります(かりにローカルに送ろうとする)。 なので、mydestination から $mydomain をはずすと、今度は、 rootやmy_user(ローカルのユーザー)に送ろうとすると、root@my_domain.comや、my_user@my_domain.com に送ろうとして(実在しないので)失敗します。 ただし、my_user@localhost と書くと成功するのですが、root@localhostと書くと、 /etc/aliases で root: my_user としているため、my_user@my_domain.comに送ろうとして失敗します。 やりたいことは、root や ローカルユーザー名だとローカルに送り、 hoge@my_domain.com など全部指定すると外部のメールサーバーに送ってくれることなのですが、 どうしたらよいでしょうか? 大分動作が理解できてきたのですが、根本的なところを理解できていない気がします。 もう一度 postconf -dを書きます。 $ s postconf -n alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases append_dot_mydomain = no biff = no config_directory = /etc/postfix default_transport = smtp inet_interfaces = loopback-only mailbox_size_limit = 0 mydestination = $myhostname, localhost.$mydomain, localhost mydomain = my_domain.com myhostname = my_host.my_domain.com mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 myorigin = $mydomain readme_directory = no recipient_delimiter = + relay_transport = error relayhost = smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtpd_use_tls = yes ---------- 実は >>63 さんのいうとおりの解決方法で解決するかと思い myorigin = $myhostname にすれば、rootやmy_userに送ったものが、 root@myhost.my_domain.com、my_user@myhost.my_domain.com に送られ、 また、/etc/aliasesで設定したように root から my_user@myhost.my_domain.com に飛ばされても、 myhost.my_domain.com はローカル扱いなので一旦ローカルに送られ、 万事解決かと思ったのですが、 外部のメールアドレスに送った場合うまく遅れないメールアドレスがあり困っています。 例えば、hoge@other_domain.com には Message accepted for delivery とログでいわれ、送ることができるのですが、 hage@my_domain.comに送ると、 deferred (host mail.my_domain[xx.xxx.xxx.xxx] said: 451 DNS temporary failure (#4.3.0) (in reply to MAIL FROM command)) とログでいわれ、届きません orz DNS上に見つからない、ということでしょうか?うーん。DNSには自ホストは設定してあるんだけどなあ。 何度もすいません。 > 451 DNS temporary failure (#4.3.0) で蹴られる件ですが、相手のメールサーバーがXREAの場合に起こるようです。 他のメールアドレス(メールサーバーがさくらインターネットやgmailなど)では問題ありませんでした。 こういうことはあるものなんでしょうか? 二転三転しててどうにもなんだけど ドメインはとりあえず example.com とか example1.com なんかにしておいた方が見やすい。 スマン。なんとなくわかってきた。 Value DomainのDNSにメール送信元のホストは登録してあったんだけど、 今気づいたんだけど逆引き設定してない \(^o^)/ というかValue DomainってPTRレコード設定できないみたい orz ↓ここみたら、XREAは逆引きできないと弾くみたい。 XREA⇔XREA-XREA/Value-Domain/AccessAnalyzer/総合公認サポートサイト- http://xrea.xreaxrea.com/merr.html しかし、なんでこんな簡単なことに気づかなかったんだろう・・・ 明日ネットワーク管理者に逆引き設定してもらいます。 これで解決したら俺相当のアフォだ・・・ >>71 わかりにくくてすいません。 my_domain.com がメールを外部に送ろうとしている自鯖で、 other_domain.com は全く別のドメインのつもりで書きました >>72 ぐぐってみたのですが違うキガス・・・ レジストラ提供の動的DNSサーバにPTRレコードを設定とか思いつく時点でアホ認定 >>74 すいませんすいません。 ふつーは、IP配ってるところの配下のDNSで設定する門ですよね >>75 なので、今はDDNSなサイトでメールの送受信は出来ないとものと考えたほうがいい。 やりたきゃ金がかかろうが固定IP取得。それが嫌ならGoogle Apps等を利用。 固定IPサービスでも逆引き設定しない所もあるのでご利用は計画的に >>77 ISP のタケーサービス使わん限り逆引きしたら ISP のホスト名が出てくるっしょ 一応 SPF でもソフトフェイルでかいときゃいいんでね? ネットワーク管理者に逆引き設定してもらいました。 お前ら、サンクスでした。 >>76 なにが「なので、」なのかわからない。 なんでDDNSなサイトで送受信はできない、という話になるのか。 正引きと逆引きが一致しないと受け取らない、という腐ったサーバが増えてるからかな?カナカナ? 逆引きができないホストを蹴ることはあっても 正引きと逆引きが合わない程度で蹴るなんてアホだろ 逆引き結果をさらに引いて合わないならわからんでもないが というか、何に対していきなり正引きを適用すると想像してるのかわからんですね。 HELOでやったらメール送れなくなるMUA多発するだろうし。 >>82 > 正引きと逆引きが合わない程度で蹴るなんてアホだろ これやったら、Web&Mailのレンタルサーバ(雑居鯖)を使っているところはほとんどアウトだよね。 おれんちは固定IPだが、逆引きするとISPのアドレス返すからアウトだわ。 SMTPサーバーを保護する「Artica-postfix」 http://www.artica.fr/ >>86 あの流れで「MUA」を挙げてきた理由がわからんのだけど MTAはMUAが繋ぎに来たのかMTAが繋ぎに来たのか区別できるとでも? だなあ。 日本の大手ISPはほとんどみなOP25Bだし。 ヘッダが生JISなメールを見たので拒否してやりたいと思うんだが、正規表現で16進が使えないのな。 $も末尾の意味にしか使えないっぽいし。 ・拒否する設定が組み込まれてるので簡単に指定できる ・btreeか何かで設定すればいい とかだといいんだけど何かある? >>94 「ヘッダに生JISはまずい」ってのはみたけど、拒否すべきかどうかは不明。 一部のspamが送ってきてるし、普通はエンコードしてあるから拒否してみようかと。 >>95 それは引っかからなかった。 man grepしても言及されてないし、今のところ$という文字を引っ掛ける方法は不明。 ちなみに、$Bだけで引っ掛けるとQuotedPrintableなJISが拒否されるみたい。 Outlookの初期設定で、サイズみてBかQか判定してるとか。 なので0x1B2442の3バイトは最低必要 >>96 > man grepしても言及されてないし、今のところ$という文字を引っ掛ける方法は不明。 (゚Д゚)ハァ? > 拒否すべきかどうかは不明。 を拒否しようって言う人なんだから レスでコミュニケーションをとる努力をするのも無駄だね >>97 煽るくらいなら教えてw \$で拒否できなかったし、grepでも引っかからなかった。 >>98 不明って言うか、根拠がわかってない状態。 「まずい」って話は見たんだけど、具体的にどうまずいかって言うと 「アドレスがきちんと処理できない場合がある」くらいだった。 個人的に一番まずいのは、某メールサーバのログを見たときに化けて困るあたり。 OP25B回避のためにPostfixでrelayhostをプロバイダー提供のSMTPサーバに設定しています。 うまく設定できているかいろいろテストしていたら 送信者に設定されたアドレスのドメイン名がDNSで引けない場合と 送信先に設定されたアドレスのドメイン名がDNSで引けない場合に プロバイダーのメールサーバーに接続を拒否されてエラーになる事がわかりました。 その場合プロバイダーのサーバーからのエラーメールはなく /var/log/maillogにはRecipient address rejected: Domain not foundやSender address rejectedが 残っているのですが、ログを確認しないと一見正常に送信出来たように見えてしまうので 転送時にエラーが出たらPostfixから送信者にエラーメールを返すように設定出来ないでしょうか? >>102 regexpしかやってなかったです。 Debianなので、postfix-pcreをインストール。 regexpのところをpcreにしたら引っかかるようになりました。 header_checksに追加したのはこれです。 /.*\x1B\x24\x42.*\x1B\x28\x42.*/ REJECT 今のところ、spamらしきのが数通かかってます。 正当なメールが引っかかるならそのときに考えます。 さんくす。 read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる