لماذا هو خط من لا يعمل على وظيفة البريد الخاص بي؟
سؤال
وأنا باستخدام وظيفة البريد الإلكتروني لإرسال أتش تي أم أل إلى عنوان البريد الإلكتروني، ولكن من اسم وعنوان البريد الإلكتروني لا تظهر. هذا هو قانون بلدي:
$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);
وأتوقع البريد الإلكتروني لتظهر على أنها من مدير مكتب البريد في some@body.com عنوان البريد الإلكتروني، ولكنها تظهر على أنها قادمة من ideapale@box486.bluehost.com، الذي هو بلدي مزود استضافة.
ما لم أكن إعداد بشكل صحيح؟
المحلول
وكريس، حاول إضافة \r\n
بعد <some@body.com>
. لقد وجدت أن فب يمكن أن يكون من الصعب إرضاءه جدا عندما تتحدث إلى خدمة البريد.
وتحرير: فقط لمساعدة أكثر من ذلك بقليل، ولدي هذا (بالضبط تقريبا ما لديك) في واحدة من النصوص عملي:
$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";
... حيث $from = $fromname.' <'.$fromemail.'>';
و$ لهو مجرد عنوان البريد الإلكتروني.
لا تنتمي إلى StackOverflow