Frage

Ist das folgende "von" Header Incorect?

    // To send HTML mail, the Content-type header must be set
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    // Additional headers
    $headers .= 'From: Mail Master <mail@mailmaster.com>' . "\r\n";
if(sendEmailNow($email, $subject, $body, $headers)){

Ich erhalte den Fehler von meinem Mailserver. Es heißt "Mail aus Fehler: Syntaxfehler".

Vielen Dank für jede Hilfe.

Aktualisieren

Ich habe die SendEMailnow -Funktion nach unten abgezogen und erhalte den gleichen Fehler:

//send an email
function sendEmailNow($email, $subject, $body, $headers){

    if (mail($email, $subject, $body, $headers)) {
      ##check email
      ##code to say email sent - compare with the number registered
      return true;
     }

     else {
      ##code to report an error 
      return false;
     }

 }

Update 2

Problem gelöst. Ich leite dies auf einem Windows -Computer mit PHP 5 aus. Wie die richtige Antwort und die Kommentare haben gesagt. Einige Mailserver haben Probleme zu verstehen, was ich zuvor hatte. Aber was für mich funktioniert hat, war Folgendes:

$headers .= 'From: mail@mailmaster.com' . "\r\n";
War es hilfreich?

Lösung

Eine Google -Suche nach der Fehlermeldung legt nahe, dass einige SMTP -Server Ihre Syntax für die nicht analysieren From Header. Können Sie die folgende Syntax ausprobieren, um diese Möglichkeit auszuschließen?

From: mail@mailmaster.com

Andere Tipps

Wenn der Körper nicht leer ist, benötigen Sie möglicherweise eine zusätzliche CRLF, um die Header zu beenden. Ohne die API zu kennen, kann ich nicht viel mehr sagen.

Ich bin mir nicht sicher, ob dies hilfreich ist, aber hier ist, wie die Ausgangsheader in meiner Python-App in reinem Text aussehen:

Content-Type: multipart/alternative;
    boundary="10.254.26.130.1.1364.1241389770.060.1"
From: User1 <user1@domain1.com>
To: User2 <user2@domain1.com>,User3 <user3@domain.com>
Subject: Actual subject
MIME-Version: 1.0


--10.254.26.130.1.1364.1241389770.060.1
Content-Type: text/plain;
    charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

actual text content starting here...

Ohne all die Inhalte/Header zu kennen, ist es schwer zu sagen, aber ich würde entweder a) Sie die nachfolgenden CRLFs vor dem Inhalt ausgelassen oder b) eines der früheren Header, die seine CRLF fehlen.

Entschuldigung, wenn das Sie in eine völlig falsche Richtung führt. :)

From: "User1" <user1@domain1.com>

Die von Header aus dem Kopf für den Namensteil erfordert Zitate.

Wenn Sie die Variable "$ useremail" in Ihrem Formular festlegen, können Sie sie von ihnen und eine Antwort auf. Die $ E -Mail_ID ist Ihre E -Mail, an die sie gesendet wird.

        $to=$email_id;
        $headers = "From: " . strip_tags($userEmail) . "\r\n";
        $headers .= "Reply-To: ". strip_tags($userEmail) . "\r\n";
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top