【发布时间】:2011-06-25 20:26:28
【问题描述】:
我正在尝试使用 Codeigniter 的 email class 发送 HTML 电子邮件。我就是这样做的:
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'a@a.com',
'smtp_pass' => 'password',
'mailtype' => 'html',
'charset' => 'iso-8859-1'
);
$this->load->library('email', $config);
$this->email->from('b@b.com', 'Me');
$this->email->to($email);
$this->email->subject($subject);
$this->email->message($html);
$this->email->set_newline("\r\n");
if($this->email->send()){
return true;
}else{
return false;
}
但是,当我在 Gmail 或 Outlook 中查看电子邮件时,我看到一堆 HTML 以文本形式出现在电子邮件顶部,而电子邮件的其余部分正常显示。
Here 是我发送的 HTML,它是我发现用来测试的模板。第 1 到 19 行显示为普通文本,不呈现。
This is 电子邮件的外观。
为什么会这样?
【问题讨论】:
-
我只是想到了一些事情。当我通过他们发送时,这可能是一个 GMail 问题吗?如果是这样,我该如何克服?
-
@Alex - 你是什么意思?我已将
mailtype设置为html。 -
@Abs -
$html的内容是如何创建的? -
@abs 这可能是 gmail 中的问题,也许。您是否尝试过通过您的服务器或其他电子邮件服务发送它?
-
@Abs - 看起来您的
$html变量的内容已被放入htmlentities或其他一些函数。例如,您粘贴的信息应该是“$html 变量的代码吗?
标签: php html email codeigniter