Autor Thema: Dramatische Mail-Probleme von Mails die via PHP (SMTP) verschickt wurden.  (Gelesen 3446 mal)

Offline flauschi

  • Frischling
  • *
  • Beiträge: 6
Sehr geehrtes Forum,
wir administrieren eine PHP Applikation bei einem Kunden. Die Applikation läuft seit ca. 2 Jahren stabil ohne weitere Probleme. Seit neuestem gibt es folgendes Problem.

Beim Versenden der Mails aus PHP mit der Mailfunktion, gehen die Mails an Empfänger die NICHT addressiert waren. Zusätzlich erscheint im Text der Mail der Data Bereich. Mails die Attachments haben werden manchmal so "zerstört" sodass der Empfänger hierbei nur noch den base64 Code sieht.
Das interessante ist, dass die beschriebenen Phänomene nicht einfach reproduzierbar sind, sondern  sporadisch auftreten. Wir haben versucht an unterschiedlichen Funktionen andere Versandtmethoden als die PHP  Standard-Mailfuntion zu verwenden (also welche die selber den kompletten Verkehr über eigenene Sockerverbindungen abhandeln) Leider ohne Erfolg. Schlimm ist nur dass sich das ganze immer öfters wiederholt. Laut Kunde wurden keine Änderungen am Dominoserver vorgenomme. Ich persönlich hatte bei IBM einen Beitrag gefunden, dass der Trend-Micro-Virenscanner solche  Probleme verursachen kannen. Bei unserem Kunden wurde dieser Scanner früher eingesetzt, heute nicht mehr.

Ich wäre undendlich dankbar, falls jemand eine Lösung hätte, da wir derzeit in der Situation sind. PHP ist Schuld. Aber wie gesagt wir haben mehrere hundert Tests gemacht und es tritt nur manchmal auf.. und das erst seit 5 Tagen, sodass ich PHP ausschließen möchte.

Herzlichst Flauschi

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
LOL. Endlich einmal nicht Notes sondern PHP per Default schuld. Find ich gut.  >:D


Ich würde - auch wenn sie keinen Trend Micro im Einsatz haben - den Fehler bei einem Virenscanner suchen.
Der Empfänger soll mal so ein zertörtes Mail im Source anschauen (View -> Show -> Page Source im Notes Client, wenn die Mail offen ist), den Text kopieren und Dir schicken. Ich denke, dass sich aus den Header erkennen lässt, wer da die Mail zerstört.

Welche Notes-Version kommt denn beim Empfänger zum Einsatz?
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline flauschi

  • Frischling
  • *
  • Beiträge: 6
LOL. Endlich einmal nicht Notes sondern PHP per Default schuld. Find ich gut.  >:D


Ich würde - auch wenn sie keinen Trend Micro im Einsatz haben - den Fehler bei einem Virenscanner suchen.
Der Empfänger soll mal so ein zertörtes Mail im Source anschauen (View -> Show -> Page Source im Notes Client, wenn die Mail offen ist), den Text kopieren und Dir schicken. Ich denke, dass sich aus den Header erkennen lässt, wer da die Mail zerstört.

Welche Notes-Version kommt denn beim Empfänger zum Einsatz?


Herzlichen Dank für die Antwort. Die falschen Empfänger haben nicht zwingend Lotus Notes, da die Mails auch an Emfänger verschickt werden die NICHT in der Firma unseres Kunden arbeiten (sprich an Kunden unseres Kunden). Mir persönlich kam es schon so vor als ob, irgendeine zuletzt verwendete Mail (an die der Dominoserver vorher eine Mail geschickt hatte) verwendet wird --> ob es solche Fälle geben kann, kann ich leider nicht beurteilen. Interessant hierbei ist, dass im Header der Empfänger nicht auftaucht. Zumindest im Segment Data (bin wie gesagt kein Notes-Experte). Vielleicht hilft das weiter: Im Text der Mail taucht manchmal folgendes auf:

DATA
Date: Thu, 26 Mar 2009 10:36:24 +0100
Subject: xxxxxxxx
To: xxxxx@xyz.info
From: yyyyy
Reply-To: yyy@xyz.info
Content-Type: text/html
Content-Transfer-Encoding: 8bit
charset=utf-8X-Mailer: PHP 5.2.6

Jetzt ist es so, dass To: xxxxx@xyz.info den Empfänger enthält, welcher es auch bekommen hätte sollen. Bekommen hat die Mail aber ein Adressat den die Mail nichts angeht.

