Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 表单显示成功消息,但未收到电子邮件_Php_Forms_Email_Twitter Bootstrap_Post - Fatal编程技术网

Php 表单显示成功消息,但未收到电子邮件

Php 表单显示成功消息,但未收到电子邮件,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

我有一个Bootstrap3表单,显示成功消息:“您的消息已发送”,但我没有收到任何电子邮件。甚至不在我的垃圾邮件/垃圾邮件文件夹中。它会正确验证,但不会发送电子邮件。下面是PHP代码。请帮忙

PHP

    <?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.