如何向Gmail发送<iframe>标签

use*_*326 7 html css php html5 codeigniter

我使用codeigniter发送电子邮件...激活用户帐户后,它会发送另一封电子邮件来插入标签,但是当用户收到消息时,没有标签出现,但是当我尝试使用其他元素时,或者呈现样式但是怎么样没有T'

        $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.... 
                    }
Run Code Online (Sandbox Code Playgroud)

Jar*_*red 14

Gmail和许多其他电子邮件客户端对HTML电子邮件中可以使用的HTML非常严格.

<iframe>严格限制,因为它可以将用户暴露给他们不期望的网站,而另一端的网站可以记录有关用户的信息(例如他们的IP地址).出于类似原因阻止图像.

如果我是你,我会坚持使用超级基本的HTML和CSS.专注于向用户传达消息,并希望他们的客户使消息看起来很漂亮.始终提供链接以在其他位置查看完整消息.


egg*_*ggy 6

<iframe>s不能在大多数电子邮件客户端中使用 - 无论是在应用程序中还是在网站中.它们要么被剥离,原因有以下几种:

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

另一种选择(YouTube所做的)不是在iframe中嵌入某些东西(在他们的情况下是视频),而是包含<a>一个<img>或缩略图,这给人的印象是你正在播放视频.当你点击它时它所做的就是它带你到那个视频的URL.

如果您尝试将大量代码放入电子邮件中,则可以手动将其写入.但是这会产生其他影响,因为其他一些标签受限/样式可能是电子邮件的一大麻烦.AFAIK也会从电子邮件中删除一些HTML5元素.

正如Orangepill所说,Campaign Monitor已经做好了工作,并提供了一个图表,显示了iframe的使用位置.他们还建议远离iframe.

未提及的解决方案是拥有一个图像,底部有一个链接,表示在网页中查看此消息,该网页将用户带到<iframe>工作页面.