Herzlichen Dank falls jemand hierfür eine Erklärun hat, mir gehen nämlich die Ideen aus und bin kurz vor dem Verzweifeln.





Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Interessant wäre der Source einer solchen "fehlgeleiteten" Mail zu sehen, wie ich schon gesagt habe.
PHP spricht mit welchem MTA (sendmail, postfix, Sexchange, ...)?
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline flauschi

  • Frischling
  • *
  • Beiträge: 6
Hallo, ich habe hier jetzt mal einen von mir anonymisierten Auszug. Ich hoffe inständig man kann damit etwas anfangen:

Received: from xxx.yyy.net ([www.xxx.yyy.zzz])
         by xxxxxx.net (Lotus Domino Release 6.5.5FP2)
         with ESMTP id 2009032512170477-53189 ;
         Wed, 25 Mar 2009 12:17:04 +0100
Received: from xxxyxxx ([www.xxx.yyy.zzz])
         by xxxxx.net (Lotus Domino Release 7.0.3)
         with SMTP id 2009032512170464-205135 ;
         Wed, 25 Mar 2009 12:17:04 +0100
X-MIMETrack: Itemize by SMTP Server on xxxxx/xxxx/DE(Release 7.0.3|September 26, 2007) at
25/03/2009 12:17:04,
                Serialize by Router on xxxx/xxxxx/DE(Release 7.0.3|September 26, 2007) at
25/03/2009 12:17:04,
                Serialize complete at 25/03/2009 12:17:04,
                Itemize by SMTP Server on xxxxxx/xxxx/DE(Release 6.5.5FP2|October 23, 2006) at
25.03.2009 12:17:04,
                Serialize by Notes Client on abcs/RZBS/EDV/xxxxxxxx/DE(Release
8.5|December 05, 2008) at 26.03.2009 09:01:35,
                Serialize complete at 26.03.2009 09:01:35
From: xxx@xxxxx.info
Message-ID: <OFB40F58CF.6B53161D-ONC1257584.003DFD0E@xxxxx.info>
Date: Wed, 25 Mar 2009 12:17:04 +0100
DATA
Date: Wed, 25 Mar 2009 12:17:04 +0100
Subject: xxxxxddddd
To: xxx.xxx@xxx.info
From: xxxxx
Reply-To: xxx@xxx.info
Content-Type: text/html
Content-Transfer-Encoding: 8bit
charset=utf-8X-Mailer: PHP 5.2.6

--


Danke Flauschi

Offline flauschi

  • Frischling
  • *
  • Beiträge: 6
Leider kann ich den Beitrag nich editieren. Zur Frage der Anbindung:
PHP läuft auf einer Windows Server Kiste (2003). Die Konfiguration des SMTP wurde direkt in der php.ini vorgenommen (heisst es wird kein Sendmail oder ähnliches aufgerufen).

Gruß Flauschi

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Also wenn das wirklich der Text ist, der beim Empfänger ankommt, dann hat es wo was, weil das "DATA" sollte z.B. in einem empfangenen Mail nicht vorkommen. Detto die doppelten From's und so.

Ich würde mal überprüfen, ob Euer PHP-Script das was doppelt moppelt oder ob das auf dem Weg passiert (was ich mir aber nicht vorstellen kann).

Eine "normale" Mail schaut beim Empfänger ungefähr so aus:
Code
Received: from XXXXX-XXXX.XXX.local ([xxx.xxx.xxx.xxx])
          by XXXXXXXXX.XXXXXXX.LOCAL (Lotus Domino Release 7.0.3FP1)
          with ESMTP id 2009032713210709-55596 ;
          Fri, 27 Mar 2009 13:21:07 +0100 
Received: from XXXXX-XXXX.XXX.AT ([xxx.xxx.xxx.xxx]) by XXXXX-XXXX.XXX.local with Microsoft SMTPSVC(xxx.xxx.xxx.xxx);
		  Fri, 27 Mar 2009 13:21:01 +0100
Received: from XXXX.XXXXXX.XXXX.at ([xxx.xxx.xxx.xxx]) by XXXXX-XXXX.XXX.XX with Microsoft SMTPSVC(xxx.xxx.xxx.xxx);
		  Fri, 27 Mar 2009 13:21:02 +0100
Received: from [xxx.xxx.xxx.xxx] (helo=[xxx.xxx.xxx.xxx])
		 by XXXX.XXXXXX.XXXX.at with esmtpa (Exim 4.63)
		 (envelope-from <martin@XXXXXX.XXXX.at>)
		 id 1LnB3V-0004FD-Uk
		 for XXXXXXXXXXXXXX@XXXXXX.XX.XX; Fri, 27 Mar 2009 13:21:02 +0100
