2011-03-17 26 views
7

我想在電子郵件正文中發送一些html,但gmail不會用youtube視頻解釋iframe標籤。是因爲安全違規還是其他原因?在電子郵件正文中發送帶有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(); 
+0

Gmail會解析您的電子郵件以獲取youtube鏈接並嵌入它們。 – Peeter 2011-03-17 12:58:27

+0

出於安全原因,大多數電子郵件客戶端不會允許在電子郵件中使用iframe標記 – jpea 2011-03-17 13:01:22

回答

7

這是因爲安全的,這是你不能把JavaScript或任何外部圖像以外在一封電子郵件中同樣的原因,無論是 - 它可以給郵件太多「功率'。 (你可以把東西放在那裏,它不會被顯示)。可悲的是,這意味着沒有可靠的閃存支持。

事實上,由於缺乏支持,大多數電子郵件閱讀器都不會解析簡單的標籤或CSS,我實際上還是使用了表格,以確保電子郵件在所有不同的電子郵件客戶端中看起來一致。

你最好的/唯一的選擇是隻鏈接到視頻恐怕。如上所述,Gmail會解析Youtube鏈接,並將其嵌入到啓用它的用戶中。

+6

我不覺得人們無法發送給我帶有嵌入式Flash的電子郵件,這一點讓人難過。 – Quentin 2011-03-17 13:05:07

+1

+1 David Davward - 同意,根本不難過 – jpea 2011-03-17 13:43:43

+0

這完全不是這樣。我看過很多電子郵件,這些電子郵件正好到達我的箱子裏,圖像/視頻/佈局合理,中心右上角等等。而我的老闆總是向我展示這些例子。 (我幾乎想殺了他,因爲它的匿名信息沒人分享)。 – YumYumYum 2011-09-23 08:23:53

0

由於安全原因,許多電子郵件服務器不會允許這樣做。但是您可以嘗試以下解決方案。

解決方案1:

$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,你需要告知接收機,用於從標籤中刪除空間。

相關問題