[英]Sending HTML mail not working
我正在使用PHP mail()發送一個非常簡單的HTML消息。 目的是發送包含用戶電子郵件地址和驗證碼的鏈接。 當用戶單擊該鏈接時,該站點將收到電子郵件地址和代碼,以驗證用戶的電子郵件地址是否准確。
首先,當它只是HTML / BODY標簽,標題和驗證電子郵件鏈接時,它起作用了。 我在調試驗證過程時多次發送了電子郵件。 然后我做了我認為是微小變化的東西,它就退出了工作。 如圖所示,微小的變化被注釋掉了。 我添加了一個圖像和幾行文字。
它不再發送電子郵件了,我沒有收到任何警告或錯誤。 我刪除了圖像,額外的文本,並注釋了添加鏈接,但它仍然無法正常工作。 誰能看到我做錯了什么? (我改名以保護無辜者。)
function sendEmail($email, $code) {
$email = str_replace("@","%40",$email);
$to = $email;
$subject = 'Email Verification';
$headers = "From: " . strip_tags('someone@somewhere.com') . "\r\n";
$headers .= "CC: \r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = "<html><body>\r\n";
$message .= "<h2>Thank you!</h2>\r\n";
//$message .= '<img src="http://www.mytestwebsite.com/images/logo.png"><br>';
//$message .= 'Thank you for registering an account with us. ';
//$message .= 'Please verify your email address by clicking the button below.<br>';
//$message .= '<a href="http://www.mytestwebsite.com/verifyemail.php?email='.$email.'&code='.$code.'">Verify Email</a>';
$message .= "</body></html>\r\n";
$message = wordwrap($message, 70, "\r\n");
mail($to, $subject, $message, $headers);
}
如何找出我的設置有什么問題? 是否有一個網站會在我的代碼中顯示錯誤?
謝謝你的幫助! SH
似乎阻止您發送電子郵件的唯一事情是:
$email = str_replace("@","%40",$email);
因為您要將其發送到示例%40hostname.com
還要檢查是否發送電子郵件:
if(@mail($to, $subject, $message, $headers))
{
echo "Mail Sent Successfully";
}else{
echo "Mail Not Sent";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.