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";
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";