0

Postfix を介してメールを送信すると、ヘッダーには常に削除したい余分なホップが 1 つ含まれます。ヘッダーは次のとおりです。

From admin@mta.emailcab.com  Sat Aug 20 18:40:58 2016
Return-Path: <admin@mta.emailcab.com>
X-Original-To: oneprovider@prosolutionmail.com
Delivered-To: oneprovider@prosolutionmail.com
Received: from mta.emailcab.com (mta.emailcab.com [52.58.223.55])
    by prosolutionmail.com (Postfix) with ESMTP id 75F5B23C0AC7
    for <oneprovider@prosolutionmail.com>; Sat, 20 Aug 2016 18:40:58 +0200 (CEST)
Authentication-Results: prosolutionmail.com; dkim=pass
    reason="2048-bit key; unprotected key"
    header.d=mta.emailcab.com header.i=@mta.emailcab.com
    header.b=mXAsVoW+; dkim-adsp=pass; dkim-atps=neutral
Received: from [127.0.0.1] (localhost [127.0.0.1])
    by mta.emailcab.com (Postfix) with ESMTP id 0585383189
    for <oneprovider@prosolutionmail.com>; Sat, 20 Aug 2016 16:40:58 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=mta.emailcab.com;
    s=key1; t=1471711258;
    bh=BUn1x+fCFHl9Q+e98U5epKcL5xZNNNU3Lq/zNz0IMnI=;
    h=Subject:From:To:Date:From;
    b=mXAsVoW+IYePOdDe1d7OyQdYpRzNoKdYclLEv/wXm3dDjJulDMfr5HM274U1ypNNs
     OCqK5TNRo4UMrFqIcU38BVjOIwN3gPOStxs3jSEmoWLXynIAuclbNew692P2KY7jkn
     oU7lhPZ1CwBln+qEKKXbyuiXtRmbA2Qp1pvLu+R9T/WfPzWiVhe+2CPq9ob3j3mwBW
     oBjLNvmbm74eenMKxv8G47FBi7HS4+9eSuUI9TVV0fb/qZwNHwumpFeTA5DPRzkQPM
     u5imAbdz5GqXxs4wo4UXTpWEb7dSkzJu7/2ebLshCnnuSoN8HV5j79GEoidyzmqEpC
     saF1XA+rJvKwg==
Content-Type: multipart/alternative; boundary="===============5118095836845773678=="
MIME-Version: 1.0
Subject: =?utf-8?b?0JrQsNC6INC00L7QsdGA0LDRgtGM0YHRjyDQtNC+INCb0YzQstC+0LLQsD8=?=
From: admin@mta.emailcab.com
To: oneprovider@prosolutionmail.com
Message-Id: <20160820164058.0585383189@mta.emailcab.com>
Date: Sat, 20 Aug 2016 16:40:58 +0000 (UTC)

ご覧のとおり、発信 IP とローカルの 2 つの "Received" ヘッダーがあります。パブリック IP のみが表示されるようにメールを送信するにはどうすればよいですか?

Pythonコードは次のようなものです:

import smtplib

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.header import Header

smtp = smtplib.SMTP()
smtp.connect('localhost')

msgRoot = MIMEMultipart("alternative")
msgRoot['Subject'] = Header("Subject subject", "utf-8")
msgRoot['From'] = "admin@example.com"
msgRoot['To'] = "foo@bar.com"
text = MIMEText(open('template.txt', 'r').read(), "plain", "utf-8")
msgRoot.attach(text)
html = MIMEText(open('template.html', 'r').read(), "html", "utf-8")
msgRoot.attach(html)
smtp.sendmail("admin@example.com", "foo@bar.com", msgRoot.as_string())
4

1 に答える 1

0

Pythonで修正するべきではありません。とにかく修正できるとは思いません。SMTP は「宛先エンベロープ」(To:,From:) を使用します。あなたが参照している値はPythonのReceived From問題ではなく、Postfix構成の問題です.TCPのように考えてください。違いとなるカプセル化/カプセル化解除は表示されませんが、それでも発生します. 生のメッセージを表示すると、サーバーとサーバー間の SMTP 通信が表示されます。

Postfix の設定を確認する必要があります。

/etc/postfix/main.cfあなたが見ているその値を変更する必要があります...変更することができますあなたの値があります。

探す:

myhostname = ???

あなたのものはlocalhostに設定されていると仮定しています。MySQL または PostgreSQL を使用していますか? usersvirtual_aliasテーブルのセットアップが必要な場合は、 の値がmyhostnameテーブル内のオブジェクトの 1 つに対応している必要があります。

main.cf ファイルを投稿していただけますか?

ユーザーはあなたと同じサーバーにいますか?

于 2016-08-21T10:00:48.533 に答える