質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

Q&A

解決済

1回答

762閲覧

Postfix メールが自身のサーバに返ってきてしまう

tequilla917

総合スコア4

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

0グッド

1クリップ

投稿2020/08/11 07:48

編集2020/08/12 00:21

実現したいこと

メールサーバの構築でPostfixの設定を行っています。
ダミーサーバからメールサーバへ送信を行いたいです。

エラー内容

メールサーバの「/root/Maildir/new/」内にはメールがなく、ダミーサーバのnew配下には存在している状況。
しかしmaillog上ではダミーサーバ自身に送信が出来ているため「status=send」となっている。
どうすれば相手先(メールサーバ内)のフォルダにメールを送信出来ますでしょうか?
また、送信ログがID違いで数回出力されてしまっている。(下記では長いため一つ分のログを記載してます。)

実行コマンドとmaillog(どちらもダミーサーバ上で実行、出力結果です)

  sendmail -t
From:hjdm01-11111.localdomain
To:root@hjml01-22222.localdomain
Subject:Test
aaa aaa aaa
.

Aug 11 16:02:03 hjdm01-11111 postfix/smtpd[30797]: connect from hjml01-22222[192.168.0.8]
Aug 11 16:02:03 hjdm01-11111 postfix/smtpd[30797]: 4A68380604FD: client=hjml01-22222[192.168.0.8]
Aug 11 16:02:03 hjdm01-11111 postfix/cleanup[30794]: 4A68380604FD: message-id=20200811070202.DE50780604FE@hjdm01-11111
Aug 11 16:02:03 hjdm01-11111 postfix/qmgr[30753]: 4A68380604FD: from=<>, size=23690, nrcpt=1 (queue active)
Aug 11 16:02:03 hjdm01-11111 postfix/smtpd[30797]: disconnect from hjml01-22222[192.168.0.8]
Aug 11 16:02:03 hjdm01-11111 postfix/smtp[30796]: 4A68380604FD: to=root@hjdm01-11111.localdomain, relay=192.168.0.8[192.168.0.8]:25, delay=0.01, delays=0/0/0/0, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 4B9E480604FD)

main.cfの設定項目(ダミーサーバ上の設定)

myhostname = hjdm01-11111
mydomain = hjdm01-11111
append_dot_mydomain = NO
myorigin = $myhostname
append_at_myorigin = NO
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks = 192.168.0.0/24, 127.0.0.0/8, 192.168.0.8
relay_domains = $mydestination
relayhost = [192.168.0.8]:25
home_mailbox = Maildir/

補足情報(前提情報)

<IPアドレス>
ダミーサーバ:192.168.0.9
メールサーバ:192.168.0.8

※メールサーバ初構築で様々なサイトの情報を見てはいます。
初学者のため詳細なご教授をお願い致します。

※メールサーバ上でのコマンド、設定項目、出力結果は上記ダミーサーバの結果のdm部分がmlに変わっている以外に
変化がないため割愛。
main.cfの設定(mynetworks、relayhost)は相手のIPを書く想定だと思っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2020/08/11 07:54

root@hjdm01-11111.localdomain 宛てにエラーメールが返っているはずですが、その内容は?
tequilla917

2020/08/11 08:17

質問ありがとうございます。 上記に記載したmaillogの内容が約20個くらい(ID違い)出力するのみで特にエラー文はないです。
otn

2020/08/11 08:31

エラーログと同内容がメールされてくると言うこと?? ちょっと考えにくいのですが、違う物を見てませんか?
tequilla917

2020/08/11 08:49

maillogの内容とメールの内容は全然違います。 メールの内容はコマンドでも入力している通り、aaa等が出力されているので合っていますね。 tail -fでmaillogをずっと見ていると、 disconnect from hjml01-22222.localdomain [192.168.0.8] がstatus=sendの後に連続して出力→また送信→status=send→disconnectがループしていて終わらない感じになっているのが新たに判明しました。
CHERRY

2020/08/12 00:13

Postfix の設定は、2台にされていると思いますので、両方サーバの設定内容をどちらのサーバの設定か判るように記載していただけないでしょうか。 また、Postfix のログも両方で出ていると思いますので、両方のログをどのサーバーのログか判るように記載していただけないでしょうか。
tequilla917

2020/08/12 00:22

CHERRYさん、返信ありがとうございます。 どちらのサーバかを明記させて頂きました。
otn

2020/08/12 00:30

ああ、エラーメールが着信していると思ったのですが、キューに溜まっているようですね。(ログの最後の行) postcat -q 4B9E480604FD で表示できると思います。
otn

2020/08/12 00:34

> main.cfの設定(mynetworks、relayhost)は相手のIPを書く想定だと思っています。 relayhostにお互いを書くと2つのサーバー以外にメールが出ていきませんが、そういう閉じたメール環境を作りたいのでしょうか? mynetworksの理解もおかしいです。
tequilla917

2020/08/12 00:46

最終的に作りたい環境はダミーサーバ→メールサーバ→顧客の持つ端末という流れにしたいのですが、開発環境で行っているため、ダミーサーバ→メールサーバまでを一先ず行いたいです。 mynetworksは受信側のメールサーバにのみ記載すれば良いということでしょうか?
guest

回答1

0

ベストアンサー

大雑把にはこんな感じです。

mydestination
送り先ホスト名がこれらと合致する物は自分宛とみなしてホスト内で処理し、外部に送らない

mynetworks
(設定にも依るが普通は)このネットワーク外のホストからは、自分宛(正確にはrelay_domains宛)のメールしか受け取らない。このネットワーク外のホストから他ホスト宛のメールはエラーにする(不正中継防止)。

relayhost
mydestination宛でないメールは、DNSを引かずに全部このホストに中継する。
この指定がないと、DNSでMXやAレコードを引いてそこに送信する。

設定ファイルが質問欄の記述のまま、文字通りのそまま書いているのだとすると、

From:hjdm01-11111.localdomain

To:root@hjml01-22222.localdomain

宛先のhjml01-22222.localdomainのホスト名は、どちらのホストでもmydestinationに無いので外部とみなされ、どちらのホストでもrelayhostに転送されますので、両者間を往復するだけです。
エラーメールも、Fromがおかしいので同じようになります。

投稿2020/08/12 01:15

otn

総合スコア85901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tequilla917

2020/08/12 02:16

丁寧なご説明ありがとうございます。 上記のご説明を元に、main.cfを修正しました。(修正部分のみ下記記載) <ダミーサーバ側> myhostname = hjdm01-11111.localdomain mydestination = $myhostname mynetworks = 127.0.0.0/8 <メールサーバ側> myhostname = hjml01-22222.localdomain mydestination = $myhostname mynetworks = 127.0.0.0/8, 192.168.0.9 <実施コマンド(ダミーサーバで実施)> sendmail -t From:hjdm01-11111.localdomain To:hjml01-22222.localdomain Subject:Test aaa aaa aaa . これで送信したら、ダミーサーバ上の「/root/Maildir/new/」に格納されてしまいました。 時間差でメールサーバ側に入るということではないですよね?
otn

2020/08/12 02:22

> From:hjdm01-11111.localdomain > To:hjml01-22222.localdomain ユーザ名部分が無いです。
tequilla917

2020/08/12 02:59

root@をそれぞれに付け足して実行した結果、メールサーバ側にメールがあることが確認出来ました。 これで行いたかったことが出来ました。 本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問