Php表单未将正确的电子邮件地址拉入“发件人”部分
我试图把用户的电子邮件地址拉到$from部分,但我没有任何运气。除了$from部分之外,所有的东西都正常工作,它没有提取所需的电子邮件地址。下面是我在收件箱中看到的示例 主题:OffPod 发件人:OffPod@p3nlhg757.shr.prod.phx3.secureserver.net(我希望本节将电子邮件拉到下面,即。mcginndaniel123@gmail.com)Php表单未将正确的电子邮件地址拉入“发件人”部分,php,Php,我试图把用户的电子邮件地址拉到$from部分,但我没有任何运气。除了$from部分之外,所有的东西都正常工作,它没有提取所需的电子邮件地址。下面是我在收件箱中看到的示例 主题:OffPod 发件人:OffPod@p3nlhg757.shr.prod.phx3.secureserver.net(我希望本节将电子邮件拉到下面,即。mcginndaniel123@gmail.com) 日期:2013年8月20日星期二上午10:44 致:daniel@purplebottlemedia.com 发件人:
日期:2013年8月20日星期二上午10:44 致:daniel@purplebottlemedia.com 发件人:丹尼尔 电邮:mcginndaniel123@gmail.com 信息: 测试 这是我的密码:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From:';
$to = 'daniel@purplebottlemedia.com';
$subject = 'OffPod';
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit']) {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
}
?>
根据php.net上的mail()文档,您应该在附加标题中添加发件人电子邮件地址,这是mail中的第四个参数。例如:
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
您正在将$from变量放在附加标题的位置。您还只将$from变量设置为“from:”,而没有实际的from地址。下面是你如何解决这个问题的
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$to = 'daniel@purplebottlemedia.com';
$headers = 'From: ' . $email . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$subject = 'OffPod';
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit']) {
if (mail ($to, $subject, $body, $headers)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
}
?>
试试这个:
$from = 'From: '.$email;
您的变量为$from='from:';它只接受一个字符串值,不包含电子邮件格式 试试这个
$from = $email;
除了将
$from
设置为字符串外,您没有对其执行任何操作。mail
的第四个参数是包含邮件标题的字符串;您可以使用它来替代现有的From标头。您当前正在传入字符串From:
-尝试将$name
连接到它:'From:'$名称“\r\n”代码>也就是说,有一些库可以帮助您创建电子邮件,而不必自己生成它们。看一看梨吧,比如:它的名字就是这样的。发件人:Daniel@p3nlhg758.shr.prod.phx3.secureserver.net如何在名称后添加电子邮件地址。我是否会在$name后面添加$email,比如$from='from:'$名字$电子邮件。“\r\n”;好的,我知道它工作得很好。现在是时候对垃圾邮件过滤器进行编码了。谢谢你的帮助!!