0

下面是我用于电子邮件功能的 Webform PHP 代码。单击表单中的提交按钮后,我成功地被重定向到thankyou.html 页面,但我的电子邮件帐户没有收到任何电子邮件。亲切的帮助深表感谢。

PHP Code:
<?php
if(isset($_POST['submit'])) {
$emailbody = 'Name: '.$_POST['name']."\n"
.'E-mail: '.$_POST['email']."\n"
.'Phone: '.$_POST['phone']."\n"
.'Address: '.$_POST['addr']."\n"
.'City: '.$_POST['city']."\n"
.'State: '.$_POST['state']."\n"
.'Enquiry: '.$_POST['msg'];
mail('myemail@email.com', 'Subject Line', $emailbody);
header('location: thankyou.html');
} else {
header('location: index.html');
}
?>        
4

5 回答 5

0

这可能是您的主机的问题。

我认为由于@email.com 从您的主机收到的垃圾邮件,它现在可能在黑名单中。

这意味着您必须就此问题联系您的主机并告诉他们与@email.com 交谈以将您的主机从黑名单中删除。


不久前我在000webhost.com上遇到过这个问题,他们告诉我我无法向 yahoo.com 帐户发送电子邮件,因为 yahoo.com 将000webhost.com添加到了黑名单中,因为用户向 Yahoo 服务器发送了垃圾邮件。

于 2013-07-05T14:57:57.450 回答
0

您的服务器或沿途的服务器很可能因为没有From:地址而拒绝投递邮件。您可以使用以下headers参数添加一个mail()

<?php
if(isset($_POST['submit'])) {
  $emailbody = 'Name: '.$_POST['name']."\n"
  .'E-mail: '.$_POST['email']."\n"
  .'Phone: '.$_POST['phone']."\n"
  .'Address: '.$_POST['addr']."\n"
  .'City: '.$_POST['city']."\n"
  .'State: '.$_POST['state']."\n"
  .'Enquiry: '.$_POST['msg'];

  // Add extra headers here
  $headers = "From:address@examle.com"
  mail('myemail@email.com', 'Subject Line', $emailbody, $headers);

  header('location: index.html');
} else {
  header('location: about-us.html');
}

您应该检查任何用户提供的输入,以确保它不会尝试通过添加自己的标题来破坏您的邮件功能。检查文本,如To:,Cc:Bcc:

大多数 ISP 将拒绝发送电子邮件,除非它来自向他们注册的域。有时from地址必须存在于生成邮件的服务器上。

请注意,邮件可能无法送达还有其他原因:地址错误和垃圾邮件过滤器仅举两个。

于 2013-07-05T14:58:37.850 回答
0

您可能缺少 $additional_headers 参数中的“发件人”字段。尝试

$headers = 'From: myemail@email.com';
mail('myemail@email.com', 'Subject Line', $emailbody, $headers);
于 2013-07-05T14:52:41.740 回答
0

我找到了答案。我刚刚将$emailbody更改为$message,现在它工作正常。我不确定使用$emailbody而不是$message是问题,但它现在工作正常。

谢谢你们。

于 2013-07-06T06:58:16.193 回答
0

首先检查您的托管服务器是否为此提供了您刚刚编写的邮件功能

 echo  phpinfo(); 

您需要检查邮件功能是否启用

于 2013-07-06T07:21:40.067 回答