【问题标题】:send iframe with youtube in email body在电子邮件正文中使用 youtube 发送 iframe
【发布时间】:2011-03-17 12:56:27
【问题描述】:

我想在电子邮件正文中发送一些 html,但 gmail 不使用 youtube 视频解释 iframe 标记。是因为安全违规还是其他原因?

这是我的代码:

    this->load->library('email');       
    $config['mailtype'] = 'html';
    $config['wordwrap'] = TRUE;
    $this->email->initialize($config);
        $this->email->from('<email>', 'Alega');
        $this->email->to('<email>'); 
        $this->email->subject('Email Test');
        $this->email->message('<iframe title="YouTube video player" width="480" height="390" src="<url>" frameborder="0" allowfullscreen></iframe>');   

            $this->email->send();

【问题讨论】:

  • Gmail 会解析您的电子邮件中的 youtube 链接并将其嵌入。
  • 出于安全原因,大多数电子邮件客户端不允许在电子邮件中使用 iframe 标记

标签: php codeigniter


【解决方案1】:

这是出于安全考虑,这与您不能在电子邮件中放置 javascript 或除图像以外的任何外部内容相同的原因 - 它可能会给电子邮件带来过多的“权力”。 (你可以把东西放在那里,它不会显示)。遗憾的是,这也意味着没有可靠的闪存支持。

事实上,由于缺乏支持,大多数电子邮件阅读器甚至不会解析简单的标签或 CSS,我实际上恢复到表格只是为了确保电子邮件在所有不同的电子邮件客户端中看起来一致。

恐怕您最好/唯一的选择是链接到视频。如上所述,Gmail 将解析 Youtube 链接并将其嵌入到启用它的用户。

【讨论】:

  • 人们无法向我发送带有嵌入式 Flash 的电子邮件,这并不令人难过。
  • 这完全不正确。我已经看到很多电子邮件准确地到达我的邮箱,图片/视频/布局精美,右上角等。我的老板总是给我看这些例子。 (我几乎想杀了他,因为它是如此匿名的信息,没人分享)。
  • Gmail 等客户端会自动嵌入 Youtube 视频,但相信我,95% 的电子邮件客户端不会。
【解决方案2】:

出于安全原因,许多电子邮件服务器不允许这样做。但您可以尝试以下这些解决方案。

解决方案一:

    $var = html_escape('<iframe title="YouTube video player" width="480" height="390" src="<url>" frameborder="0" allowfullscreen></iframe>');
    $this->email->message($var);

解决方案 2:

$this->email->message('<&nbs;iframe title="YouTube video player" width="480" height="390" src="<url>" frameborder="0" allowfullscreen><&nbs;/iframe>');

但是,在解决方案 2 中,您需要通知接收方从标签中删除空格。

【讨论】:

    猜你喜欢
    • 2012-09-20
    • 2017-01-16
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-11
    • 2011-08-07
    • 1970-01-01
    • 2013-02-10
    相关资源
    最近更新 更多