Wieder einmal sendmail+php Problem ... mit einem Workaround

Irgendwelche Probleme mit XAMPP für Linux? Dann ist hier genau der richtige Ort um nachzufragen.

Wieder einmal sendmail+php Problem ... mit einem Workaround

Postby Matthias » 12. May 2003 16:40

Hi!

Es geht wieder einmal darum, dass sendmail über PHP nicht tut wie es soll. Die bisherigen Recherchen hier im Forum und in den Weiten des Internet haben mir bislang leider nicht weitergeholfen...

Problembeschreibung:

Sendmail an sich funktioniert!
D.h. ich kann z.B. über

Webmin -> Server -> Sendmail-Konfiguration -> Benutzer-Mailboxes -> Auswahl & "neue eMail schreiben"

eine eMail nach Außen senden, die auch ankommt, WENN ich als Absender eine gültige Domain angebe.

Bleibt allerdings die Voreinstellung "nobody@meinname.local" als Absender, verweigert (wenn ich die Fehlermeldung richtig interpretiere) der empfangende eMail-Server die Annahme mit der Meldung

"Domain of sender address nobody@meinname.local does not exist"

Ist ja auch verständlich, würde ja auch nicht eine Meldung von einer offensichtlich nicht existenten Adresse annehmen...

Allerdings:
Wenn ich in meinen Skripten über ein Formular via PHP-Befehl "mail" eine ebensolche versenden möchte, bleibt als Absender immer "nobody@meinname.local"! Egal, was ich im PHP-Befehl als Absender eintrage...
Der "php.ini" Befehl "sendmail_from" ist ja nur eine Anweisung für Windows-Systeme...

Das Versenden von eMails über PHP funktioniert also nicht! :-(

--------------------------
während des Schreibens an diesem Text habe ich nochmals im Netz gestöbert und habe Folgendes herausgefunden (sieht allerdings eher nach einem Workaround als nach einer Lösung aus...)


Wenn ich in der "php.ini" den Eintrag

sendmail_path = /usr/sbin/sendmail -t -i -f Absender@Domainname.de
(wobei Absender@Domainname.de natürlich meine eMail-Adresse ist)

setze, wird die eMail zugestellt!

Allerdings erscheint als Absender, wenn per PHP-mail keiner explizit angegeben wird root@meinName.local.
Und in jedem Fall kommt im Header der eMail die

X-Autentification-Warnung: "meinName.local: nobody set sender to Absender@Domainname.de using -f"

was nicht wirklich schlimm, zumindest aber wohl "unsauber" ist...

--------------------------

Vielleicht hat ja jemand eine "saubere" Lösung für das Problem und kann damit mein bescheidenes Hintergrundwissen um "sendmail" ein wenig erweitern?

Viele Grüße,
Matthias
Matthias
 

Postby Oswald » 12. May 2003 17:11

Huhu Matthias!

Ja, eine E-Mail hat zwei Absender-Adressen: zum einen die envelop address und die, die in der From:-Zeile des Mail-Headers steht. Beim PHP-Befehl mail() kannst Du zwar die zweite setzen, für die Fehlermeldung ist allerdings die erste verantwortlich. Und diese kann man letztendlich nur mit der -f Option vom sendmail setzten.

Die Lösung, die Du gefunden hast, ist also tatsächlich eine gute und saubere Lösung. Sauberer wäre nur eine "bessere" Konfiguration des sendmail selbst:

In der /etc/sendmail.cf etwa Zeile 146 (variiert natürlich von System zu System):

# who I masquerade as (null for no masquerading) (see also $=M)
DMapachefriends.org


Sorgt dafür, dass alle rausgehenden E-Mails mit @apachefriends.org rausgehen.

Liebe Grüße,
Oswald ;)
User avatar
Oswald
Apache Friends
 
Posts: 2718
Joined: 26. December 2002 19:51
Location: Berlin, Germany
Operating System: Linux


Return to XAMPP für Linux

Who is online

Users browsing this forum: No registered users and 15 guests