Php 表单显示成功消息,但未收到电子邮件
我有一个Bootstrap3表单,显示成功消息:“您的消息已发送”,但我没有收到任何电子邮件。甚至不在我的垃圾邮件/垃圾邮件文件夹中。它会正确验证,但不会发送电子邮件。下面是PHP代码。请帮忙 PHPPhp 表单显示成功消息,但未收到电子邮件,php,forms,email,twitter-bootstrap,post,Php,Forms,Email,Twitter Bootstrap,Post,我有一个Bootstrap3表单,显示成功消息:“您的消息已发送”,但我没有收到任何电子邮件。甚至不在我的垃圾邮件/垃圾邮件文件夹中。它会正确验证,但不会发送电子邮件。下面是PHP代码。请帮忙 PHP <?php // check if fields passed are empty if(empty($_POST['firstname']) || empty($_POST['lastname']) || empty($_POST['address
<?php
// check if fields passed are empty
if(empty($_POST['firstname']) ||
empty($_POST['lastname']) ||
empty($_POST['address']) ||
empty($_POST['address2']) ||
empty($_POST['city']) ||
empty($_POST['state_province']) ||
empty($_POST['country']) ||
empty($_POST['zip']) ||
empty($_POST['phone']) ||
empty($_POST['email']) ||
empty($_POST['checkbox']) ||
empty($_POST['comment']) ||
{
echo "No arguments Provided!";
return false;
}
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$address = $_POST['address'];
$address2 = $_POST['address2'];
$city = $_POST['city'];
$state_province = $_POST['state_province'];
$country = $_POST['country'];
$zip = $_POST['zip'];
$phone = $_POST['phone'];
$email_address = $_POST['email'];
$checkbox = $_POST['checkbox'];
$message = $_POST['comment'];
// create email body and send it
$to = 'email@example.com'; // put your email
$email_subject = "Contact form submitted by: $firstname";
$email_body = "You have received a new message. \n\n".
"Here are the details:\n \nFirst Name: $firstname \n Last Name: $lastname\n Address: $address\n Address2: $address2\n City: $city\n State/Province: $state_province\n Country: $country\n zip: $zip\n Phone: $phone\n Email: $email_address\n Checkbox: $checkbox\n Message: \n $message";
$headers = "From: $email_address\n";
$headers = "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);
return true;
?>
您正在将电子邮件发送到“email@example.com"
可能尝试将$to变量更改为将其发送到您的电子邮件地址
还要更改标题。由此
$headers = "From: $email_address\n";
$headers = "Reply-To: $email_address";
致:
注意,第二行的“.=”表示将字符串添加到标题中,而不是替换变量的内容
也许可以改变这一点:
mail($to,$email_subject,$email_body,$headers);
return true;
到
你使用哪种系统?确保在php.ini中正确设置了以下行:SMTP、sendmail_from、sendmail_path这里根本没有引导代码……至于邮件,我建议使用库(我喜欢SwiftMailer)来减轻负担并创建更符合要求的代码,邮件非常棘手您在本地主机上这样做吗?如果是这样,如果未配置localhost,则不会发送电子邮件correctly@castt,我正在使用hostgator作为我的主机。如何确保在我的php.ini中正确设置行?@DamienPirsy我刚刚在问题(html)中添加了引导代码我如何将此与SwiftMailerI连接我有电子邮件“email@example.com"因为我在内联网上上传了代码,但我有一个有效的电子邮件地址ther@Code_Poet我记得你说过你让霍斯盖特当主人?如果您将其托管在internet上,则仅在您的intranet中配置的电子邮件地址将不起作用work@Ryven,是的,我正在Hostgator上托管它,但我正在使用“email@example.com“为了便于显示,我的代码中没有这个地址。@约翰巴林格,首先,谢谢你的帮助。我做了你建议的编辑,但不幸的是我仍然没有收到任何电子邮件。
$headers = "From: $email_address\n";
$headers .= "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);
return true;
return mail($to,$email_subject,$email_body,$headers); // will return true on success send, or false if it failed to send.