PHP邮件功能不适用于Webform

时间:2013-07-05 14:48:11

标签: php

下面是我用于电子邮件功能的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');
}
?>        

5 个答案:

答案 0 :(得分:0)

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

$headers = 'From: myemail@email.com';
mail('myemail@email.com', 'Subject Line', $emailbody, $headers);

答案 1 :(得分:0)

这可能是您主人的问题。

我认为由于@ email.com从您的主机获得的电子邮件垃圾邮件,它现在可能已列入黑名单。

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


前一段时间我在000webhost.com遇到了这个问题他们告诉我我无法向yahoo.com帐户发送电子邮件,因为yahoo.com在黑名单中添加了000webhost.com,因为用户发送了垃圾邮件雅虎服务器。

答案 2 :(得分:0)

您的服务器或路由中的服务器可能拒绝发送邮件,因为它没有From:地址。您可以使用headers的{​​{1}}参数添加一个:

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:等文字。

大多数ISP都会拒绝发送电子邮件,除非它来自在其注册的域名。有时,Bcc:地址必须存在于生成邮件的服务器上。

请注意,还有其他原因可能导致无法发送邮件:错误的寻址和垃圾邮件过滤器,但只有两个。

答案 3 :(得分:0)

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

谢谢大家。

答案 4 :(得分:0)

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

 echo  phpinfo(); 

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

相关问题