簡體   English   中英

發送HTML郵件無法正常工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM