我写了一个简单的PHP HTML电子邮件表单。这很好,它发送电子邮件,电子邮件没有被阻止。它的问题是只有某些邮件客户端正在接收电子邮件:Gmail可以使用它们,但是另一个电子邮件帐户(通过网络邮件客户端使用)并不是,我尝试的电子邮件应用程序也没有。它在添加X-Mailer
标题后似乎工作了一段时间,但随后再次停止;当收件人行故意格式化时,它也会短暂工作。
表格:
<form name="email" action="send.php" method="POST" id="mailform">
* From: <input type="text" name="from" required/><br/>
* To: <input type="text" name="to" required/><br/>
* Reply-To: <input type="text" name="reply" required/><br/>
Subject: <input type="text" name="subject" /><br/>
* Message:<br/>
<textarea name="email" rows="10" cols="100" id="message" required></textarea><br/>
<input type="button" name="convert" id="convert" value="Convert and Check" />
</form>
(&#39;转换和检查&#39;按钮就在那里,因为我使用Markdown格式化HTML电子邮件;该部分再次正常工作。一旦MD转换为HTML,它就会变为发送按钮。)
PHP:
$from = $_POST["from"];
$to = $_POST["to"];
$reply = $_POST["reply"];
$subject = $_POST["subject"];
$message = $_POST["email"];
$headers = "Content-Type: text/html" . "\r\n"
. "Reply-To: ".$reply . "\r\n"
. "From: ".$from . "\r\n"
. "X-Mailer: PHP/".phpversion() . "\r\n";
echo "<h3>Preview</h3><div class='content-container'>";
echo "<b>To:</b> ".htmlspecialchars($to)."<br/>";
echo "<b>Headers:</b> ".htmlspecialchars($headers)."<br/><hr/>";
echo "<div class='frame'>".$message."</div></div>";
echo "<br/><h3>Status</h3>";
$send = mail($to, $subject, $message, $headers);
if($send) {
echo "Your mail was successfully accepted for delivery.";
}
else {
echo "Sending of the email failed.";
}
有什么想法吗?它让我感到困惑 - 为什么只有一些客户会收到这个?
答案 0 :(得分:1)
因为大多数电子邮件提供商都阻止来自动态网址的电子邮件。