Postfix(7)at UNIX
Postfix(7) - 暇つぶし2ch910:名無しさん@お腹いっぱい。
08/09/22 19:35:27
すいません質問させて下さい。
大学のUNIXサークルのサーバ(固定IP)でPostfixを使っているのですが、
メールが発信されない不具合がありmain.cfを確認してみたら中身に
「relayhost = ***.****.****.****(←ここにIPアドレス)」と
今は存在しない外部のSMTPサーバが中継指定されていました。


この場合 relayhost を削除してしまえばメールは正常に配信される
ものなのでしょうか。それとも別にSMTPサーバを用意してあげなくては
ならないのでしょうか。



911:名無しさん@お腹いっぱい。
08/09/22 20:01:51
>>910
スレリンク(unix板:267番)

912:名無しさん@お腹いっぱい。
08/09/22 20:21:46
>>910 中継が許されるサーバがいる、というかこの場合上位組織のメールサーバなのかな?
いずれにしても政治層での情報収集が必要という気がする。

913:名無しさん@お腹いっぱい。
08/09/22 22:50:07
政治層というより0層とか-1層とか(事前調査)

914:名無しさん@お腹いっぱい。
08/09/22 23:34:48
高度に政治的な判断が必要

915:名無しさん@お腹いっぱい。
08/09/23 00:23:46
ひらたく言うと
ネットワーク管理者にお問い合わせください

916:名無しさん@お腹いっぱい。
08/09/23 00:28:24
>>910

ネットワーク構成とかわからんと、だれも答えられないかも。
まずは、失敗メールを送りつつ、tail -f /var/log/mail.log(.いらんかも)
とにらめっこしてみては?

917:名無しさん@お腹いっぱい。
08/09/23 16:46:34
あれ?自社製品じゃなかったの?
スレリンク(unix板:267番)

918:名無しさん@お腹いっぱい。
08/09/23 17:13:34
Relaying denied:
From unknown[>>910] to Postfix(7) : 1 Time(s)

919:名無しさん@お腹いっぱい。
08/10/06 20:57:12
ipが複数あるマシンに、ipの数だけpostfixを起動して、
各postfixは必ず指定した1つのipのみを経由して配信するということは可能でしょうか?


920:名無しさん@お腹いっぱい。
08/10/07 00:18:53
>>919
可能だとは思うが、そもそも何がやりたいのかを書いた方が
スマートな解決方法がありそう

921:名無しさん@お腹いっぱい。
08/10/07 04:03:59
>>919
Solaris10のZone使った方が幸せになれると思うぞ。

922:名無しさん@お腹いっぱい。
08/10/07 14:02:47
先方が送ったメールがこちらのサーバに届きません。
どんな理由が考えられますでしょうか?

ユーザのMaildirフォルダでls -aRしてみたのですが届いてないようです。
私が考えられるのは
 こちらの設定ミス
 先方側の問題
くらいです。

923:名無しさん@お腹いっぱい。
08/10/07 14:08:04
あっちの問題か、こっちの問題か、あっちとこっちの間の問題かのどれかだと思います。

924:名無しさん@お腹いっぱい。
08/10/07 14:15:09
>>923
ありがとうございます。
具体的に問題点となりうる箇所をお教えいただますでしょうか?
お願い致しますm(_ _)m

925:名無しさん@お腹いっぱい。
08/10/07 14:30:13
自分のログ見てみたら?
相手サーバからの接続があるかどうか。

原因がありすぎてそんなのあげられんよ。

926:名無しさん@お腹いっぱい。
08/10/07 14:57:07
>>925
ありがとうございますm(_ _)m

cat /var/log/maillog |grep from
で見てみたのですが
Oct 7 12:37:08 hoge postfix/qmgr[29662]: D47836BE501: from=<hoge@example.com>, size=2783, nrcpt=1 (queue active)
とサーバに届いているっぽいです

ただ、メールボックスを見てみると来ているメールのDateが一日前とかになってものがあります。(迷惑メールではない)
どこかで遅延がおきているのでしょうか?



927:名無しさん@お腹いっぱい。
08/10/07 15:07:50
たびたびすみません。

ls- l /home/hoge/Maildir/new/
-rw------- 1 hoge hoge 345 10月 7 14:39 1234567.example.com

10月 7 14:39にサーバに届いてファイルが作られていると思うのですが、メールのDateは1日前だったりします。
Dateをいじれるのは知っていますが、先方がいじる意味はないのでなんらかの障害だと思われます。




928:名無しさん@お腹いっぱい。
08/10/07 15:12:35
Received: 見れ。

929:名無しさん@お腹いっぱい。
08/10/07 15:15:14
# date
# hwclock -r

930:名無しさん@お腹いっぱい。
08/10/07 15:17:30
送信されたメールが瞬間で確実に届く保障はされていない。
ましてや相手クライアントの時間が正確に設定されている保証はない。

931:名無しさん@お腹いっぱい。
08/10/07 15:28:45
>>928
ありがとうございます。
こういうときは経路を見ると良いのですね

>>929
当方のサーバも時間が若干間違っておりましたので修正しました。

>>930
ご教示ありがとうございます。

大変勉強になりました。

932:名無しさん@お腹いっぱい。
08/10/07 16:14:11
>>926
> cat /var/log/maillog |grep from
catコマンドは不要。man grepしよう。

