codeigniter 如何< iframe>在Gmail中显示标签

igetnqfo  于 2022-12-07  发布在  其他
关注(0)|答案(2)|浏览(108)

我使用codeigniter发送电子邮件...激活用户帐户后,它会发送另一封电子邮件以插入标记,但当用户收到该消息时,没有出现标记,但当我尝试使用其他元素(如或)时,它会呈现样式,但为什么没有?

$message = 'Congratulations! Use the script below to add your widget.<br>';
        $message .= "<iframe frameborder=\"0\" src=\"<?=base_url() ?>business/widget/{$id}\" height=\"320px;\" width=\"480px\" style=\"border: 1px solid #ccc;\"></iframe>";

        $this->email->message($message);    

        if($this->email->send())        
        { 
                         other code.... 
                    }
7ivaypg9

7ivaypg91#

Gmail和许多其他电子邮件客户端对您可以在HTML电子邮件中使用的HTML非常严格。
<iframe>是严格禁止的,因为它可能会将用户暴露在他们不期望的网站上,并且另一端的网站可能会记录有关用户的信息(如他们的IP地址)。
如果我是你,我会坚持使用超基本的HTML和CSS。把重点放在把信息传递给用户,并希望他们的客户端使信息看起来漂亮。总是提供一个链接,在其他地方查看完整的信息。

h9vpoimq

h9vpoimq2#

<iframe>不能在大多数电子邮件客户端中使用-无论是在应用程序中还是作为网站使用。由于以下原因之一,它们被删除:

  • 邮件/Web客户端可能无法呈现它,因此将其排除。
  • <iframe>可以用于钓鱼/恶意攻击,将恶意代码放入其他经过审查和安全的内容中(浏览器/客户端无法看到或扫描加载到iframe中的内容,它只是将其加载到DOM中)。

另一种方法(YouTube所做的)是,他们没有在iframe中嵌入一些东西(在他们的例子中,是一个视频),而是在<img>或缩略图周围包裹一个<a>,这给人的印象是你正在播放一个视频。当你点击它时,它所做的就是把你带到那个视频的URL。
如果你想在邮件中添加大量的代码,你可以手动写入。但是这会产生其他影响,因为一些其他标签是有限的/样式对邮件来说是一个很大的麻烦。AFAIK一些HTML5元素也会从邮件中剥离。
正如Orangepill所说,Campaign Monitor已经做了跑腿和provided a chart showing where iframes can be used。他们还建议远离iframe。
一个没有提到的解决方案是有一个图像,在底部有一个链接,上面写着 * 在网页中查看此消息 *,这将把用户带到一个<iframe>工作的页面。

相关问题