Skip to content
View in the app

A better way to browse. Learn more.

Froxlor Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

PHP: Mail() Problem

Featured Replies

Hallo,

 

ich hab seit Wochen ein Problem das ich zwar reproduzieren aber leider nicht l?sen kann.

In einem PHP-Script wird per Mail() eine E-Mail verschickt. Daf?r werden zu den 3 erforderlichen Parametern noch die Header-Infos mir gegeben. Leider machen genau diese Infos Stress.

 

Hier mal eine Beispiel-Mail wie sie bei mir ankommt:

 

Content-type: text/html; charset=iso-8859-1

From: TESTMAIL<TESTMAIL@xxx.de>

Message-Id: <20101016225107.6DEF84E2D3CE@yyy.de>
Date: Sun, 17 Oct 2010 00:51:07 +0200 (CEST)


TESTTESTTEST

 

Das ist das, was mir mein Mail-Programm anzeigt und dieses ist nicht so eingestellt, das die Header-Infos mit angezeigt werden sollen.

 

Generell w?re ich ja hingegangen und h?tte das Script umgeschrieben, aber leider geht das nicht das es per Ioncube verschl?sselt wurde. Ich wei? nur, das die Mail-Funktion benutzt wird, kann es aber nicht ?ndern.

Dazu kommt dann noch, das die Mails nicht an den Empf?nger, sondern an den Versender geschickt werden.

 

Ich gehe davon aus, das es an der PHP.ini liegt, konnte aber noch keine L?sung entsprechend finden. Vielleicht hat einer von euch ein ?hnliches Problem schonmal gehabt und kann mir helfen.

 

Danke schonmal

 

Gruss

cardman

Scheint wohl ein externes Script zu sein was auch noch per Ioncube verschl?sselt ist. Ich wage zu bezweifeln das das gro? was mit der php.ini zu tun hat, meine 3-4 versch. Mail-Scripts funktionieren alle problemlos. Liegt wohl eher an denen...

  • Author

Hallo d00p,

 

ich hab ein Testscript angelegt:

 

<?php

   $header  = '';
   $header .= 'MIME-Version: 1.0' . "\r\n";
   $header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
   $header .= 'From: TESTMAIL<TESTMAIL@xxx.de>' . "\r\n";

   mail('cardman@xxx.de',"TESTBETREFF","TESTTESTTEST",$header);

?>

 

Und diese Mail kommt zum einen bei der Mail-Addresse an, die in der PHP.ini beim Sendmail und sieht dann so aus, wie ich oben schon gepostet hatte. Ich kann das Problem also reproduzieren.

 

Gruss cardman

  • Author

Hier mal noch der Eintrag aus der PHP.ini:

 

sendmail_from = "info@xxx.de"
sendmail_path = "/usr/sbin/sendmail -t -i info@xxx.de"

  • Author

Ich konnte jetzt noch feststellen, das immer nur die erste Zeile des Headers auch f?r diesen verwendet werd und alles was danach kommt, wird in die Nachricht selber geschrieben.

  • Author

Ich glaube ich hab den Fehler gefunden.

 

 $header .= 'MIME-Version: 1.0' . "\r\n";

 

Das "\r" ist zu viel, das will er nicht.

Kann man das irgendwo im Mailserver umstellen, das er das doch akzeptiert?

 

Gruss

cardman

 

P.S. als MTA ist Postfix im Einsatz.

  • Author

Das Problem besteht aber erst seit ich den Server gewechselt hab. Davor ging es eben genau so mit dem "\r\n"

Auf anderen Servern funktioniert das auch mit dem "\r\n".

 

Hier ein Auszug aus PHP.NET:

Wenn E-Mails nicht ankommen, versuchen Sie bitte, nur das LF-Zeichen (\n) zu verwenden. Einige UNIX-MTAs (mail transfer agents) ersetzen leider LF durch CRLF (\r\n) automatisch (wodurch das CR-Zeichen verdoppelt wird, wenn CRLF verwendet wird). Dies sollte aber nur in Ausnahmef?llen geschehen, da es gegen ? RFC 2822 verst??t.

 

Trotzdem

Danke

Naja, hast du evtl. auf dem anderen Server eine andere PHP-Version oder ?hnliches? Vergleiche mal die php.ini's vielleicht findest du was

  • Author

Das Problem ist ein Bug von PHP scheinbar:

PHP Bug

 

Da werde ich dann wohl doch die Scripte anpassen lassen m?ssen.

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.