2016-10-26 38 views
1

我對PHP和編程不太好,但我仍然試圖以各種可能的方式學習它。我需要專家的幫助。我的代碼發送電子郵件如下。我可以發送電子郵件,但問題是,圖片沒有顯示在電子郵件正文中,並且顯示交叉符號。任何可能的想法和建議表示讚賞。在電子郵件正文中添加圖片

<?php 

function send_email($from, $to, $subject, $message){ 
$headers = "From: ".$from."\r\n"; 

$headers .= "Return-Path: ".$from."\r\n"; 
$headers .= "CC: [email protected]\r\n , [email protected]\r\n"; 
$headers .= "BCC: \r\n"; 
//set content type to HTML 
$headers .= "Content-type: text/html\r\n"; 

if (mail($to,$subject,$message,$headers)) 
{ 

header("location:contact-us.php?msg=msgsent"); 

} 
else 
{ 
header("location:contact-us.php?msg=notsent"); 
} 

} 
//Function ends here 
$from_email=""; 
$to_email="[email protected]"; 
$message.="<html><body background='images/bg11.jpg'>"; 
$message.="<p style=' color: #006789;'>Dear Team,</p> "; 
$message.= "<p style=' color: #006789;'>You have received a feedback from $name & below are the details!!! </p>"; 
$message.= "<img src=images/c22.jpg>"; 
$message.="</body></html> "; 
send_email(from_email,$to_email,$subject,$message); 
?> 

回答

2

您使用的是相對路徑:

<img src=images/c22.jpg> 

當你打開你的郵件,這條道路將意味着什麼郵件客戶端,這是極不可能的網絡郵件客戶端上存在。如果確實如此,這是不是你的圖片...

如果你有一個存儲網絡的服務器上的圖像,你應該使用絕對路徑,像:

<img src="http://www.your-server.com/images/c22.jpg"> 
+1

感謝哥哥它爲我工作。而且它也很容易。 – A1Nasir

0

您使用一個相對的鏈接,「images/c22.jpg」,但是你通過電子郵件發送這個HTML - 沒有相關鏈接的圖像/目錄。如果您想鏈接到網絡上的圖像,可以包含完整的網址(http://someplace.com/images/bg11.jpg「>)。默認情況下,通常不會顯示這些網址 - 大多數電子郵件閱讀器將過濾它們以便不讓它導致它加載遠程內容(打開電子郵件被打開,嘗試有趣的業務與不合格的圖像,等等)

您也可以通過設置圖像附加到電子郵件鍵入multipart/mixed並定義一個邊界,然後發送一個圖像,在它的頭文件中定義一個content-id,然後你的html鏈接到內容標識爲「cid:id-you-defined」。 :

Content-Type: multipart/mixed; boundary="NOTUSEDINTEXT" 
This text only shows if the reader can't deal with MIME 
--NOTUSEDINTEXT 
Content-Id: id_for_later 
Content-Type: image/jpeg 
Content-Transfer-Encoding: base64 

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcU 
FhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgo 
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAABAAEDASIA 
AhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAj/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFAEB 
AAAAAAAAAAAAAAAAAAAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AJUAB//Z 
--NOTUSEDINTEXT 
Content-Type: text/html 

<html><h1>Hi</h1><p>Here's an image <img src="cid:id_for_later"></html> 
--NOTUSEDINTEXT-- 

..但正如您所看到的那樣,可能想看看是否有一個php庫實現(mime頭文件和類型),而不是自己敲它們。但如果你想要處理它,自己插入它們也沒關係。而且,在這裏,除非您點擊了「始終顯示圖片」或其他內容,否則有些客戶會過濾它們以確保安全。

0

你要上傳的Web服務器上的圖像,並給該圖像e.g的絕對路徑:

<img src="http://www.yourwbesite.com/images/c22.jpg" alt="logo" /> 
相關問題