首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么HTML邮件的一部分以文本形式出现在电子邮件客户端?

问为什么HTML邮件的一部分以文本形式出现在电子邮件客户端?
EN

Stack Overflow用户
提问于 2011-06-25 20:26:28
回答 2查看 968关注 0票数 2

我试图用Codeigniter的电子邮件类发送HTML电子邮件。我就是这样做的:

代码语言:javascript
复制
    $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显示在电子邮件的顶部,其余的邮件将正常显示。

这里是我要发送的HTML,它是我找到的一个测试模板。第1至第19行显示为普通文本,未呈现。

这是电子邮件的外观。

为什么是这种情况?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-25 23:25:30

作为我们在问题评论中对话的总结,问题似乎是$html变量的内容。该变量包含实体编码的HTML。通过html_entity_decode运行它解决了这个问题。

票数 2
EN

Stack Overflow用户

发布于 2011-06-25 21:49:29

未呈现的HTML代码似乎是模板的标题。也许Gmail将只显示标记body中的代码,因为Gmail是一个web应用程序,因此它显示在已经包含头和正文(<html><head><body>)的网页中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6480315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档