我使用php / Mail_mime使用下面的代码发送样式化的html内容。
$headers = array ('From' => $sender,
'To' => implode(',',$to),
'Subject' => $subject,
'Reply-To'=>'myemail@mydomain.com',
'MIME-Version'=>'1.0',
'Content-Type'=>'text/html'
);
/*end header*/
$this->mime = new Mail_mime();
$tt=$this->mime;
$tt->addBcc(implode(',',$bcc));
$tt->addCc(implode(',',$cc));
$tt->setTXTBody($text);
$tt->setHTMLBody($body);
$tt->addHTMLImage('../images/delete.gif');
// $tt->addAttachment('../images/delete.gif','image/gif');
$mime_body = $tt->get();
$mime_hdrs = $tt->headers($headers);
$smtp = Mail::factory('smtp',
array ('host' => $this->host,
'port' => $this->port,
'auth' => false,
'username' => $this->username,
'password' => $this->password));
$recipients=array_merge($to,$cc,$bcc);
$mail = $smtp->send($recipients, $mime_hdrs, $mime_body);
这是一个类代码,因此初始化是在构造函数上完成的,这里没有发布。
现在我的问题是,虽然上面的代码工作正常,但我没有在发送的电子邮件中看到正确的样式。
例如,如果我将此作为我的电子邮件的邮件正文:
<div style="background-color:silver;">
<h1>
我的标题</h1>
</div>
在我的电子邮件中,我只能看到我的标题。背景并没有显示为白银。
我在上面的代码中遗漏了什么。有什么帮助吗?
答案 0 :(得分:0)
您使用的电子邮件提供商很可能不允许在电子邮件中使用HTML代码,或者它会限制允许的HTML代码中的CSS样式。您使用的是哪个电子邮件提供商?
您可能希望通过向gmail.com电子邮件地址发送电子邮件进行测试,该电子邮件地址允许使用HTML代码,并查看它是否有任何区别。
测试的另一件事是做一个视图源,或者如果你在firefox中使用谷歌浏览器或firebug,检查元素,看看html代码是否放在应该的位置。