Frage

Ich verwende eine Mail-Funktion html an eine E-Mail-Adresse zu senden, aber die von Namen und E-Mail-Adresse wird nicht angezeigt. Dies ist mein Code:

$name = $_POST['name'];
$mailTo = 'name@email.com';
$subject = 'Message from ' . $_POST['name'];
$message = 
            '<html>
            <head>
            <title>HTML email</title>
            </head>
            <body>
            <p><b>Name:</b> ' . $_POST['name'] . '</p>
            <p><b>Email:</b> ' . $_POST['email'] . '</p>
            <p><b>Message:</b> ' . $_POST['mainmessage'] . '</p>
            </body>
            </html>';

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: Postmaster <some@body.com>';

mail($mailTo, $subject, $message, $headers);

Ich würde erwarten, dass die E-Mail zeigen, wie bei der E-Mail-Adresse some@body.com von Postmaster zu sein, aber es ist als von ideapale@box486.bluehost.com zeigt sich, was mein Hosting-Provider ist.

Was habe ich nicht richtig eingerichtet?

War es hilfreich?

Lösung

Chris, versuchen Sie die \r\n nach dem <some@body.com> Zugabe. Ich habe festgestellt, dass PHP sehr wählerisch sein kann, wenn auf Mail-Server zu sprechen.

Edit: nur ein wenig mehr zu helfen, ich habe diese (fast genau das, was Sie haben) in einem meiner Arbeits Skripts:

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'To: '.$to . "\r\n";
$headers .= 'From: ' .$from. "\r\n";

... wo $from = $fromname.' <'.$fromemail.'>'; und $ ist nur eine E-Mail-Adresse.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top