配置上域的电子邮件地址,在域和[email protected]
在下面的脚本您的Hotmail/Gmail的ID与新建邮件地址替换[email protected]
。
还与你的名字在下面的脚本替换Your Name
和测试您的服务器上:
<?php
$myName = "Your Name";
$myEmailAddressonDomain = "[email protected]";
$myPreferredEmailAddresson = "[email protected]";
$mail = $_POST['email_field'];
$clientName = $_POST['name_field'];
$subject = $_POST['subject_field'];
$text = $_POST['message_field'];
$headers = 'From: "$name" <$yourEmailAddressonDomain>'.PHP_EOL.'Reply-To: '.$_POST['mail'].PHP_EOL;
$to = '"$yourname" <$myPreferredEmailAddresson>';
$message = $text.PHP_EOL.PHP_EOL."---".PHP_EOL."From: ".$name." <".$mail.">";
/* Server-side form validations */
$err = "Error with ";
if (!checkLen($name)) {
$err.='Name';
} else if (!checkLen($mail) && !checkEmail($mail)) {
$err.='Email';
} else if (!checkLen($subject)) {
$err.='Subject';
} else if (!checkLen($text)) {
$err.='Message';
}
if (strlen($err)>11) {
echo $err.' field';
exit;
}
/* end validations */
elseif (mail($to, $subject,$message, $headers)) {
echo "<span style='color: #336600'>Your message has been sent.</span>";
} else {
echo "An error occurred, please try again.";
}
function checkLen($str,$len=1)
{
return isset($str) && mb_strlen(strip_tags($str),"utf-8") > $len;
}
function checkEmail($str)
{
return preg_match("/^[\.A-z0-9_\-\+]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $str);
}
?>
通过电子邮件将降落在您的Hotmail/Gmail收件箱(或任何非垃圾邮件)文件夹中的域电子邮件地址。
注:点击接收到的电子邮件回复会告诉你的客户的电子邮件地址(如我们在上面Reply-To
头已设置)
进行适当的修改,你是好去。
您应该阅读反垃圾邮件技术以了解您需要执行的操作。主要是SPF,其次是使用什么标题,最后是正确的内容(发送HTML邮件时的文本替代版本) – ontrack 2012-07-26 09:32:09
首先 - 标题,第二 - 内容,第三 - 质量。只包含一行文字的电子邮件可能是潜在的垃圾邮件。只包含3个字+链接的电子邮件比有效的电子邮件更多。反垃圾邮件检查会查找此类规则。您的电子邮件是否超过一行? – jolt 2012-07-26 09:32:35
可能的重复http://stackoverflow.com/questions/2032286/why-are-all-mails-sent-via-phps-mail-go-to-spam-box-but-not-mails-sent-direct和http://stackoverflow.com/questions/4309690/phpmail-always-go-to-spam – 2012-07-26 09:34:56