电子邮件脚本报告成功,但电子邮件未显示在我的收件箱中

时间:2011-06-01 11:42:48

标签: php html email forms

我创建了一个链接到PHP页面的表单,如下所示:

<form method="get" action="contact.php">
<p>Nome:</p> <input type="text" name="name" class="name" /><br>
<p>E-mail :</p> <input type="text" name="mail" class="mail" /><br>
<p>Website:</p> <input type="text" name="website" class="website" /><br>
Mensagem: <textarea name="message" class="message" rows="2" cols="20"></textarea>        
<input type="submit" value="Enviar" class="submit" />
</form>

PHP页面:

<?php 
$field_name = $_GET['name'];
$field_email = $_GET['mail'];
$field_website = $_GET['website'];
$field_message = $_GET['message'];
$mail_to = '__munged__@gmail.com';
$subject = 'Message from a site visitor ' . $field_name;
$body_message = 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Message: '.$field_message;
$headers = "From: $field_email\r\n";
$headers .= "Reply-To: $field_email\r\n";
$mail_status = mail($mail_to, $subject, $body_message, $headers);
if ($mail_status) { ?>
<script language="javascript" type="text/javascript">

    alert('Thank you for the message. We will contact you shortly.');

    window.location = 'index.html';
</script>
<?php
}
else { ?>
<script language="javascript" type="text/javascript">
    // Print a message
    alert('Message failed. Please, send an email to __munged__@template-help.com');
window.location = 'index.html';
</script>
<?php
}?>

我似乎无法弄清楚问题所在。提前谢谢。

3 个答案:

答案 0 :(得分:0)

如果您有权访问Web主机,我会说尝试在位于/var/log/的Ubuntu服务器上找到apache2.log文件,但我不知道这对您来说是什么。无论如何,如果你发现这一点,你可以查看日志中的最后一条记录,看看apache是​​否在执行此命令期间抛出了一个错误,否则会对用户隐藏。听起来好像邮件服务器有问题。你有一个设置吗?你使用sendmail或一些变种?

我最近遇到了一些发送邮件的相关问题,这可能对你有所帮助(但正如我之前所说的那样是针对linux)

php5 mail() function sendmail error

答案 1 :(得分:0)

检查[mail function]文件的php.ini部分中的smtp服务器设置。邮件服务器可能已成功收到邮件,否则将返回错误。我会尝试使用不同的邮件服务器。

答案 2 :(得分:-1)

这是一个简单的方法。

从主题中删除未使用的空格。 不要将动态变量与$ field_name等主题一起使用。

使用php5 @mail函数