[英]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顯示內容中的嵌入圖像。
這不是代碼中的限制。 限制在於用戶的電子郵件客戶端。 如果用戶自己未單擊“自動顯示來自該發件人的圖像”或類似內容,則無法繞過此操作。
我之前也遇到過同樣的問題,這就是我如何解決的問題。 我對圖像使用了相同的操作(AddEmbeddedImage + cid:name),但是,當添加
require("PHPMailer_5.2.0/PHPMailerAutoload.php");
它不僅可以上課,而且可以工作。
希望能有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.