我创建了一个链接到 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
}?>
我似乎无法弄清楚问题所在。提前致谢。
最佳答案
如果您可以访问 Web 主机,我会说尝试在位于 /var/log/
的 Ubuntu 服务器上找到 apache2.log 文件,但我不知道它在哪里会是给你的。不管怎样,如果你发现了这个,你可以查看日志中的最后记录,看看 apache 是否在执行这个命令的过程中抛出一个错误,否则这个错误是对用户隐藏的。听起来可能是邮件服务器有问题。你有一个设置吗?您使用的是 sendmail 还是某种变体?
我最近在发送邮件时遇到了一些相关问题,这可能会对你有所帮助(但正如我之前所说,它适用于 linux)
关于php - 电子邮件脚本报告成功,但电子邮件没有出现在我的收件箱中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6200548/