新しいDebianでメールを受信する

新しいDebianでメールを受信する

VPS にクリーンな新しい Debian 8 を再インストールしました。

すべてデフォルト値に設定されています。

dpkg -s exim4そしてdpkg -s postfix、eximはではありませんインストールされ、そのpostfixインストールされています。これは、lsof -i :25PID 478 が表示され、次に がps p 478表示されることで確認できます478 ? Ss 0:00 /usr/lib/postfix/master。 は実行していませんapt-get install postfixが、デフォルトでインストールされているようです。

example.comレジストラによってDNS MX レコードがすでに作成されており、自分のサーバーにリダイレクトされています。

Gmail から にメールを送信しました[email protected]

  1. No mailをやっているときにまだ見えます$ mail

  2. postfix に何かが届いたかどうかを確認するにはどうすればいいですか?

  3. インターネットからの電子メールを受け入れるために、新しくインストールした Debian で行う設定はありますか?

  4. root外部のメール送信者から到着するメールを受け入れるために、ローカルにメールボックスを作成する必要がありますか[email protected]?


iptables以下は(変更なし、デフォルト構成)の結果です。

root@blah:~# iptables -nvL
Chain INPUT (policy ACCEPT 77135 packets, 50M bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 2 packets, 120 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 66416 packets, 11M bytes)
 pkts bytes target     prot opt in     out     source               destination

私は今、cat /var/log/mail.log次のことを理解しています:

Nov 22 11:57:32 blah postfix/smtpd[10485]: connect from mail-ua0-f171.google.com[209.85.xxx.xxx]  
Nov 22 11:57:32 blah postfix/smtpd[10485]: NOQUEUE: reject: RCPT from mail-ua0-f171.google.com[209.85.xxx.xxx]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-ua0-f171.google.com>  
Nov 22 11:57:32 blah postfix/smtpd[10485]: disconnect from mail-ua0-f171.google.com[209.85.xxx.xxx]

答え1

この行には必要な有用な情報が含まれています

Nov 22 11:57:32 blah postfix/smtpd[10485]: NOQUEUE: reject: RCPT from  mail-ua0-f171.google.com[209.85.xxx.xxx]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected] ...

これは、あなたのマシンがGoogleからのメッセージを中継することを拒否していることを示しています。[メールアドレス]. これで、あなたのマシンが example.com であることがわかりましたが、明らかにあなたのマシンはそうではありません。

解決方法: ローカル設定を変更して、ローカルマシンの名前として example.com を含めます。Postfix の Web サイトに、読みやすいドキュメントがあります (((BASIC_CONFIGURATION_README.html)[[http://www.postfix.org/BASIC_CONFIGURATION_README.html#mydestination]) で設定方法が説明されています。

自分のドメイン名

mydomain パラメータは、$myhostname の親ドメインを指定します。デフォルトでは、最初の部分を削除して $myhostname から派生します (結果がトップレベル ドメインにならない限り)。

逆に、main.cf で mydomain を指定した場合、Postfix はその値を使用して、myhostname パラメータの完全修飾デフォルト値を生成します。

例 (次のいずれか 1 つだけを指定してください):

/etc/postfix/main.cf:
    mydomain = local.domain
    mydomain = virtual.domain (virtual interface)

メールを受信するドメイン

mydestination パラメータは、このマシンが別のマシンに転送するのではなく、ローカルに配信するドメインを指定します。デフォルトでは、マシン自体のメールを受信します。ホストされたドメインに対して Postfix を構成する方法については、VIRTUAL_README ファイルを参照してください。

空白やカンマで区切られた、0 個以上のドメイン名、"/file/name" パターン、および/または "type:table" 検索テーブル (hash:、btree:、nis:、ldap:、mysql: など) を指定できます。"/file/name" パターンはその内容に置き換えられます。"type:table" はテーブル検索の実行を要求し、存在をテストするだけです。検索結果は無視されます。

重要: マシンがドメイン全体のメール サーバーである場合は、$mydomain もリストする必要があります。

例1: デフォルト設定。

/etc/postfix/main.cf:
    mydestination = $myhostname localhost.$mydomain localhost

例 2: ドメイン全体のメール サーバー。

/etc/postfix/main.cf:
    mydestination = $myhostname localhost.$mydomain localhost $mydomain

例 3: 複数の DNS A レコードを持つホスト。

/etc/postfix/main.cf:
    mydestination = $myhostname localhost.$mydomain localhost 
        www.$mydomain ftp.$mydomain

注意: メール配信ループを回避するには、$myhostname や localhost.$mydomain を含むマシンのすべてのホスト名をリストする必要があります。

したがって、これで十分なはずです:

mydomain = example.com
...
mydestination = $myhostname localhost.$mydomain localhost $mydomain

答え2

roaima の回答に加えて、これで解決しました:

  1. 末尾にドメイン名を追加しmydestination = <....>, mydomain.comます/etc/postfix/main.cf

  2. 次の行をコメントアウトします:#mailbox_command = procmail -a "$EXTENSION"

  3. 次にGmailから にメールを送信し[email protected]、数秒待ちます

  4. そうするとmail、新しいメールが届きます :)

関連情報