Mailabsender wird nicht erkannt - Unbekannter Mailer bei Googlemail
Hallo zusammen
Frage an die Mailspezialisten:
Ich versende mit unten stehendem Scriptausschnitt diverse Mails an
unsere Mitglieder. Bei allen, bis auf zwei googlemail-Nutzer, kommt die
Mail korrekt an.
Bei Googlemail kommt "unbekannter mailer", die Mailnachricht ist aber
vollständig. Googlemail nutzt also weder die Mailadresse, noch den
Absender als Absendernamen.
Ist da bei mir was falsch und Google hält sich exakt an irgendeine RFC?
Oder interpretiert Google hier falsch?
Hat jemand einen Tipp?
Danke
Andy
PHP-Code:
$an = "mailempfaenger@domain.de";
$betreff = "Der Betreff";
$header = "MIME-Version: 1.0\r\n";
$header .= "X-Mailer: PHP ". phpversion()."\r\n";
$header .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$header .= "Content-Transfer-Encoding: 8bit\r\n";
$header .= "From: Vorname Name
Hallo Andreas, Am Sonntag 2 September 2007 schrieb Andreas Schott: [...]
Bei Googlemail kommt "unbekannter mailer", die Mailnachricht ist aber vollständig. Googlemail nutzt also weder die Mailadresse, noch den Absender als Absendernamen.
Ist da bei mir was falsch und Google hält sich exakt an irgendeine RFC? Oder interpretiert Google hier falsch?
Zu scharf eingestellter Spamfilter beim Empfänger? Helga -- ## OpenSource-Werkstatt in Reutlingen -- http://www.eschkitai.de/ ## Etikette - Nein Danke? -- http://www.suse-etikette.de.vu/ -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Helga Am Montag, 3. September 2007 09:09 schrieb Helga Fischer:
Hallo Andreas,
Am Sonntag 2 September 2007 schrieb Andreas Schott:
[...]
Bei Googlemail kommt "unbekannter mailer", die Mailnachricht ist aber vollständig. Googlemail nutzt also weder die Mailadresse, noch den Absender als Absendernamen.
Ist da bei mir was falsch und Google hält sich exakt an irgendeine RFC? Oder interpretiert Google hier falsch?
Zu scharf eingestellter Spamfilter beim Empfänger?
Die Mails werden nur übers Webinterface gelesen, kein Abholen per POP o.ä. Und im Spamfilter landen sie nicht, sondern im Posteingang, nur der Absender wird als unbekannt eingestuft. Deshalb ging ich davon aus, dass am Header was nicht stimmt. Andy -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andreas Schott wrote:
Hallo zusammen
Frage an die Mailspezialisten:
Ich versende mit unten stehendem Scriptausschnitt diverse Mails an unsere Mitglieder. Bei allen, bis auf zwei googlemail-Nutzer, kommt die Mail korrekt an.
Bei Googlemail kommt "unbekannter mailer", die Mailnachricht ist aber vollständig. Googlemail nutzt also weder die Mailadresse, noch den Absender als Absendernamen.
Ist da bei mir was falsch und Google hält sich exakt an irgendeine RFC? Oder interpretiert Google hier falsch?
Hat jemand einen Tipp?
In deinem Beispiel unten sehe ich keinen "To: "-Header. Dieser Header ist es aber, den der Mailclient anzeigt. Wenn dein Script diesen Header nicht selbst erzeugt, holt Postfix (genau Cleanup) dies nach. Vermutlich wird dann nur ein generischer Header gesetzt wie "To: Undisclosed Recipient".
Danke
Andy
PHP-Code: $an = "mailempfaenger@domain.de"; $betreff = "Der Betreff"; $header = "MIME-Version: 1.0\r\n"; $header .= "X-Mailer: PHP ". phpversion()."\r\n"; $header .= "Content-type: text/plain; charset=iso-8859-1\r\n"; $header .= "Content-Transfer-Encoding: 8bit\r\n"; $header .= "From: Vorname Name
\r\n"; $header .= "To: <$an>\r\n"; $header .= "Reply-To: Vorname Name \r\n"; $message = "Der Nachrichtentext"; mail ($an, $betreff, $message, $header);
-- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Sandy Am Montag, 3. September 2007 12:50 schrieb Sandy Drobic:
Andreas Schott wrote:
Hallo zusammen
Frage an die Mailspezialisten:
Ich versende mit unten stehendem Scriptausschnitt diverse Mails an unsere Mitglieder. Bei allen, bis auf zwei googlemail-Nutzer, kommt die Mail korrekt an.
Bei Googlemail kommt "unbekannter mailer", die Mailnachricht ist aber vollständig. Googlemail nutzt also weder die Mailadresse, noch den Absender als Absendernamen.
Ist da bei mir was falsch und Google hält sich exakt an irgendeine RFC? Oder interpretiert Google hier falsch?
Hat jemand einen Tipp?
In deinem Beispiel unten sehe ich keinen "To: "-Header. Dieser Header ist es aber, den der Mailclient anzeigt. Wenn dein Script diesen Header nicht selbst erzeugt, holt Postfix (genau Cleanup) dies nach. Vermutlich wird dann nur ein generischer Header gesetzt wie "To: Undisclosed Recipient".
Huch? Ich kann das gerne einfügen, aber kannst du mir erklären, warum
ein Mailprogramm (oder Webmail) To: benötigt um den Absender
anzuzeigen?
Wenn ich eine Mail an empfaenger@domain.de schicke ist mein Absender
doch From: MeinName
Andreas Schott wrote:
In deinem Beispiel unten sehe ich keinen "To: "-Header. Dieser Header ist es aber, den der Mailclient anzeigt. Wenn dein Script diesen Header nicht selbst erzeugt, holt Postfix (genau Cleanup) dies nach. Vermutlich wird dann nur ein generischer Header gesetzt wie "To: Undisclosed Recipient".
Huch? Ich kann das gerne einfügen, aber kannst du mir erklären, warum ein Mailprogramm (oder Webmail) To: benötigt um den Absender anzuzeigen?
Weil es zwei völlig unabhängige Empfänger (und Absender) gibt: - Envelope Sender/Empfänger - From:/To: Sender/Empfänger Technisch läuft die Übertragung einer Mail wie folgt ab: - Client verbindet sich mit Server auf Port 25 - Client meldet sich mit HELO/EHLO - Client übermittelt Absenderadresse mit MAIL FROM: - client übermittelt Empfängeradressen mit RCPT TO: Dies ist der sogenannte Envelope. Bisher ist die eigentliche Mail noch nicht angefasst worden. Der Mailclient "übersetzt" die From:, To:, CC:, BCC:-Header in die entsprechenden MAIL FROM: und RCPT TO: Befehle des SMTP-Protokolls. Das findet bei dir jedoch nicht statt, da du direkt über PHP die Mail zusammenbaust und verschickst. Wenn der Server die oben genannten SMTP-Befehle mit "215 OK" bestätigt, dann sendet der Client den Befehl DATA, und der Server antwortet mit 354 OK, END WITH CRLF . CRLF Jetzt erst wird die Mail mitsamt allen Headern übertragen, darin auch die From:, To:, CC:, BCC:-Headerzeilen. Dies hat jedoch NICHTS mit den Adressen zu tun, welche in dem SMTP-Envelope verwendet wurden. Deshalb ist der From: und To: Header Pflicht. Übrigens auch weitere Felder wie Date:. Nähere Einzelheiten zu Headern und dem korrekten Aufbau dieser Felder enthält RFC 2822. Dies macht übrigens auch das Fälschen von Headern so leicht, was Spammer weidlich ausnutzen.
Wenn ich eine Mail an empfaenger@domain.de schicke ist mein Absender doch From: MeinName
- und der wird doch als Absender angezeigt - nicht empfaenger@domain.de, oder doch?
Nicht auf der SMTP-Protokoll-Ebene. Dort gibt es kein MeinName, nur ein
Mail from:
Hallo Sandy Am Montag, 3. September 2007 13:37 schrieb Sandy Drobic:
Andreas Schott wrote:
In deinem Beispiel unten sehe ich keinen "To: "-Header. Dieser Header ist es aber, den der Mailclient anzeigt. Wenn dein Script diesen Header nicht selbst erzeugt, holt Postfix (genau Cleanup) dies nach. Vermutlich wird dann nur ein generischer Header gesetzt wie "To: Undisclosed Recipient".
Huch? Ich kann das gerne einfügen, aber kannst du mir erklären, warum ein Mailprogramm (oder Webmail) To: benötigt um den Absender anzuzeigen?
Weil es zwei völlig unabhängige Empfänger (und Absender) gibt: - Envelope Sender/Empfänger - From:/To: Sender/Empfänger
Technisch läuft die Übertragung einer Mail wie folgt ab:
[...]
Der SMTP-Envelope-Sender findet sich als Return-Path wieder. Der SMTP-Envelope-Empfänger kann meistens in den Received-Zeilen wiedergefunden werden.
Ist halt etwas trickreich.
Ich hab jetzt folgendes eingebaut und kann es mittels Googlemail-Account
direkt kontrollieren:
$an = "mailempfaenger@domain.de";
$betreff = "Der Betreff";
$header .= "From: Vorname Name
Andreas Schott wrote:
Ich hab jetzt folgendes eingebaut und kann es mittels Googlemail-Account direkt kontrollieren:
$an = "mailempfaenger@domain.de"; $betreff = "Der Betreff"; $header .= "From: Vorname Name
\r\n"; $header .= "To: $an\r\n"; $header .= "Reply-To: Vorname Name \r\n"; $header .= "Content-type: text/plain; charset=iso-8859-1\r\n"; $header .= "Content-Transfer-Encoding: 8bit\r\n"; $header = "MIME-Version: 1.0\r\n"; $header .= "X-Mailer: PHP ". phpversion()."\r\n"; $message = "Der Nachrichtentext"; mail ($an, $betreff, $message, $header); Dabei kommt bei Googlemail nach wie vor unbekannter mailer.
WAS genau meldet dieses "unbekannter Mailer"? Wo findet sich diese Meldung im Log wieder? Es ist durchaus möglich, dass sich diese Meldung auf die Zeile "X-Mailer: PHP" bezieht.
Delivered-To: mailampfaenger@domain.de Received: by xxx.86.82.3 with SMTP id f3cs61766fgb; Mon, 3 Sep 2007 07:48:26 -0700 (PDT) Received: by xxx.86.93.17 with SMTP id q17mr3477850fgb.1188830904858; Mon, 03 Sep 2007 07:48:24 -0700 (PDT) Return-Path:
Dies ist der Envelope-Sender, also der Webserver. PHP benutzt per Default den User, unter dem der Webserver läuft, wenn in PHP als Interface /usr/sbin/sendmail angegeben ist.
Received: from mailserver.de (mailserver.de [xxx.137.213.75]) by mx.google.com with ESMTP id k29si6093755fkk.2007.09.03.07.48.24; Mon, 03 Sep 2007 07:48:24 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of www-data@mailserver.de designates xxx.137.213.75 as permitted sender) client-ip=xxx.137.213.75; Authentication-Results: mx.google.com; spf=pass smtp.mail=www-data@mailserver.de Date: Mon, 03 Sep 2007 07:48:24 -0700 (PDT) Message-Id: <46dc1eb8.1d255e0a.78af.5a7fSMTPIN_ADDED@mx.google.com> Received: by mailserver.de (Postfix, from userid 33) id B84068538; Mon, 3 Sep 2007 16:48:23 +0200 (CEST) To: mailampfaenger@domain.de Subject: Der Betreff MIME-Version: 1.0
X-Mailer: PHP 4.4.3
Message-Id: <20070903144823.B84068538@mailserver.de> Date: Mon, 3 Sep 2007 16:48:23 +0200 (CEST) From: www-data@mailserver.de (www-data)
Tauscht da der Mailserver, auf dem das Script läuft einen eigenen From: aus und lässt meinen weg? Und warum kommt denn Reply-to: nicht an?
Das kann ich wegen der Anonymisierung der Header nicht beantworten. Du kannst jedoch ein HALT als Aktion für die Mail setzen (als Test) und dann nachschauen, ob die Mail, wenn sie bei dir ausgeht, diesen Header auch hat. Wenn sie dann beim Eintreffen bei Google den Header nicht mehr hat, dann ist sie auf dem Weg dorthin verändert worden. -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Sandy Am Montag, 3. September 2007 18:07 schrieb Sandy Drobic:
Andreas Schott wrote:
Ich hab jetzt folgendes eingebaut und kann es mittels Googlemail-Account direkt kontrollieren:
$an = "mailempfaenger@domain.de"; $betreff = "Der Betreff"; $header .= "From: Vorname Name
\r\n"; $header .= "To: $an\r\n"; $header .= "Reply-To: Vorname Name \r\n"; $header .= "Content-type: text/plain; charset=iso-8859-1\r\n"; $header .= "Content-Transfer-Encoding: 8bit\r\n"; $header = "MIME-Version: 1.0\r\n"; $header .= "X-Mailer: PHP ". phpversion()."\r\n"; $message = "Der Nachrichtentext"; mail ($an, $betreff, $message, $header); Dabei kommt bei Googlemail nach wie vor unbekannter mailer.
WAS genau meldet dieses "unbekannter Mailer"?
Wenn ich die empfangene Mail im Webinterface von Googlemail ansehe, steht als Absender "unbekannter mailer". Oder was meintest du? Es wird einfach als Absender nicht mein Name, oder meine Mailadresse eingetragen, sobdern eben "unbekannter mailer"
Wo findet sich diese Meldung im Log wieder? Es ist durchaus möglich, dass sich diese Meldung auf die Zeile "X-Mailer: PHP" bezieht.
Delivered-To: mailampfaenger@domain.de Received: by xxx.86.82.3 with SMTP id f3cs61766fgb; Mon, 3 Sep 2007 07:48:26 -0700 (PDT) Received: by xxx.86.93.17 with SMTP id q17mr3477850fgb.1188830904858; Mon, 03 Sep 2007 07:48:24 -0700 (PDT) Return-Path:
Dies ist der Envelope-Sender, also der Webserver. PHP benutzt per Default den User, unter dem der Webserver läuft, wenn in PHP als Interface /usr/sbin/sendmail angegeben ist.
Received: from mailserver.de (mailserver.de [xxx.137.213.75]) by mx.google.com with ESMTP id k29si6093755fkk.2007.09.03.07.48.24; Mon, 03 Sep 2007 07:48:24 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of www-data@mailserver.de designates xxx.137.213.75 as permitted sender) client-ip=xxx.137.213.75; Authentication-Results: mx.google.com; spf=pass smtp.mail=www-data@mailserver.de Date: Mon, 03 Sep 2007 07:48:24 -0700 (PDT) Message-Id: <46dc1eb8.1d255e0a.78af.5a7fSMTPIN_ADDED@mx.google.com> Received: by mailserver.de (Postfix, from userid 33) id B84068538; Mon, 3 Sep 2007 16:48:23 +0200 (CEST) To: mailampfaenger@domain.de Subject: Der Betreff MIME-Version: 1.0
X-Mailer: PHP 4.4.3
Message-Id: <20070903144823.B84068538@mailserver.de> Date: Mon, 3 Sep 2007 16:48:23 +0200 (CEST) From: www-data@mailserver.de (www-data)
Tauscht da der Mailserver, auf dem das Script läuft einen eigenen From: aus und lässt meinen weg? Und warum kommt denn Reply-to: nicht an?
Das kann ich wegen der Anonymisierung der Header nicht beantworten.
Darf ich dir den Header als PM schicken? Wollte nicht alles hier veröffentlichen. Oder stellt das eher kein Problem dar?
Du kannst jedoch ein HALT als Aktion für die Mail setzen (als Test) und dann nachschauen, ob die Mail, wenn sie bei dir ausgeht, diesen Header auch hat. Wenn sie dann beim Eintreffen bei Google den Header nicht mehr hat, dann ist sie auf dem Weg dorthin verändert worden.
Das Script wird auf einem Webserver ausgeführt, auf dem die Seiten liegen. Da hab ich keinen Zugriff drauf. Andy -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andreas Schott wrote:
Hallo Sandy
Am Montag, 3. September 2007 18:07 schrieb Sandy Drobic:
Andreas Schott wrote:
Ich hab jetzt folgendes eingebaut und kann es mittels Googlemail-Account direkt kontrollieren:
$an = "mailempfaenger@domain.de"; $betreff = "Der Betreff"; $header .= "From: Vorname Name
\r\n"; $header .= "To: $an\r\n"; $header .= "Reply-To: Vorname Name \r\n"; $header .= "Content-type: text/plain; charset=iso-8859-1\r\n"; $header .= "Content-Transfer-Encoding: 8bit\r\n"; $header = "MIME-Version: 1.0\r\n"; $header .= "X-Mailer: PHP ". phpversion()."\r\n"; $message = "Der Nachrichtentext"; mail ($an, $betreff, $message, $header); Dabei kommt bei Googlemail nach wie vor unbekannter mailer. WAS genau meldet dieses "unbekannter Mailer"?
Wenn ich die empfangene Mail im Webinterface von Googlemail ansehe, steht als Absender "unbekannter mailer". Oder was meintest du? Es wird einfach als Absender nicht mein Name, oder meine Mailadresse eingetragen, sobdern eben "unbekannter mailer"
Uhm, ich habe keinen Google-Account. Aber wenn diese Begriffe weiter um sich greifen, komme ich mir vor wie im Turm von Babylon. Hier handelt es sich jedenfalls um eine Interpretation von Google, nicht um die tatsächliche Absenderadresse. Diese ist, wie bereits festgestellt, die Kennung des Webservers. Gibt es bei Google eine Quelltext-Ansicht?
Tauscht da der Mailserver, auf dem das Script läuft einen eigenen From: aus und lässt meinen weg? Und warum kommt denn Reply-to: nicht an? Das kann ich wegen der Anonymisierung der Header nicht beantworten.
Darf ich dir den Header als PM schicken? Wollte nicht alles hier veröffentlichen. Oder stellt das eher kein Problem dar?
Die Mailingliste wird als Webarchiv öffentlich zur Verfügung gestellt. Dies nutzen Adress-Sammler aus, um an gültige Adressen zu kommen. Das ist einer der Gründe gewesen, warum ich Mails an die Listenadresse nur vom Listenserver annehme. Du kannst mir ja eine Beispielmail an die PM-Adresse in meinem Footer schicken, dann schaue ich mir das mal an.
Du kannst jedoch ein HALT als Aktion für die Mail setzen (als Test) und dann nachschauen, ob die Mail, wenn sie bei dir ausgeht, diesen Header auch hat. Wenn sie dann beim Eintreffen bei Google den Header nicht mehr hat, dann ist sie auf dem Weg dorthin verändert worden.
Das Script wird auf einem Webserver ausgeführt, auf dem die Seiten liegen. Da hab ich keinen Zugriff drauf.
Dann nehme ich an, dass du auch keinen Zugriff auf die php.ini hast? Versuche es doch mal mit dem Rezept hier: http://www.php-faq.de/q/q-mail-absender.html -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (3)
-
Andreas Schott
-
Helga Fischer
-
Sandy Drobic