Ankündigung

Einklappen
Keine Ankündigung bisher.

Mailversand per PHP

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mailversand per PHP

    Hallo zusammen

    Ich versende mit unten stehendem Scriptausschnitt diverse Mails an unsere Mitglieder. Bei allen, bis auf zwei googlemail-Nutzer, kommt die Mail korrekt an.

    Bei Googlemail kommt "unbekannter mailer", die Mailnachricht ist aber vollständig. Googlemail nutzt also weder die Mailadresse, noch den Absender als Absendernamen.

    Ist da bei mir was falsch und Google hält sich exakt an irgendeine RFC? Oder interpretiert Google hier falsch?

    Hat jemand einen Tipp?

    Danke

    Andy

    PHP-Code:
    $An "vorname.nachname@domain.de";
    $betreff "Der Betreff";
    $header  "MIME-Version: 1.0\r\n";
    $header .= "X-Mailer: PHP "phpversion()."\r\n";
    $header .= "Content-type: text/plain; charset=iso-8859-1\r\n";
    $header .= "Content-Transfer-Encoding: 8bit\r\n";
    $header .= "From: Vorname Nachname <vorname.nachname@domain.de>\r\n";
    $header .= "Reply-To: Vorname Nachname <vorname.nachname@domain.de>\r\n";
    $Message "Der Nachrichtentext";
    mail ($An$betreff$Message$header); 

  • #2
    Hallo,

    deine header kommen 1. in der falschen reihenfolge.
    2. Kommt nach dem ersten header kein /r/n mehr..

    So sieht z.b. eine mailfunktion die funktioniert aus

    PHP-Code:
    <?php 
    $body
    ="<em>HTML</em> formatierte <strong>E-Mail</strong"
        
    $headers "From: info@example.com \r\n"
    $headers.= "Content-Type: text/html; charset=ISO-8859-1 "
    $headers .= "MIME-Version: 1.0 "

    mail("example@example.com""Eine HTML Nachricht"$body$headers); 
    ?>
    Ambience
    Ich gebe gerne ICQ-Support gegen ein kleines Endgelt.

    Kommentar


    • #3
      Nicht so ganz

      Diese funktionierende Variante zeigt mir in KMail und Thunderbird als Absender alles nur nicht den richtigen an - nämlich den Ausführer des Scripts auf dem Server, nämlich www-data.

      Im erweiterten Header steht dann auch logischerweise

      MIME-Version: 1.0X-Mailer: PHP 4.4.3Reply-To: Vorname Name <mail@adresse.de>

      und zwar in einer Zeile.

      Welches Mailprogramm kann denn so etwas nicht RFC-konformes korrekt darstellen?

      Andy

      Kommentar


      • #4
        Hallo

        also ich hab dieses beispiel von PHP: Mail Functions - Manual kopiert....also denke ich es sollte schon richtig funktionieren nachdem unter dem code auf der seite stand: This code works correctly

        Ambience
        Ich gebe gerne ICQ-Support gegen ein kleines Endgelt.

        Kommentar


        • #5
          Gehe ich auf deinen Link, so steht da beispielsweise

          PHP-Code:
          headers .= "From: ".$fromname."<".$fromaddress.">".$eol
          Und haste mal zwei Zeilen höher gesehen, was $eol (end of line) beinhaltet?

          PHP-Code:
          $eol="\r\n"
          Also ich denke mal, mit meinen bescheidenen PHP-Kenntnissen sollte ein "\r\n" sehr wohl hinter jeder Zeile stehen. So, wie in dem Beispiel auch, oder?

          Andy

          Kommentar


          • #6
            Ajo,

            ehm ich gib nur das wieder was ich dort gelesen habe und da stand unter der E-Mailfunktion wie gesagt: This version works correctly..

            So, dann guck doch mal hier: PHP: mail - Manual

            Ambiennce
            Ich gebe gerne ICQ-Support gegen ein kleines Endgelt.

            Kommentar


            • #7
              Zitat von Manual
              additional_headers (optional)
              String, der am Ende des E-Mail-Headers eingefügt werden soll.
              Dies kann benutzt werden, um zusätzliche Header-Angaben wie From, Cc oder Bcc anzugeben. Falls mehrere solcher zusätzlichen Header-Angaben angegeben werden soll, müssen diese durch ein CRLF-Zeichen (\r\n) getrennt werden.
              Daran kanns also schon mal nicht liegen, da es ja so stimmt

              Grüße
              Da Psy
              [I]"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)[/I]

              Kommentar


              • #8
                Tja soweit - so gut. Hilft mir aber bei meinem Problem nicht weiter.

                Andy

                Kommentar


                • #9
                  Ich habe zu diesem mail-Problem ein Tutorial geschrieben:
                  Nutzung einer Mailklasse

                  Kommentar


                  • #10
                    Das Problem kann ich leider nicht entdecken, aber kann dir mal eben meinen funktionstüchtigen (auch bei google) header geben:

                    PHP-Code:
                    $header  "Content-Type: text/html\r\n";
                    $header .= "Content-Transfer-Encoding: 8bit\r\n";
                    $header .= "FROM: $name <$mail>\r\n"
                    wenn des nicht klappt würde ich wo anders nach dem problem suchen, denn der läuft bei meinen scripten einwandfrei

                    // edit: sehe grad der einzige unterschiedt ist, meins ist html deins ist plain, liegt es vielleicht daran?

                    // edit II: so ich habe mal rumgespielt, wenn ich die \r\n drinne habe machen bei mir googlemail und thudnerbird probleme, wenn ich nur \n drinne habe nicht. Das problem für die beiden ist nämlich, das bei \r\n 2 Absätze interpretiert werden und somit der teil nach "mime" zur mail gehört (inklusive absender)

                    Kommentar


                    • #11
                      Zitat von sinai Beitrag anzeigen
                      PHP-Code:
                      $An "vorname.nachname@domain.de";
                      $betreff "Der Betreff";
                      $header  "MIME-Version: 1.0\r\n";
                      $header .= "X-Mailer: PHP "phpversion()."\r\n";
                      $header .= "Content-type: text/plain; charset=iso-8859-1\r\n";
                      $header .= "Content-Transfer-Encoding: 8bit\r\n";
                      $header .= "From: Vorname Nachname <vorname.nachname@domain.de>\r\n";
                      $header .= "Reply-To: Vorname Nachname <vorname.nachname@domain.de>\r\n";
                      $Message "Der Nachrichtentext";
                      mail ($An$betreff$Message$header); 
                      Ich bin mir zwar nicht sicher, ob das dein problem löst, aber eine möglichkeit wäre, dass du nach der Zeile "Reply-To:" noch folgende Zeile einfügst:
                      PHP-Code:
                      $header .= "Return-Path: Vorname Nachname <vorname.nachname@domain.de>\r\n"
                      des weiteren könntest du versuchen, dass du mit:
                      PHP-Code:
                      ini_set(sendmail_from,"vorname.nachname@domain.de"); 
                      die benutzung der From Adresse erzwingst.
                      Anschließend einfach noch ein:
                      PHP-Code:
                      ini_restore(sendmail_from); 
                      um die einstellungen wieder zurück zu setzen.
                      Hoffe das hilft

                      Kommentar

                      Lädt...
                      X