933:名無しさん@お腹いっぱい。
08/10/07 21:05:54
>>932 オフトッピックだけど
さらにパイプで繋いでsedとかで整形、絞り込みしたいことがあるから自分はcatしてる。

934:名無しさん@お腹いっぱい。
08/10/07 21:30:47
>>933
その場合でもcatは要らないような気が。
古いログは圧縮されてることがあるから zcat を使うことはよくある。

935:名無しさん@お腹いっぱい。
08/10/07 21:43:47
>>919
smtp のオプションでに smtp_bind_address を指定してやればできるかもしれない。

URLリンク(www.postfix-jp.info)

mtkw って言われると、それはちょっと。

936:名無しさん@お腹いっぱい。
08/10/07 21:57:46
>>933
catは不要。man sedしよう。

>>934
zgrepも便利。

937:名無しさん@お腹いっぱい。
08/10/07 22:15:03
不要なのは分るんだが、何が来てもOkなようについついcatは書くな。

cat file | (ここまで打って、さーどーしようと考える)

938:名無しさん@お腹いっぱい。
08/10/07 22:35:40
catじゃなくてtail -fなら良く使うけどな

939:名無しさん@お腹いっぱい。
08/10/07 23:41:37
あるある
tail だけのつもりが手癖で -f が付いちゃう
トラブルでログを見る時は、前後の状況とかも見たいから、まずlessだな

940:名無しさん@お腹いっぱい。
08/10/07 23:53:09
そんな君はlessのFコマンドも使おう

941:名無しさん@お腹いっぱい。
08/10/07 23:54:58
>>926
それキューに入ってるだけじゃまいか??
status みないと。

mailq でもして Queue のぞいてみるとかアレコレ。

942:名無しさん@お腹いっぱい。
08/10/08 00:02:36
tail -f って10行くらいしかでないでしょう。
最後の100行くらいと、追加された分を見たいときがよくあるんだけどなにかいい方法ないかな。
ちなみにlvを使うのでlessは使ってません。

943:名無しさん@お腹いっぱい。
08/10/08 00:12:50
>>942
tail -n +1 -f

944:名無しさん@お腹いっぱい。
08/10/08 01:30:22
バウンスするときのtransportを通常とは別の経路に変更できませんか。
例えば、 from:x@example.com to:y@example.com なメールa.example.comからを送るとき
a.example.com の postfix の transport_maps で
x@example.com smtp:[relay.example.com]
y@example.com smtp:[relay.example.com]
となっていたら relay.example.com に転送されるでしょ。
ところが relay.example.com でvirus警報発令されて拒否られたとします。
すると a.example.com は x@example.com へエラーメールを送ろうとするんですが、
これがまたまた relay.example.com でvirus警報発令されて拒否されちゃう。
なのでbounceに転送先を指定できたりしないかなと思ったんですが、
マニュアルみてもできなさそうなんです。


945:名無しさん@お腹いっぱい。
08/10/08 01:53:19
>>937
cat は不要。
< file ...

946:名無しさん@お腹いっぱい。
08/10/08 07:27:32
>>945
そこは /dev/null でw

947:名無しさん@お腹いっぱい。
08/10/08 10:36:15
>>946
どういうこと?

948:名無しさん@お腹いっぱい。
08/10/08 11:10:32
>>944
transport は変えられないけど、経路を変えるだけなら
sender_dependent_relayhost_maps でできる。


949:名無しさん@お腹いっぱい。
08/10/08 14:30:28
>>920>>921>>935
レスありがとうございました。
やりたいことは、携帯対策で外へ繋ぐIPを指定できれば・・・ということです。

smtp_bind_addressと複数起動を試してみます。

950:名無しさん@お腹いっぱい。
08/10/11 14:39:41
recipient_canonical_maps で pcreテーブルを使って
abc@example.com を abc+abc=example.com@example.com
のように変換したいんだけど、再帰的に処理されて無限ループしちゃうんだけど
なんとかならぬものか?一回だけ変換して星いの。

951:名無しさん@お腹いっぱい。
08/10/11 21:39:53
>>950
一回だけmatchすればいいなら↓でいいんじゃね?

/([^+=@]+)@(example.com)/ abc+${1}=${2}@example.com

952:名無しさん@お腹いっぱい。
08/10/12 00:27:49
>>951
recipient_canonical_maps に限らないけど、アドレスを比較するときには
user+ext@domain
user@domain
user+ext
user
の順にマッチングが試されるじゃない。
abc@example.com を abc+abc=example.com@example.com に変換すると
再度 (+abc=example.com と外して)abc@example.comでマッチングを試して
変換したら、外してあった+abc=example.comを戻すので
abc@example.com → abc+abc=example.com@example.com
abc+abc=example.com@example.com → abc+abc=example.com+abc=example.com@example.com
のように何度も繰り返されちゃうんですわ。

if !/@nomre$/
/([^+=@]+)@(example.com)/ ${1}+${1}=${2}@${2}@nomore
endif
みたいにすれば、一回で止まると思うんだけど、余分な@nomoreをどこで外せばいいのやら。

953:952
08/10/12 03:40:19
URLリンク(www.postfix-jp.info) に

それぞれのパターンは検索されるアドレス全体に適用される正規表現です。従
って、user@domain メールアドレスが user と @domain という構成要素に分割
されたり、user+foo が user と foo に分割されることはありません。

って書いてあった。勘違いしてるかも。



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch