由于主机上的垃圾邮件过滤,某些联系表单电子邮件未发送



我需要调整我网站上的联系表格。这是一个PHP/Ajax联系表单。

目前我有一个问题 - 当客户填写我的联系表格姓名 - 电子邮件 - 主题 - 消息 由于他们的新反垃圾邮件政策,我的 DREAMHOST 服务器出现问题,我没有收到一些消息 - 如果他们的电子邮件是@hotmail.com 那很好。但是如果他们的电子邮件是@gmail.com 我就没有收到消息等。

DREAMHOST告诉我:

感谢您联系技术支持,我检查了您网站上表单的日志,确实看到由于最近实施的反垃圾邮件政策,服务器正在退回电子邮件,该政策不允许使用非 Dreamhost 发送服务器或"发送自"电子邮件地址的服务器发送电子邮件。您可以在此处阅读有关此政策的更多详细信息:

http://wiki.dreamhost.com/Sender_Domain_Policy_and_Spoofing

您的邮件表单使用访问者的电子邮件地址作为"发件人"地址,在大多数情况下,该地址不是Dreamhost托管的电子邮件地址。由于上述垃圾邮件政策,如果电子邮件地址未使用 Dreamhost 邮件服务器,服务器将阻止从服务器发送的邮件。因此,您需要做的是将邮件表单设置为使用您的Dreamhost托管地址作为"发件人"地址。

或者,您将需要找到另一个邮件表单,该表单将允许您将固定的电子邮件地址设置为"发件人"地址。这样,您可以在表单中将Dreamhost托管的电子邮件地址设置为"发件人"地址。

代码如下:

<?php
/*
Credits: Bit Repository
URL: http://www.bitrepository.com/
*/
include dirname(dirname(__FILE__)).'/config.php';
error_reporting (E_ALL ^ E_NOTICE);
$post = (!empty($_POST)) ? true : false;
if($post)
{
include 'functions.php';
$name = stripslashes($_POST['name']);
$email = trim($_POST['email']);
$subject = stripslashes($_POST['subject']);
$message = stripslashes($_POST['message']);

$error = '';
// Check name
if(!$name)
{
$error .= 'Please enter your name.<br />';
}
// Check email
if(!$email)
{
$error .= 'Please enter an e-mail address.<br />';
}
if($email && !ValidateEmail($email))
{
$error .= 'Please enter a valid e-mail address.<br />';
}
// Check message (length)
if(!$message || strlen($message) < 15)
{
$error .= "Please enter your message. It should have at least 15 characters.<br />";
}

if(!$error)
{
$mail = mail(WEBMASTER_EMAIL, $subject, $message,
     "From: ".$name." <".$email.">rn"
    ."Reply-To: ".$email."rn"
    ."X-Mailer: PHP/" . phpversion());

if($mail)
{
echo 'OK';
}
}
else
{
echo '<div class="notification_error">'.$error.'</div>';
}
}
?>
我需要

知道的只是我需要对代码做什么,以便我可以收到我的联系表格的所有提交。如果有人能帮忙,我将不胜感激。

替换以下内容:

mail = mail(WEBMASTER_EMAIL, $subject, $message,
 "From: ".$name." <".$email.">rn"
."Reply-To: ".$email."rn"

只需:

$mail = mail(WEBMASTER_EMAIL, $subject, $message,"X-Mailer: PHP/" . phpversion());

,并根据需要将用户的电子邮件地址添加到您的邮件中。您现在正在做的事情称为欺骗,即使出于好意,您本质上也是在进行欺诈。这相当于有人打电话给你,对你的产品表现出兴趣,你记下他们的实际地址,把它放在信封的左上角,然后给自己发一封信,说来电者感兴趣。除了这只是一种相当奇怪的做事方式之外,它还暗示了一种电子纸质记录,表明用户实际上向您发送了电子邮件,但他们没有。 我个人在填写在线表格后发现我的电子邮件地址以这种方式使用会感到不舒服。

最新更新