[英]php embed image broken
嗨,我正嘗試將圖像嵌入電子郵件中,這是我的PHP代碼:
$mail1->SMTPDebug = 2;
$mail1->isSMTP();
$mail1->Host = 'smtp.gmail.com';
$mail1->SMTPAuth = true;
$mail1->Username = 'email@gmail.com';
$mail1->Password = 'password';
$mail1->SMTPSecure = 'tls';
$mail1->Port = 587;
$mail1->setFrom('auto-reply@email.ca', '123');
$mail1->addAddress('email@gmail.com');
$mail1->isHTML(true);
$mail1->Subject = 'Thanks For Reaching us!';
$mail1->Body = '
<p> This is a test picture <img src="img/logo.png"/> </p>
' ;
$mail1->send();
exit;
當我在本地主機上運行此代碼時,電子郵件會顯示文本,但帶有破損的圖像,並且我已經嘗試了所有方法,包括
$mail1->AddEmbeddedImage('img\logo.png', "two", "logo.png");
但是,它根本不顯示圖像,有人知道如何解決此問題嗎?
這將失敗,因為它是相對路徑,並且電子郵件沒有相對的基本URL(並且這不是您定位嵌入式圖像的方式),因此它將不起作用。
$mail1->Body = '<p>This is a test picture <img src="img/logo.png"/></p>';
改為這樣做:
$mail1->Body = '<p>This is a test picture <img src="cid:two"/></p>';
然后它將與:
$mail1->AddEmbeddedImage('img\logo.png', "two", "logo.png");
因為cid
值匹配。 值得使用絕對路徑來確定要從何處加載,並且可以檢查調用的返回值以確保它能夠讀取文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.