tufan: mail() debuggen?

hallo,

ich habe ein Problem, mit der mail() Funktion. Sie schickt keine Emails und gibt den Rückgabewert false heraus.

Ist es irgendwie möglich, aussagekräftigere Informationen von der Funktion (oder auch auf eine andere Art und Weise) zu bekommen, darüber was schief läuft?

Zur Zeit sieht der Code folgendermassen aus:

  
$email_header .= "Content-type: text/plain; charset=iso-8859-1\n";  
$email_header .= "From: info@mydomain.de\n";  
$email_header .= "Reply-To: info@mydomain.de\n";  
$email_header .= "Content-Transfer-encoding: 8bit\n";  
$email_header .= "Organization: Meine Firma\n";  
$email_header .= "X-Sender: " . phpversion() . "";  
  
mail($_POST['email'],"Anmeldung bei ... ","Vielen Dank für Ihre Registrierung auf ...\n\rUm Ihren Account endgültig freizuschalten, klicken Sie bitte auf folgenden Link und folgen Sie den nachstehenden Anweisungen.\n\rSollten Sie Probleme mit der Fertigstellung Ihrer Registrierung haben, so wenden Sie sich hierzu bitte an info@mydomain.de.\n\rVielen Dank für Ihre Registrierung und viel Erfolg auf info@mydomain.de.\r\nhttp://" . $domain . "/confirm.php?userid=" . $id . "&sessid=" . session_id() . "",$email_header);  

$_POST['email'] wird richtig erkannt und gesetzt.
$domain und $id werden ebenfalls richtig initialisiert.

Vielen Dank für die Hilfe.
Grüße aus Berlin,

tufi

  1. gudn tach!

    Zur Zeit sieht der Code folgendermassen aus:

    $email_header .= "Content-type: text/plain; charset=iso-8859-1\n";
    $email_header .= "From: info@mydomain.de\n";
    $email_header .= "Reply-To: info@mydomain.de\n";
    $email_header .= "Content-Transfer-encoding: 8bit\n";
    $email_header .= "Organization: Meine Firma\n";
    $email_header .= "X-Sender: " . phpversion() . "";
    [...]

      
    "Multiple extra headers should be separated with a CRLF (\r\n)."  
    <http://de2.php.net/manual/en/function.mail.php>  
      
    prost  
    seth
    
    1. hallo,

      gudn tach!

      "Multiple extra headers should be separated with a CRLF (\r\n)."
      http://de2.php.net/manual/en/function.mail.php

      nachdem ich vor ein paar Minuten die Funktionsbeschreibung nochmals durchlas, und die obigen Zeilen auch entdeckte, habe ich es gleich berücksichtig - obwohl mail() in anderen Projekten auch mit \n statt \r\n funktionierte.

      Leider bekam ich wieder false zurück :-/

      Grüße aus Berlin,

      tufi

      1. gudn tach!

        Leider bekam ich wieder false zurück :-/

        funzen denn simple beispiele wie
          mail('foo@example.com', 'subject', 'message');
        ?

        prost
        seth

        1. hallo,

          funzen denn simple beispiele ?

          nein;

            
          mail('meineemail@web.de', 'test', 'testmessage', 'From: anyhost@web.de');  
          
          

          hat auch nicht funktioniert.
          was mich wundert ist; auf dem selben Server habe ich viele andere Skripte, die Emails versenden können.

          Grüße aus Berlin,

          tufi

      2. echo $begrüßung;

        http://de2.php.net/manual/en/function.mail.php

        Leider bekam ich wieder false zurück :-/

        Im übergeordneten, einleitenden Kapitel zu den Mail-Funktionen stehen einige Konfigurationsparameter erläutert. Stimmen die dort eingestellten Werte mit den Gegebenheiten deines Systems überein? (Beachte auch die dort stehenden Hinweise, dass nicht alle Werte für alle Betriebssysteme eine Bedeutung haben.)

        echo "$verabschiedung $name";

        1. hallo,

          Im übergeordneten, einleitenden Kapitel zu den Mail-Funktionen stehen einige Konfigurationsparameter erläutert. Stimmen die dort eingestellten Werte mit den Gegebenheiten deines Systems überein? (Beachte auch die dort stehenden Hinweise, dass nicht alle Werte für alle Betriebssysteme eine Bedeutung haben.)

          ja, die Werte stimmen überein. Zudem, auf dem selben Server habe ich Skripte (unter anderen Verzeichnissen, die anderen (sub-)Domains entsprechen), bei denen mail() ihren Job sehr gut erledigt. Genau dieselbe funktion will hier aber unbedingt Probleme machen :-(

          Grüße aus Berlin,

          tufi

  2. Hallo

    mail($_POST['email'],"Anmeldung bei ... ","Vielen Dank für Ihre Registrierung auf ...\n\rUm Ihren Account endgültig freizuschalten, klicken Sie bitte auf folgenden Link und folgen Sie den nachstehenden Anweisungen.\n\rSollten Sie Probleme mit der Fertigstellung Ihrer Registrierung haben, so wenden Sie sich hierzu bitte an info@mydomain.de.\n\rVielen Dank für Ihre Registrierung und viel Erfolg auf info@mydomain.de.\r\nhttp://" . $domain . "/confirm.php?userid=" . $id . "&sessid=" . session_id() . "",$email_header);

      
    Ist die mehrfache verwendung von '\n\r' im Text der Email ein Versehen beim posten oder steht das da so drinnen?  
      
    Tschö, Auge  
    
    -- 
    Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.  
    (Victor Hugo)  
      
    [Veranstaltungsdatenbank Vdb 0.1](http://termindbase.auge8472.de/)
    
    1. hallo,

      Ist die mehrfache verwendung von '\n\r' im Text der Email ein Versehen beim posten oder steht das da so drinnen?

      das steht so drinnen. ähm, warum?

      Grüße aus Berlin,

      tufi

      1. Hallo tufan.

        Ist die mehrfache verwendung von '\n\r' im Text der Email ein Versehen beim posten oder steht das da so drinnen?

        das steht so drinnen. ähm, warum?

        Weil die Zeichenkombination von Carriage Return und Line Feed eigentlich anders herum notiert werden muss. In dieser Form hat sie wenig Nutzen.

        Einen schönen Montag noch.

        Gruß, Mathias

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        debian/rules
        1. hi Mathias,

          Weil die Zeichenkombination von Carriage Return und Line Feed eigentlich anders herum notiert werden muss. In dieser Form hat sie wenig Nutzen.

          ups, danke Dir. werd ich korrigieren.

          Einen schönen Montag noch.

          ebenfalls.

          Grüße aus Berlin,

          tufi