paul: php mail() was passiert, wenn adresse unbekannt?

hallo,

wohin kommen die retournierten emails ,mit  "adresse unbekannt" o.ä.?
(im mailprogramm hab ich die (halbwegse) kontrolle, ob ich an die richtige adresse versendet hab. kann ich das auch über die php-mail-funktion erreichen?

lg

p

  1. wohin kommen die retournierten emails ,mit  "adresse unbekannt" o.ä.?
    (im mailprogramm hab ich die (halbwegse) kontrolle, ob ich an die richtige adresse versendet hab. kann ich das auch über die php-mail-funktion erreichen?

    die mails werden üblicherweise an www-data@example.com geschickt (www-data gilt zb für die debian-standard-installation, wenn ichs richtig im kopf hab) - was du damit anstellst, dist deine sache

    1. die mails werden üblicherweise an www-data@example.com geschickt (www-data gilt zb für die debian-standard-installation, wenn ichs richtig im kopf hab) - was du damit anstellst, dist deine sache

      ähm- ich glaub, ich stell mich grad ein bissl blöd an:
      wie kann ich auf dieses postfach zugreifen?

      1. ähm- ich glaub, ich stell mich grad ein bissl blöd an:
        wie kann ich auf dieses postfach zugreifen?

        wenns keins gibt, geht die mail ins leere

  2. Hallo Paul,

    es gibt mehrere Möglichkeiten die Sende-mail-Adresse festzulegen:

    1.) Seit PHP Version 5 gibt es die Konfigurationsdirektive
        mail.force_extra_parameters. Ein mögliche Konfiguration in der
        php.ini könnte also wie folgt den Sender festlegen:
        mail.force_extra_parameters="-u Paul paul@xyz.com"

    2.) Auf Windows-Systemen gibt es die Konfigurationsdirektive
        sendmail_from="Paul paul@xyz.com".

    3.) Allgemein kann man auch die Direktive sendmail_path nutzen, um
        Programmargumente an sendmail zu übergeben:

    sendmail_path="/usr/sbin/sendmail -t -i -f paul@xyz.com" oder
        sendmail_path="/usr/sbin/sendmail -t -i -r paul@xyz.com"

    (Hängt vom Sendmail-Programm selbst ab, welche Argumente ge-
        nutzt werden wollen...)

    4.) Die Funktion mail() hat ihrerseits ebenso Möglichkeiten SMTP-
        Header zu setzen. RFC 2822 Abs. 3.6.2 listet relevante Header,
        wie "Sender", "From" und "Reply-To:".

    5.) Desweiteren können mit der Funktion mail aber auch die in 3.
        angesprochenen Programmargumente von sendmail gesetzt werden.

    6.) In Ausnahmefällen kann es auch sinnvoll sein, direkt einen
        Prozess mittels popen() zu sendmail zu erstellen. Hierbei
        hat man dann alle Möglichkeiten, also sowohl über die Pro-
        grammarumente als auch mittels Header eine mail-Adresse anzu-
        geben

    Gruß aus Berlin!
    eddi

    --
    Rom war wieder Sieger:
    Die Hermanstraße - ein Fahnenmehr mit Partylaune
    Brot und Spiele eben
    1. 4.) Die Funktion mail() hat ihrerseits ebenso Möglichkeiten SMTP-
          Header zu setzen. RFC 2822 Abs. 3.6.2 listet relevante Header,
          wie "Sender", "From" und "Reply-To:".

      Genau das hab ich auch probiert: Ich habe im header eine From:-adresse und auch eine Reply-To:-adresse angegeben. Wenn ich mir nun selbst über php eine mail mit diesem header schicke, sehe ich auch den richtigen absender und auch den (anderen) Reply-To-absender. Aber wenn ich nicht mir, sondern einer (überprüfterweise) ungültigen emailadresse eine mail schicke und im Reply-to meine eigene mailadresse eintrage, sollte doch ICH die error-message bekommen, oder???

      danke für die hilfe!

      1. so, jetzt hab ich die lösung gefunden:

        ich habe mit der funktion ini_set() den sendmail_from - parameter auf die gewünschte adresse geändert. jetzt bekomme ich auch die fehlermeldung zugestellt...

        kann mir trotzdem jemand sagen, weshalb das ganze nicht auch funktioniert, wenn ich im header die richtige from-adresse eingebe? muß das in der php.ini geändert werden? ich meine, wenn ich im from-header die richtige adresse hab und manuell auf antworten gehe, kann ich ja auch dem absender eine mail schicken. warum kann dann die fehlermeldung vom server nicht auch auf diese weise zugestellt werden?

        1. Re:

          kann mir trotzdem jemand sagen, weshalb das ganze nicht auch funktioniert, wenn ich im header die richtige from-adresse eingebe? muß das in der php.ini geändert werden?

          Das liegt in der Arbeitsweise von PHP begründet und dem SMTP-Protokoll begründet. Sie Dir bitte das Beispiel an!
           sendmail_from setzt den Wert für "MAIL FROM:", während Header (im Beispiel deutlich zu sehen) dem Datenteil angehören und nicht mehr auf Protokollebene Wirkung haben. Diese Header sind im eigentlichen ein Trace der passierten Relais (bei HTTP würde man vielleicht von Proxies sprechen) und können an jedem beliebigen Zwischenstation ohne Überwachung verändert werden.

          warum kann dann die fehlermeldung vom server nicht auch auf diese weise zugestellt werden?

          Letztendlich ist das u. U. Konfigurations-/Programmiersache des Empfangsservices, kann also von außen nicht beeinflusst werden. Hinsichtlich der Vertrauenswürdigkeit von Headern, die einem mail body vorangestellt sind, kann es angesichts der immensen spam-Problematik keinem Administrator oder Programmierer verübelt werden, sich nicht mehr auf diese zu verlassen und zu beziehen. (Ein Warum sollte sich damit erübrigen.)

          Gruß aus Berlin!
          eddi

          --
          Der Verweis auf die Grundlagen Deines Handelns, ist das Joch zur Freiheit.
          Aber so gilt: Allen Leuten Recht getan, ist keine Kunst, weil's jeder kann.