使用PHP
我送HTML電子郵件。我想在HTML中使用嵌入式圖像。可能嗎?我嘗試了很多不同的方法,但都沒有工作。有人能幫我嗎?
感謝
使用PHP
我送HTML電子郵件。我想在HTML中使用嵌入式圖像。可能嗎?我嘗試了很多不同的方法,但都沒有工作。有人能幫我嗎?
感謝
您需要在您的映像所在 例如提供對整個URL:
<img src='http://www.mydomain.com/imagefolder/image.jpg' alt='my-image' width='' height=''>
這是不是真的微不足道,但與一對夫婦嘗試可行的。
首先,瞭解如何構建多部分電子郵件,並附上正確的圖像。如果你不能附加圖片,他們顯然不會在電子郵件中。確保將類型設置爲multipart/related
。
其次,瞭解如何設置cid引用,特別是附件的Content-ID
標頭。
第三,把它們粘在一起。
在每一個步驟,請執行下列操作:
這是一種獲取字符串變量,而不必擔心編碼。
如果您有Mozilla Thunderbird,您可以使用它來爲您獲取html圖像代碼。
我寫到這裏一個小教程,完成截圖(它是PowerShell的,但不要緊,這一點):
powershell email with html picture showing red x
並再次:
我發現通過電子郵件發送圖像的最佳方式是使用base64對其進行編碼。
有關於這個鏈接和教程負荷,但這裏是這個代碼笨應該足夠了:
/* Load email library and file helper */
$this->load->library('email');
$this->load->helper('file');
$this->email->from('[email protected]', 'Who Ever'); // Who the email is from
$this->email->to('[email protected]'); // Who the email is to
$image = "path/to/image"; // image path
$fileExt = get_mime_by_extension($image); // <- what the file helper is used for (to get the mime type)
$this->email->message('<img src="data:'.$fileExt.';base64,'.base64_encode(file_get_contents($image)).'" alt="Test Image" />'); // Get the content of the file, and base64 encode it
if(! $this->email->send()) {
// Error message here
} else {
// Message sent
}
我想這一個http://www.phpeveryday.com/articles/PHP-Email-Using -Embedded-Images-in-HTML-Email-P113.html – 2012-01-14 12:42:19
@BenSwinburne:無法發送郵件 – 2012-01-14 12:44:12
@phpcochin:請勿自行編寫所有代碼。獲取一些處理構建多部分/ MIME電子郵件並支持文件附件的PHP類。它會讓你的生活變得更容易,可能會節省你的工作時間。 – ThiefMaster 2012-01-14 12:48:44