我正在使用PEAR发送带有smtp身份验证的电子邮件。
目前,我将带有格式的电子邮件存储在数据库中,然后从那里发送出去。电子邮件发送完美。但电子邮件正文没有格式化。相反,它正在采取数据库中的任何内容,并将其直接用作纯文本而不是HTML格式的文本。
无论如何都有解决这个问题的方法吗?
function sendmail($from,$to,$subject,$body,$host,$username,$password){
$headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject);
$smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username, 'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo "<p>" . $mail->getMessage() . "</p>";
} else {
echo "<p>Message successfully sent!</p>";
}
}
现在$body
= <p> Lets make this an epic test mail. and see what happens?</p>
所以它应该删除标记,然后将其放入电子邮件中。
但我收到的电子邮件的文字为<p> Lets make this an epic test mail. and see what happens?</p>
答案 0 :(得分:1)
如果你想要HTML电子邮件,那么你需要添加标题:
'Content-type' => 'text/html;charset=iso-8859-1'
你的字符集可能会有所不同