簡體   English   中英

PHP電子郵件代碼不以HTML格式發送電子郵件

[英]PHP Email Code not sending emails in HTML Format

對不起,有人可以幫忙嗎?

我們有一些 PHP 代碼,它通過電子郵件發送給在我們的網站上詢問我們服務的人。 用於將標准電子郵件響應返回給 HTML 格式的詢問者的電子郵件。 但是在 2020 年 6 月的某個時候,雖然我們看不到任何更改,但電子郵件開始發送,沒有 HTML 格式,並且基本上顯示了 HTML 代碼。

下面是創建電子郵件的 PHP 代碼部分,但我看不出有什么問題。 因此,如果下面的代碼沒有問題,什么會導致代碼突然中斷並更改以 HTML 格式工作的響應電子郵件,以開始作為 HTML 代碼發送? (或者我看不到的代碼有問題嗎?)

任何幫助、指示或想法將不勝感激。

    $email_from = 'example@example.co.uk';//<== update the email address
        $email_subject = "Thank You for making enquiry";
        $email_body = '<!DOCTYPE html>
                <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
                <link href="https://fonts.googleapis.com/css?family=Crimson+Text" rel="stylesheet">
                <html>
                <head>
                    <title></title>
                </head>
                    <body>
                        EMAIL CONTENT WILL GO HERE!
                    </body>
                </html>';
    
        $to = $EnquiryEmailAddress;//<== update the email address
        // Always set content-type when sending HTML email
        $headers = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type:text/html;charset=ISO-8859-1' . "\r\n";
    
        $headers .= "From: $email_from \r\n";
        $headers .= "Reply-To: $email_from \r\n";
    
        mail($to,$email_subject,$email_body,$headers); 

此代碼依賴於服務器出站電子郵件是否正確設置。 有一個用 PHP 構建的電子郵件處理器,稱為 PHPMailer。 我鼓勵你看看那個包,它會對你有很大幫助。 你可以在這里閱讀: https : //github.com/PHPMailer/PHPMailer

其次,我建議您使用 UTF-8 編碼您的電子郵件,而不是使用 ISO-8859-1(如果可能)。

此外,如果您在呈現網頁時運行郵件發送命令,郵件發送命令可能需要一些時間。 一個好的方法是在用戶不等待網頁呈現時批量發送電子郵件。 這可以通過(例如)將所有出站電子郵件存儲在數據庫表中並讓批處理程序處理該表並按順序發送電子郵件來完成。

最后,正如對您的問題的評論中提到的:請注意電子郵件中的 HTML 非常有限,因此在構建電子郵件 HTML 時必須小心。

祝你好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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