我创建了一个链接到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
}?>
我似乎无法弄清楚问题所在。提前谢谢。
答案 0 :(得分:0)
如果您有权访问Web主机,我会说尝试在位于/var/log/
的Ubuntu服务器上找到apache2.log文件,但我不知道这对您来说是什么。无论如何,如果你发现这一点,你可以查看日志中的最后一条记录,看看apache是否在执行此命令期间抛出了一个错误,否则会对用户隐藏。听起来好像邮件服务器有问题。你有一个设置吗?你使用sendmail或一些变种?
我最近遇到了一些发送邮件的相关问题,这可能对你有所帮助(但正如我之前所说的那样是针对linux)
答案 1 :(得分:0)
检查[mail function]
文件的php.ini
部分中的smtp服务器设置。邮件服务器可能已成功收到邮件,否则将返回错误。我会尝试使用不同的邮件服务器。
答案 2 :(得分:-1)
这是一个简单的方法。
从主题中删除未使用的空格。 不要将动态变量与$ field_name等主题一起使用。
使用php5 @mail函数