From: "Martin 'm3' Leyrer" <martin@XXXXXX.XXXX.at>
Organization: Organized, who - me ?
To: XXXXXXXXXXXXXX@XXXXXX.XX.at
Date: Fri, 27 Mar 2009 13:20:57 +0100
MIME-Version: 1.0
Subject: Test
Reply-to: martin@XXXXXX.XXXX.at
Message-ID: <49CCD2B9.20728.AE35AED@martin.XXXXXX.XXXX.at>
Priority: normal
X-mailer: Pegasus Mail for Windows (4.41)
Return-Path: martin@XXXXXX.XXXX.at
X-OriginalArrivalTime: 27 Mar 2009 12:21:02.0456 (UTC) FILETIME=[7E745F80:01C9AED6]
X-MIMETrack: Itemize by SMTP Server on XXXXXXXX/X/XXXXXX(Release 7.0.3FP1|February 24, 2008) at
 27.03.2009 13:21:07,
		 Serialize by Notes Client on XXXXXX XXXXXX/XXX/XXXXXX(Release 6.5.4|March
 27, 2005) at 27.03.2009 13:21:34,
		 Serialize complete at 27.03.2009 13:21:34
Content-transfer-encoding: 7BIT
Content-type: text/plain; charset=US-ASCII
Content-description: Mail message body

text




HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline flauschi

  • Frischling
  • *
  • Beiträge: 6
Hallo und Danke für die Unterstützung,

ähnliches hat mir der Notesadmin auch gesagt, das Probelm ist nur, dass
1. es bis vor kurzem keine Probleme gab.
2. bei Tests das ganze nicht kontinuierlich reproduzierbar ist. Der Header ist eine Variable in der nur die Mailadressen ersetzt werden. Aus meiner Sicht müsste es somit immer falsch laufen oder nie.
... Der Header ist wird auf jedenfall irgendwie "verbogen" das verstehe ich aber Wer, Wieso?.

Da ich am Skript keinen offensichtlichen Fehler finden kann und wir auch bereits andere Mailversandmethoden verwendet haben, klammere ich mich derzeit verzweifelt an den Domino-Server .
Den vorhin geposteten Header der Mail ist aus einem Testlauf d.h. ich habe den exakt selben Header in einer korrekten Version vorliegen (unterschied dass diese Mail eine Sekunde vorher verschickt wurde).


Wie schon erwähnt ich hatte einen Thread bei IBM Gefunden welcher ein solches Phänomen mit dem Trend-Micro Scanner beschreibt.
Dieser Scanner ist bei unserem Kunden nicht (mehr) im Einsatz. Der Mailserveradmin weigert sich (aus verständlichen Gründen) den jetzigen Scanner abzuschalten.

Grüße
ein verzweifelter Flauschi.    

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Poste mal, was bei Deinem Script hinten raus kommt.
Bzw. schick so eine Mail mal an Deinen GMail/GMX Account und poste mal, wie die Mail dort aussieht.
Wenn das Problem nachweislich auf der Empfängerseite liegt (deren Virenscanner), sollten die sich drum kümmern. Da könntest ja dann gar nix machen.
IMHO würde ich auch einen Blick auf den Content werfen. Wann gibt es Probleme? Wenn spezieller JavaScript Code in der Mail eingebettet ist, den der Virenscanner ev. ausfiltern würde? Oder wenn ein spoezieller Anhang dran hängt? Ev. kann man es so einschränken.
« Letzte Änderung: 27.03.09 - 14:11:01 von m3 »
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline flauschi

  • Frischling
  • *
  • Beiträge: 6
Hier mal ein Testskript, welches auch sporadisch den Fehler erzeugt. Hiebei ist der Empfänger (nämlich  ich) sogar statisch. Am Header ($xtra2) wird zur Laufzeit nichts mehr verändert.

Code
$xtra2 = "From: xxxxxxxxx\nReply-To: xxxx@yyyy.info\n";
                                               $xtra2 .= "Content-Type: text/html\nContent-Transfer-Encoding: 8bit\ncharset=utf-8";
                                               $xtra2 .= "X-Mailer: PHP ". phpversion();
                                               
mail('mail@xxxx.com','Subject','',$xtra2);                        


Herzliche Grüße Flauschi

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Na dann würd ich mal sagen, dass Dein Script nicht schuld ist.

Nachdem das Problem anscheinen auch bei "internen" Empfängern (also Dir) auftritt, würde ich auf den SMTP-Server bei Euch (zunächst mal der in der PHP.ini, ev. aber auch ein nachgelagerter) bzw. dessen Anti-Virus Konfiguration tippen.


HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz