Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在电子邮件正文中使用youtube发送iframe_Php_Codeigniter - Fatal编程技术网

Php 在电子邮件正文中使用youtube发送iframe

Php 在电子邮件正文中使用youtube发送iframe,php,codeigniter,Php,Codeigniter,我想在邮件正文中发送一些html,但gmail不会用youtube视频解释iframe标记。是因为违反安全规定还是其他原因 这是我的密码: this->load->library('email'); $config['mailtype'] = 'html'; $config['wordwrap'] = TRUE; $this->email->initialize($config); $this->emai

我想在邮件正文中发送一些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();
this->load->library('email');
$config['mailtype']='html';
$config['wordwrap']=TRUE;
$this->email->initialize($config);
$this->email->from(“”,'Alega');
$this->email->to(“”);
$this->email->subject('email Test');
$this->email->message(“”);
$this->email->send();

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

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


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

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

解决方案1:

    $var = html_escape('<iframe title="YouTube video player" width="480" height="390" src="<url>" frameborder="0" allowfullscreen></iframe>');
    $this->email->message($var);
$var=html\u转义(“”);
$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>');
$this->email->message(“”);

然而,在解决方案2中,你需要通知接收者删除标签上的空间。

Gmail会解析你的电子邮件中的youtube链接并将其嵌入。出于安全原因,大多数电子邮件客户端不允许在电子邮件中使用iframe标签。人们不能用嵌入的Flash向我发送电子邮件,这并不令人难过。这完全是不正确的。我看到很多邮件都准确地寄到我的邮箱里,上面有图像/视频/漂亮的布局,右中角等等。我的老板总是给我举这些例子。(我几乎想杀了他,因为它的匿名信息无人共享)。像Gmail这样的客户端会自动嵌入Youtube视频,但相信我,95%的电子邮件客户端不会。