PHP主题电子邮件似乎打破了接收联系表

PHP主题电子邮件似乎打破了接收联系表

问题描述:

我写了一个联系表,当我输入'姓名,电子邮件和消息'我收到电子邮件。但是,当我输入主题时,它会将我带到“谢谢”页面,但我似乎从未收到该电子邮件。PHP主题电子邮件似乎打破了接收联系表

我试过在PHP脚本中更改不同的变量,但这不起作用。我无法确定阻止电子邮件发送的因素。见下面的代码。

<?php 

error_reporting(-1); 
ini_set('display_errors', 'On'); 
set_error_handler("var_dump"); 

if(isset($_POST['submit'])){ 
$first_name = $_POST['first_name']; 
$last_name = $_POST['last_name']; 
$email = $_POST['email']; 
$subject = $_POST['subject']; 
$message = $_POST['message']; 
$formcontent = "From: $first_name $last_name \n \n Message: $message"; 
$to = '[email protected]'; 
$mailheader = "From: $email \r\n"; 
mail($to, $subject, $formcontent, $mailheader) or die("Error!"); 
echo "Thank You! Your kind message has been recieved!"; 
} 
?> 
<form method="POST" action="mail.php"> 
        <div class="form-inline"> 
         <label for="Firstname">Name</label> 
         <input type="text" class="form-control" 
         id="Firstname" name="first_name" placeholder="First Name"> 
         <input type="text" class="form-control" 
         id="Lastname" name="last_name" placeholder="Last Name"> 
        </div>   
        <div class="form-group"> 
         <label for="Email">E-mail</label> 
         <input type="email" class="form-control" 
         id="Email" name="email" placeholder="Email Address"> 
        </div> 
        <div class="form-group"> 
         <label for="Subject">Subject</label> 
         <input type="text" class="form-control" 
         id="Subject" name="subject" placeholder="Let me know what it's about"> 
        </div> 
        <div class="form-group"> 
         <label for="Message">Message 
         </label> 
         <textarea class="form-control" 
         id="Message" name="message" rows="6" placeholder="Send me something awesome!"></textarea> 
        </div> 
        <button type="submit" name="submit" class="btn btn-default">Submit 
        </button>    
       </form> 
+0

'error_reporting(〜1);'在那里做什么代字号? –

+0

OOPS!这意味着error_reporting(-1)提出的错误是“未定义的索引:主题”,但我已经在php和html中声明了它。 @ Fred-ii- – clearyb123

+0

嗯......这可能是因为你的输入被破坏/在不同的行上” - 尝试把它放在一行;我以前见过这种情况。你的'

我看不出什么毛病,你发布的内容将被张贴到PHP阻止主题行的代码。换句话说,仅仅基于你发布的代码,PHP应该能够访问

$_POST['subject']; 

但是为了以防万一,请尝试更改提交按钮的输入,像这样

`<input type="submit" name="submit" value="Submit">` 

其次,即使填写表格的人员没有提供,也可能在将来总是有一个主题行。 (这真的可以帮助你理清你的邮件)。我会使用PHP速记赋值运算符。它看起来像这样

$subject = isset($_POST['subject']) ? $_POST['subject'] : "Default Subject Line";

这是完全一样的东西做这个

if(isset($_POST['subject'])){ 
    $subject = $_POST['subject']; 
} else { 
    $subject = 'Default Subject Line'; 
} 
+0

嗨,大家好!因此,我一直在努力研究一些建议和改变事情,有时甚至在我添加带有主题/消息的名字和姓氏时,我也没有收到电子邮件。非常困惑的人现在!显然不会放弃,但你认为它可能与服务器有关吗?如果您想查看,我的网站是www.benjackcleary.com。感谢您的全力帮助 – clearyb123

+0

难道您的电子邮件客户端正在向垃圾邮件发送邮件,因为主题行是空白的? (我只是填写表格,无论有没有主题行,让我知道它是怎么回事) –

所以它的工作!!!!我想,在电子邮件玩了一段时间后,终于通过了。这可能是两件事刷新网站上的缓存并将提交按钮更改为输入。总之,发送电子邮件的速度仍然很慢,但这可能与服务器有关。我将用100封电子邮件进行测试以确保。

+0

真棒。我很高兴听到它。不要忘记接受答案;-) –