我使用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('xxx@example.com',$sendStart['mime']->headers($sendStart['headers']),$body);
通过这段代码发送邮件时,我面临着一个奇怪的问题.电子邮件正文中有图像,有时图像不显示.当我调试问题时,我发现.在图像网址中缺少.但是如果我在发送行之前打印邮件(正如我在代码中注释的那样),它将完美地打印图像.
正确的图片网址:http://www.domain.com/image.png
在邮件:http://www.domaincom/image.png或http://www.domain.com/imagepng …等
具有以下图像的HTML代码的一部分:
|
而且非常奇怪的是它在Outlook中正常显示,但在其他客户端中显示不正确,因为outlook我有单独的代码(根据代码).
有人有任何想法如何调试问题或任何关于这个问题的评论.
编辑:
这个问题与任何特定的标签无关(虽然我使用图像标签来解释),我在几个地方体验到,如风格.
例如:line-heigth:1.5;是原来的,它变化为线 – 高:15;同时发送.
基本上它只是删除.这里&那里有电子邮件HTML.