postfix sendet E-Mails von falscher Domäne / Python 3-Code zum Senden von utf8-E-Mails

1055
daveagp

Ich habe eine Maschine mit zwei Domainnamen, etwa a.com und b.com.

Wenn ich Postfix verwende, um etwas von einer Adresse wie foo@a.com zu senden, wird es jedes Mal durch foo@b.com ersetzt. Meine main.cf-Datei gibt nur a.com an, daher weiß ich nicht, woher der b.com kommt.

Hier ist der relevante Teil von maillog ... Die erste Zeile ist die Einleitung der Nachricht und dann die 6. Zeile ist die, in der jim@b.com auf mysteriöse Weise erscheint.

mymachine sendmail[28543]: qA3NGbOR028543: from=jim@a.com, size=792, class=0, nrcpts=1, msgid=<...@a.com>, relay=apache@localhost mymachine postfix/smtpd[28546]: connect from b.com[127.0.0.1] mymachine postfix/smtpd[28546]: 912F9758031: client=b.com[127.0.0.1] mymachine postfix/cleanup[28549]: 912F9758031: message-id=<...@a.com> mymachine sendmail[28543]: qA3NGbOR028543: to=someone@gmail.com, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30792, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (Ok: queued as 912F9758031) mymachine postfix/qmgr[28527]: 912F9758031: from=<jim@b.com>, size=1130, nrcpt=1 (queue active) 

Ich bin nicht sicher, ob es relevant ist, wie ich das nannte, aber es stammt von PHP-Mail () und ich habe sichergestellt, dass das Flag -f weitergegeben wird. Wenn weitere Informationen hilfreich sein könnten, würde ich sie Ihnen gerne zur Verfügung stellen!

0
Ich habe auch festgestellt, dass dies ein ähnliches Problem darstellt, aber nicht beantwortet wurde: http://serverfault.com/questions/144986/postfix-uses-hostname-instead-of-myhostname daveagp vor 12 Jahren 0

1 Antwort auf die Frage

0
daveagp

Folgenden

http://mail.python.org/pipermail/mailman-developers/2001-March/008476.html

Ich fand es einfacher, sendmail zu deinstallieren, postfix zu installieren und ein Python-Skript zum Senden der E-Mail zu verwenden. Hier ist der Python 3-Code, den ich zum Senden der Nachricht verwendet habe (er musste daher internationalisiert werden, daher die UTF-8-Kodierungen).

import email.message, email.mime.text, smtplib, sys from email.utils import parseaddr, formataddr from email.header import Header from email.charset import Charset  def format_address(name, email): if not name: return email name = Charset('iso-8859-1').header_encode(name) return formataddr((name, email))  def send_unicode_email(mFrom, mTo, mSubject, mBody): sender_name, sender_addr = parseaddr(mFrom) recipient_name, recipient_addr = parseaddr(mTo)  composed = email.mime.text.MIMEText(mBody.encode('UTF-8'), _charset='UTF-8') composed['from'] = format_address(sender_name, sender_addr) composed['to'] = format_address(recipient_name, recipient_addr) composed['subject'] = Header(mSubject, 'UTF-8')  srv = smtplib.SMTP('localhost') srv.send_message(composed) srv.quit()