【发布时间】:2013-04-16 18:01:52
【问题描述】:
我已经在 SO 上搜索了一段时间,但我似乎无法找到我的问题的答案。我有一个 PHP 邮件脚本,可以成功地将电子邮件发送到正确的邮件地址,没有问题。我使用 Gmail 作为我的邮件客户端,它运行良好,但是当我在我的主机站点(Mamutmail at active24)检查网络邮件时,我注意到很多电子邮件不会被重定向到 Gmail。
当我一年前开始使用我的邮件脚本时,我也收到了很多空白邮件,尽管我对表单进行了有效的验证。我每天收到大约 5 到 8 封空白邮件,但我在谷歌上搜索了很多并认为这是“随机主机问题”后决定在 Gmail 中过滤掉它们(我知道,这很愚蠢)。
所以,总结一下:
--> 从网站上的表单发送的邮件正在发送到主机 webmail,但有些没有导入到我的 Gmail 中
--> 我每天都收到很多空白邮件,即使我认为我有验证
这是我的表单代码:
<form id="mailForm" method="post" action="sendMailPre.php">
Ditt namn <span style="color: red;">*</span><br/>
<input type="text" name="name" class="required" /><br/><br/>
Din mailadress <span style="color: red;">*</span><br/>
<input type="text" name="mail" class="required email" /><br/><br/>
Ditt telefonnummer<br/>
<input type="text" name="tele" /><br/><br/>
Din stad<br/>
<input type="text" name="city" /><br/><br/>
Ditt meddelande <span style="color: red;">*</span><br/>
<textarea type="text" name="message" rows="8" class="required"></textarea><br/><br/>
<input type="submit" class="submit" value="Skicka meddelande" /><br/><br/>
</form>
这是 PHP 中的邮件脚本:
$ToEmail = 'test@mail.com';
$EmailSubject = $_POST["name"] . ' - Mail från hemsidan';
$mailheader = 'From: ' . $_POST["name"] . '' . "\n" .
'Reply-To: ' . $_POST["mail"] . '' . "\n" .
"X-Mailer: PHP/" . phpversion()."\n";
$mailheader .= "MIME-Version: 1.0\n";
$mailheader .= "Content-Type: text/html; UTF-8\n";
$message = '<html><head>';
$message .= '<style>';
$message .= 'body{line-height: 60%; padding: 35px; margin: 0;}';
$message .= '</style></head>';
$message .= '<body>';
$message .= '<span style="font-family: Trebuchet MS; font-size: 16px; font-weight: bold; color: #4c7eb0; font-weight: normal;">NAMN</span><br/>';
$message .= str_replace("\n", "<br />", ($_POST["name"]));
$message .= '<br/><br/>';
$message .= '<span style="font-family: Trebuchet MS; font-size: 16px; font-weight: bold; color: #4c7eb0; font-weight: normal;">MAIL</span><br/>';
$message .= str_replace("\n", "<br />", ($_POST["mail"]));
$message .= '<br/><br/>';
$message .= '<span style="font-family: Trebuchet MS; font-size: 16px; font-weight: bold; color: #4c7eb0; font-weight: normal;">TELEFONNUMMER</span><br/>';
$message .= str_replace("\n", "<br />", ($_POST["tele"]));
$message .= '<br/><br/>'; $message .= '<span style="font-family: Trebuchet MS; font-size: 16px; font-weight: bold; color: #4c7eb0; font-weight: normal;">STAD</span><br/>'; $message .= str_replace("\n", "<br />", ($_POST["city"])); $message .= '<br/><br/>';
$message .= '<span style="font-family: Trebuchet MS; font-size: 16px; font-weight: bold; color: #4c7eb0; font-weight: normal;">MEDDELANDE</span><br/>';
$message .= str_replace("\n", "<br />", ($_POST["message"]));
$message .= '</span>';
$message .= '</body></html>';
mail($ToEmail, $EmailSubject, $message, $mailheader) or die ("Meddelandet kunde inte skickas.");
非常感谢一些帮助!提前谢谢!
【问题讨论】:
-
工作验证“在哪里”? Javascript?在 PHP 中?如果是 javascript,则很容易绕过。
-
@MarcB 它在 Javascript 中。容易绕过吗?你能推荐任何好的验证吗?