2011-03-17 46 views
7

tôi muốn gửi một số html trong nội dung email, nhưng gmail không giải thích thẻ iframe bằng video youtube. Có phải vì vi phạm bảo mật hoặc các lý do khác không?gửi iframe với youtube trong nội dung email

đây là mã của tôi:

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 phân tích cú pháp e-mail của bạn cho liên kết youtube và nhúng chúng. – Peeter

+0

hầu hết các ứng dụng email sẽ không cho phép thẻ iframe trong email vì lý do bảo mật – jpea

Trả lời

7

Đó là vì an ninh, đó là lý do mà bạn không thể đặt javascript hoặc bất cứ điều gì ngoại trừ hình ảnh trong một email hoặc - nó có thể cung cấp cho các email quá nhiều ' quyền lực'. (Bạn có thể đặt công cụ ở đó, nó sẽ không được hiển thị). Đáng buồn thay, điều này có nghĩa là không có hỗ trợ flash đáng tin cậy flash. Trên thực tế, hầu hết các trình đọc email sẽ không phân tích ngay cả thẻ đơn giản hoặc CSS vì thiếu hỗ trợ, tôi thực sự hoàn nguyên về bảng để đảm bảo rằng email có vẻ nhất quán trên tất cả các ứng dụng email khác nhau trên mạng.

Tùy chọn tốt nhất/duy nhất của bạn là chỉ liên kết tới video mà tôi sợ. Như đã đề cập ở trên, Gmail sẽ phân tích cú pháp các liên kết Youtube và thực sự nhúng chúng cho những người đã bật nó.

+6

Tôi không thấy tất cả mọi người buồn vì mọi người không thể gửi email cho tôi bằng Flash được nhúng. – Quentin

+1

+1 tại David Dorward - đã đồng ý, không buồn chút nào – jpea

+0

Điều này hoàn toàn không đúng. Tôi đã thấy nhiều email chính xác đến trong hộp của tôi với hình ảnh/video/bố trí độc đáo, trung tâm góc bên phải vv Và ông chủ của tôi luôn luôn cho tôi thấy những ví dụ. (Tôi gần như muốn giết anh ta, bởi vì thông tin vô danh của nó không ai được chia sẻ). – YumYumYum

0

Nhiều máy chủ email sẽ không cho phép điều này vì lý do bảo mật. Nhưng bạn có thể thử các giải pháp sau đây.

Giải pháp 1:

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

Giải pháp 2:

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

Tuy nhiên, trong dung dịch 2 bạn cần phải thông báo cho người nhận để loại bỏ không gian từ một thẻ.

Các vấn đề liên quan