簡體   English   中英

由於主機上的垃圾郵件過濾,某些聯系表單未發送電子郵件

[英]Some contact form emails not being sent due to spam filtering on host

我需要調整我網站上的聯系表格。 這是一個PHP / Ajax聯系表。

目前我有一個問題 - 當客戶填寫我的聯系表格NAME - EMAIL - SUBJECT - MESSAGE我的DREAMHOST服務器存在問題,因為他們的新反垃圾郵件政策並且我沒有收到一些消息 - 如果他們的電子郵件是@hotmail。那沒關系。 但如果他們的電子郵件是@ 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.">\r\n"
    ."Reply-To: ".$email."\r\n"
    ."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.">\r\n"
."Reply-To: ".$email."\r\n"

只是:

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

並根據需要將用戶的電子郵件地址添加到您的郵件中。 你現在正在做的事情被稱為欺騙 ,即使是善意的,你實際上也是在欺詐。 這相當於有人打電話給你對你的產品表現出興趣,你取下他們的實際地址,把它放在信封的左上角,然后給自己發一封信,說打電話的人有興趣。 除了這只是一種相當奇怪的做事方式之外,它還建議使用電子紙質記錄,建議用戶實際上通過電子郵件發送給您,而他們卻沒有。 在填寫在線表格后,我個人會不自在地發現我的電子郵件地址是以這種方式使用的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM