簡體   English   中英

使用PHP在HTML電子郵件中顯示圖像

[英]Display image in html e-mail with php

我已經閱讀了一些有關此的主題,已經嘗試了許多主題,但是到目前為止,它們都沒有起作用。 因此,我有點不知所措,在電子郵件中顯示這些圖像非常重要。

這是我的代碼的簡化版:

require_once("class.phpmailer.php");
$body = '
    <body style="margin: 10px auto;">
            <table width="100%">
                <tr>
                    <td width="360">
                        <img src="cid:trip_2" alt="trip_2">
                        <!--<img src="trip_2.png" alt="trip_2">-->
                    </td>
                </tr>
            </table>
            <table width="100%">
                <tr>
                    <td align="right" width="360">
                        <img src="cid:pic" alt="pic">
                        <!--<img src="pic.png" alt="pic">-->
                    </td>
                </tr>
            </table>
            <table width="100%">
                <tr>
                    <td width="360">
                        <img src="cid:pub" alt="pub">
                        <!--<img src="pub.png" alt="pub">-->
                    </td>
                </tr>
            </table>
        </div>
    </body>';

    $mail = new PHPMailer();

    $mail->Host       = "smtp.gmail.com";
    $mail->Port       = 25;
    $mail->Username   = "*****";
    $mail->Password   = '*****'

    $mail->IsHTML(true);
    $mail->Subject = "Please appear";
    $mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
    $mail->SetFrom("example@example.com","Example");
    $mail->AddReplyTo("example@example.com","Example");
    $mail->AddAddress("example@example.com", "Example");

    $mail->AddEmbeddedImage("trip_2.png", "trip_2","trip_2.png");
    //$mail->AddAttachment("trip_2.png");
    $mail->AddEmbeddedImage("pic.png", "pic","pic.png");
    //$mail->AddAttachment("pic.png");
    $mail->AddEmbeddedImage("pub.png", "pub","pub.png");
    //$mail->AddAttachment("pub.png");
    $mail->MsgHTML($body);

    $mail->Send();

我要實現的是默認情況下在電子郵件中顯示這3張圖像。 因此,用戶不必單擊“顯示來自此地址的圖像”或類似內容。 因為沒有圖像,電子郵件將有點空,並且我們需要電子郵件中的某種樣式。

對不起,我的語法專家們,謝謝您的寶貴時間。

標記

在gmail中: 如果沒有用戶批准您的圖像,就無法做到 這是一種反垃圾郵件/反跟蹤技術,默認情況下必須關閉才能起作用。

您可以使Gmail通過對發送的電子郵件進行身份驗證來顯示圖像(嵌入內容中)。 您只需確保您具有正確的SPF記錄,並且1024位DKIM對消息進行了簽名。 然后gmail顯示內容中的嵌入圖像。

這不是代碼中的限制。 限制在於用戶的電子郵件客戶端。 如果用戶自己未單擊“自動顯示來自該發件人的圖像”或類似內容,則無法繞過此操作。

自2013年12月起,Gmail現在默認顯示嵌入式圖像

用戶仍然可以關閉它

我之前也遇到過同樣的問題,這就是我如何解決的問題。 我對圖像使用了相同的操作(AddEmbeddedImage + cid:name),但是,當添加

require("PHPMailer_5.2.0/PHPMailerAutoload.php");

它不僅可以上課,而且可以工作。

希望能有所幫助。

暫無
暫無

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

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