我送使用PEAR的郵件和mail_mime包和下面的示例代碼郵件:點S是缺少在這裏和那裏的郵件的HTML在發送PEAR Mail_Mime電子郵件
$sendStart=array();
require_once('Mail.php');
require_once('Mail/mime.php');
$sendStart['mail'] =& Mail::factory('mail');
$sendStart['mime'] = new Mail_mime("\n");
$sendStart['mime']->setHTMLBody($html);
$sendStart['headers']['Subject']=$title;
$sendStart['headers']['X-SMTPAPI']='{"category": ["MailID-XXX"]}';
$body=$sendStart['mime']->get(array(
'html_charset'=>'UTF-8',
'text_charset'=>'UTF-8',
'head_charset'=>'UTF-8'
));
//echo ($sendStart['mime']->_htmlbody); exit;
$sendStart['mail']->send('[email protected]',$sendStart['mime']->headers($sendStart['headers']),$body);
我面臨着一個通過此代碼發送郵件時出現的奇怪問題。我在電子郵件正文內有圖片,有時圖片不顯示。當我調試該問題時,我發現圖像url中缺少.
。但是如果我在發送行之前打印郵件(正如我在代碼中註釋的那樣),它會完美地打印圖像。
正確的圖片網址:http://www.domain.com/image.png
在郵件:http://www.domaincom/image.png
或http://www.domain.com/imagepng
...等,它具有圖像下面的HTML代碼
部分:
<table cellpadding="0" cellspacing="0" border="0" class="image-table image-2" align="center" style="float:none;margin-left:auto;margin-right:auto;text-align:left;">
<tbody>
<tr>
<td class="element" style="text-align: left;height: auto;overflow: hidden;-webkit-text-size-adjust: none;">
<!--[if gte mso 9]><img alt="Placeholder Image" src="http://www.domain.com/image.png" style="outline: none; text-decoration: none; display: block; clear: none; float: none; margin-left: auto; margin-right: auto;display:none; mso-hide: none;" align="center" width="394"><![endif]--><![if !mso]><!-- --><img alt="Placeholder Image" src="http://www.domain.com/image.png" style="outline: none;text-decoration: none;display: block;clear: none;float: none;width: 100%;height: auto;max-width: 394px;margin-left: auto;margin-right: auto;*width: 394px;-ms-interpolation-mode: bicubic;" align="center"><!--<![endif]-->
</td>
</tr>
</tbody>
</table>
而很奇怪的是,它在Outlook中正確顯示,但在其他客戶端中卻沒有顯示,因爲Outlook中有單獨的代碼(按照代碼)。
有沒有人有任何想法如何調試問題或對這個問題的任何評論。
編輯:
這個問題是沒有與任何特定的標籤做的(雖然我使用圖像標記解釋),我體驗到它在幾個地方,如樣式。
例如:line-heigth:1.5;
是原來的,它在發送時更改爲line-heigth:15;
。
基本上它只是在電子郵件HTML中刪除.
這裏&那裏。
什麼是'$ html'和'$ body'的價值? –
其實它的一點點大的html模板,我不能放在問題裏面,雖然我會用相關的圖像部分編輯它,@DaveChen請檢查編輯的問題 –
有趣的...你發送不同的電子郵件爲MS-Outlook?您如何事先知道接收器使用哪種電子郵件客戶端? – arkascha