[英]PHP Mail Script not sending mail
我正在使用一個簡單的聯系表單,並且php腳本未向我的電子郵件發送電子郵件...該腳本成功運行,並且產生了以下代碼中所示的HTML輸出。 我試圖弄清楚,但我無法接收它來發送電子郵件。 我看過教程,似乎與許多教程具有相同的代碼。 我正在使用一個表單來在此處顯示用戶的輸入,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Dummy Code - Contact</title>
</head>
<body>
<form action="send_simpleform.php" method="post">
<p>Your name<br />
<input name="sender_name" type="text" size="30" /></p>
<p>Email<br />
<input name="sender_email" type="text" size="30" /></p>
<p>Message<br />
<textarea name="message" cols="30" rows="5"></textarea></p>
<input name="submit" type="submit" value="Submit" />
</form>
</body>
</html>
我的PHP腳本也可以在這里看到,
<?php
$msg = "Email sent from www.dummycode.com\n";
$msg .= "Sender's Name:\t $_POST[sender_name]\n";
$msg .= "Sender's E-mail:\t $_POST[sender_email]\n";
$msg .= "Sender's Message:\t $_POST[message]\n";
$to = "henry.harris@xxxxxxxxxxx.com";
$subject = "DummyCode.com";
$headers = "From: My web site <www.dummycode.com>\n";
$headers .= "Reply to: $_POST[sender_email]\n";
mail($to, $subject, $msg, $headers);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Dummy Code Contact Sent</title>
</head>
<body>
<h1>The following email has been sent</h1>
<p>Your Name:<br />
<? echo "$_POST[sender_name]"; ?>
<p>Your Email Adress:<br />
<? echo "$_POST[sender_email]"; ?>
<p>Message:<br />
<? echo "$_POST[message]"; ?>
</p>
</body>
</html>
我知道我對此非常了解,如果這對我來說是一個愚蠢的錯誤,那么對不起。 我真笨。 提前致謝。 請不要討厭。
-亨利
您在腳本中唯一可以做的就是檢查mail()
函數的返回值。
如果為true
,則表示郵件已成功接受傳遞 。 但是,這並不意味着該消息實際上已經發送。
簡單的例子:
if (mail(...))
{
// mail was accepted for delivery
}
else
{
// not accepted
}
您應該看看swiftmailer 。 設置快速,簡單,並且文檔齊全。 錯誤處理是一流的!
好吧,我遇到了一些情況,好像郵件已經發送了,但在發送至的收件箱中卻看不到。 所以這是我要做的幾件事:
我一次拿一個,通常做對了才發郵件。 在您的代碼中,嘗試調整這些行並進行測試:
$headers = "From: My web site <www.dummycode.com>\n"; //Same as originating domain or email (just for tweaks)
$headers .= "Reply to: $_POST[sender_email]\n"; //Should be same as sender's email for a try
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.