web-dev-qa-db-ja.com

GoogleがEximメールを「root @ empty」に書き換える

私はExim4を実行しているDebianJessieサーバーを持っており、GMailをスマートホストとして設定しています。外部アドレス([email protected]など)でメールを送信しようとすると、正常に機能します。 rootまたはcanadianluke(ローカルユーザー名)にメールを送信すると、送信したメッセージと、GMailが自動的に生成するメールを送信できないという2つのメッセージが表示されます。 root@empty。非営利団体向けのGoogleアプリを使用しています。

メールが届くので、完全にExim4ではないことはわかっていますが、完全にGMailであるとは完全には確信していません。

ターミナルでメールを送信するために使用しているコマンド:mail root -s Test

Delivery to the following recipient failed permanently:

     root@empty

Technical details of permanent failure:
DNS Error: Address resolution of empty. failed: Domain name not found

----- Original message -----

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=MYDOMAIN_COM.20150623.gappssmtp.com; s=20150623;
        h=from:to:subject:message-id:date;
        bh=YJWMysPl36audKpPjWIG/TOl/JVGuKuq1l4/HEAjxb8=;
        b=eIIQpLxw5TFAwnKw4P3gQpKlKbnf9I1PRpzfElBK4m+g+8cu/3z3hBFxMIMdV2Heli
         5CDCvVpaxbiqBJBcyeNnJubwyb8pir2CEnkiKaLJVJjTK3fZkpiI0KlTWkjilMnZeTLy
         SSzJdu437Bo2ONDY960+SX4cZtUE2p2fMcY7zhm8OTPWvXuDJ+DMoLVMuMfBfR+000dL
         ksNXGUD9teGOxYBV5a4c5/SPyeHXY++Pr8AOY+4lU9nt3OIocaozwMGfJOiV0MiiC4MZ
         w1UaXPjygFkzywsgjRbGyh483J0r4pS522fTUvz0qzAtMoIWmNOTCzAIulxxSQXb+hlp
         HG8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:from:to:subject:message-id:date;
        bh=YJWMysPl36audKpPjWIG/TOl/JVGuKuq1l4/HEAjxb8=;
        b=gBolH/1kEUPQVIVrhMhtsOHaBHc9CIbEfqtAru5aJKSgoCst11qOUFQHC+tPrjVuhH
         s1JvVw7w6f05543JED9ak2SaQ5o5Iz6oWAkS3Z72MBwBaFlM144d/e4N64OYUG0Df4aR
         UDo/ryRdFOZ1WInOrTaoF9BWI/glLCtUPoadpqJ1utk74qEuZE4Ff3as/GjKAE5LXM3O
         Me27QYddAMMCdHi2DPtmkiM/3TosQjdaGv1QbGjk/ZS/q1HqdXCbZhjj65PwIiGDRxdk
         kw49ybPDjyoIFR5IzHM/vI7P3lC6LkXZq4zEgitBGuafwB52Luvl1jCTxUXZbLiODXko
         yDxQ==
X-Gm-Message-State: ALoCoQn4f0bfvp6Tk6pmiVZgxHs/bn8OVKale7+375O8j9UzvWgsYVSltXGIbvQQk5Fxi3DKGh5o
X-Received: by 10.140.94.116 with SMTP id f107mr417247qge.0.1447108430809;
        Mon, 09 Nov 2015 14:33:50 -0800 (PST)
