Php 尝试使用Mail()时变量出错
我尝试了很多不同的方法来解决这个问题,当我尝试发送电子邮件时,如果我只使用一个单词填充“name”值,它就会通过并发送电子邮件。但如果“name”值包含超过1个单词,则会显示错误消息Php 尝试使用Mail()时变量出错,php,email,Php,Email,我尝试了很多不同的方法来解决这个问题,当我尝试发送电子邮件时,如果我只使用一个单词填充“name”值,它就会通过并发送电子邮件。但如果“name”值包含超过1个单词,则会显示错误消息 <?php if( !isset($_POST['name']) || empty($_POST['name']) || !isset($_POST['phone']) || empty($_POST['phone']) || !isset($_POST['email']) || empty(
<?php
if( !isset($_POST['name']) || empty($_POST['name']) ||
!isset($_POST['phone']) || empty($_POST['phone']) ||
!isset($_POST['email']) || empty($_POST['email']) ||
!isset($_POST['asunto']) || empty($_POST['asunto']) ||
!isset($_POST['mensaje']) || empty($_POST['mensaje'])
){
echo '<p>Please fill in all fields</p>';
}else{
$name = $_POST['name'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$asunto = $_POST['asunto'];
$mensaje = $_POST['mensaje'];
$to = 'mail@hotmail.com';
$from = 'From:' . $name . '';
$subject = 'Mensaje de ' . $name . '';
$message = 'Nombre: ' . $name . '<br/><br/>
Telefono: ' . $phone . '<br/><br/>
Correo electronico: ' . $email . '<br/><br/>
Asunto: ' . $asunto . '<br/><br/>
Mensaje: ' . nl2br($mensaje) . '<br/>';
if (mail ($to, $subject, $message, $from)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
}
?>
试试这个:
$from = 'From: ' . $name. ' <' . $email . '>' . "\r\n" . 'X-Mailer: PHP';
$from='from:'$名字。“\r\n”。”X-Mailer:PHP';
RiggsFolly是正确的,以下行中有错误
无效的
$from='from:'$名字代码>这是因为“多个单词”不是有效的。您确定不想要$from='from:'吗$电邮";代码>@riggsfully结尾的空字符串的用途是什么?@kojow7据我所知不是。但我不想吓唬OP的变化比必要的感谢您的意见。这个头是有效的,但收件人的服务器可以阻止这样的“简单”电子邮件头,因为考虑垃圾邮件。特别是如果“来自电子邮件”的域与您的sendmail(发件人)域不同。你好,RAF,当我仅用一个字符填写表单并发送电子邮件时,该代码有效,但如果我尝试键入真实姓名、电子邮件、主题等,则会显示错误。