Я пытаюсь выяснить проблему с PHP-кодом для отправки формы, im для моего друга. Он отправляет электронные письма, но проблема в том, что получатель получает очень странный адрес электронной почты. Я прикрепляю изображение, чтобы посмотреть ближе.
Мой PHP-код:
<?php $error = false; $sent = false; if(isset($_Post['name'])) { if(empty($_Post['name']) || empty($_Post['email']) || empty($_Post['comments'])) { $error = true; } else { $to = "linardsberzins@gmail.com"; $name = trim($_Post['name']); $email = trim($_Post['email']); $comments = trim($_Post['comments']); $subject = "Contact Form"; $messages = "Name: $name \r\n Email: $email \r\n Comments: $comments"; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $headers .= "From:" . $name . "\r\n"; $mailsent = mail($to, $subject, $messages, $headers); if($mailsent) { $sent = true; } } } ?>
Большое спасибо
Это должно быть как Sender <HIS@EXAMPLE.COM>
:
$headers .= 'From: '.$name.' <'.$email.'>' . "\r\n";
Попробуйте добавить заголовки к электронной почте, например, из PHP mail. Пример руководства 2
<?php $to = 'nobody@example.com'; $subject = 'the subject'; $message = 'hello'; $headers = 'From: webmaster@example.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); ?>
Если вы хотите, чтобы это было по электронной почте с именем, это сработало бы
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
Добавьте это в свои заголовки
$headers .= "Reply-To: $replyEmail\r\n";
Заголовок From: должен содержать адрес электронной почты, а также имя, что-то вроде
"From:My Display Name<mydisplayname@gmail.com>\r\n"
<?php $error = false; $sent = false; if(isset($_Post['name'])) { if(empty($_Post['name']) || empty($_Post['email']) || empty($_Post['comments'])) { $error = true; } else { $to = "linardsberzins@gmail.com"; $name = trim($_Post['name']); $email = trim($_Post['email']); $comments = trim($_Post['comments']); $subject = "Contact Form"; $messages = "Name: $name \r\n Email: $email \r\n Comments: $comments"; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $headers .= 'From: '.$name.' <sender@example.com>' . "\r\n"; $mailsent = mail($to, $subject, $messages, $headers); if($mailsent) { $sent = true; } } } ?>
Попробуй это. просто измените заголовок.
$headers .= 'From: '.$name.' <sender@example.com>' . "\r\n";
Привет. Это не было ошибкой. Если вы предоставили SENDER EMAIL
тогда вместо него будет отображаться адрес электронной почты отправителей. В противном случае это займет наш адрес хостинга.