Return-Path: <[email protected]>
Received: from example.com ([93.184.216.34])
        by smtp.gmail.com with ESMTPSA id 83sm102514qhw.27.2015.11.09.14.33.50
        for <root@empty>
        (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Mon, 09 Nov 2015 14:33:50 -0800 (PST)
From: root <[email protected]>
X-Google-Original-From: root <root@empty>
Received: from root by example.com with local (Exim 4.84)
        (envelope-from <root@empty>)
        id 1Zvv0W-0006Lj-Tf
        for root@empty; Mon, 09 Nov 2015 17:33:48 -0500
To: root@empty
Subject: Sup
Message-Id: <[email protected]>
Date: Mon, 09 Nov 2015 17:33:48 -0500

更新。再度メールを送信するようになりましたが、新しいエラーが発生します。 rootとしてメールを送信する場所のユーザー名を/etc/aliasesに追加し、/etc/email-addressesは、通常のメールアカウント([email protected])宛てのメールを送信するように設定されています。

# more exim4/update-exim4.conf.conf
dc_eximconfig_configtype='smarthost'
dc_other_hostnames=''
dc_local_interfaces='127.0.0.1'
dc_readhost='ex.com'
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost='smtp.gmail.com::587'
CFILEMODE='644'
dc_use_split_config='true'
dc_hide_mailname='true'
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'

現在、メールは[email protected]からのエラーとして表示されていますが、GoogleAppsでは同じDNSエラー:Address resolution of server.example.com failed: Domain name not foundです。

以下は私の/var/log/exim4/mainlogの末尾で、メールが実際にサーバーを離れていることを示しています。

2015-11-12 07:01:01 1ZwqYn-0001oN-2H <= [email protected] U=root P=local S=2598
2015-11-12 07:01:01 1ZwqYn-0001oN-2H gmail-smtp-msa.l.google.com [2607:f8b0:400c:c06::6d] Network is unreachable
2015-11-12 07:01:02 1ZwqYn-0001oN-2H => [email protected] R=smarthost T=remote_smtp_smarthost H=gmail-smtp-msa.l.google.com [74.125.141.108] X=TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=smtp.gmail.com" A=plain C="250 2.0.0 OK 1447329663 h144sm1989632vke.26 - gsmtp"
2015-11-12 07:01:02 1ZwqYn-0001oN-2H Completed

私の/etc/aliasesファイル:

# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: canadianluke
canadianluke: [email protected]
2
Canadian Luke

メールアドレスroot @ empty無効メールアドレスです。リモートサーバーはエラーメールを返すのに正しいです。

電子メールアドレスは通常、アットマーク<@>とドット<。>で区切られた3つの部分で構成されている必要があります。

最初の部分は通常、何らかの形式のユーザー名ですが、関数(sales、hr)、または実際に何か(MTAがそれをどう処理するかを知っている限り)、2番目の部分はアットマーク<@ >はドメイン名であり、ドット<。>の直後の最後の部分はTLDまたはトップレベルドメインです。明らかな理由から、これらを恣意的にすることはできません。

[email protected]

MTAは、root @emptyアドレスの電子メールをどこに送信するかを知りません。

これは、MTAがその特定の形式の電子メールアドレスをどう処理するかを知っている場合、ローカルシステムで機能する可能性がありますが、ローカルシステムを離れると、拒否されてエラーが返されます。

あなたがする必要があるのは、フォーマットname @ example(例はあなた自身のドメイン)のメールをローカルに配信して送信しようとしないようにeximを設定するか、そのようなメールを正しいフォーマットname @exampleで書き換えるようにeximを設定することです.comを送信してから送信します。

実行するとdpkg-reconfigure exim4-config質問がありますメールが受け入れられる他の宛先:システムを最終的な宛先にするドメインを追加して、実行しようとしていることが機能するようにします。ただし、構成ファイルを手動で編集することもできます。

実際に電子メールを受信し、リモートMTAからエラーが発生すると言うので、そのような電子メールを送信しないようにeximを再構成する必要があるかもしれません。上記は自動的にそれを処理するかもしれないと思います。

参照:

http://tools.ietf.org/html/rfc5321

http://tools.ietf.org/html/rfc2821

更新:更新された質問から判断すると、[email protected]の形式のメールアドレスを使用するか、Googleアプリでserver.example.comを登録する必要があるようです。 。これを行う方法を正確に忘れましたが、これを構成することは可能です。もちろん、server.example.comのDNSが正しく設定されていることを確認してください。

最後のコメントに関して、次の行を/ etc/aliasesに追加しようとしましたか

ルート:[email protected]

これにより、eximは、そのシステムのrootアカウント宛てのメールを[email protected](または、エイリアスで構成した場合は[email protected])に送信するように自動的に指示されます。

2
aseq

ドメインを非修飾の送信者アドレスと受信者アドレス(「非修飾」は「まだドメインを持っていない」を意味する)に追加するようにeximを構成する必要があります。

純粋なeximでは、それは「qualify_domain」になります。 debconfを使用しているので、/ etc/mailnameの内容をドメインに設定するとうまくいくと思います。

次に、外部にメールを送信するユーザーのユーザー名が実際のアドレスに対応している必要があるという問題があります。 「root」ユーザーがメールを送信しますが、どこに送信しますか?通常の解決策は、サーバーが自分自身と自分自身だけのメールを受信すると言うことです(myserver.example.com)。そうすれば、システムで生成されたメールはサーバーに残ります。外部へのメールの場合は、MUAまたはMTAを使用して送信元の電子メールアドレスを強制します。 Exim(MTA)の場合、それは センダーリライティング と呼ばれます。

begin rewrite
^mylogin@myserver$ my@email SFf`
2
Law29

根本的な原因は上記の@aseqの answer のおかげであることがわかりましたが、GooglePostmasterから余分なメールメッセージを送信しないようにする方法を見つけました。

DebianでExim4を使用してGMail認証を設定するためのチュートリアル を実行したところ、「[c]「mail sent by smarthost; received via SMTP or fetchmail」を選択する」ように求められました。これにより、Eximはローカルアカウントからの送信を期待していました。メールも一緒に送信しますが、必要なのはメインのメールに送信されるメッセージだけでした。

これは、私がもっと知っておくべき XY問題 の典型的な例です。 mail sent by smarthost; no local mailの最初の画面でexim4をdpkg-reconfigure exim4-configに設定することで、根本的な問題を修正しました。 Exim4のサービスを再開し、メールは正常に機能しました。

1
Canadian Luke