2011-03-17 11 views
7

Chcę wysłać trochę html w treści e-mail, ale gmail nie interpretuje tag iframe z wideo youtube. Czy to z powodu naruszenia bezpieczeństwa, czy z innych powodów?wysłać iframe z youtube w treści e-mail

tutaj jest mój kod:

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 analizuje twoje wiadomości e-mail pod kątem łączy youtube i osadza je. – Peeter

+0

Większość klientów poczty e-mail nie zezwala na znaczniki iframe w wiadomościach e-mail ze względów bezpieczeństwa. – jpea

Odpowiedz

7

To ze względu na bezpieczeństwo, to z tego samego powodu nie można umieścić javascript lub czegokolwiek zewnętrznego innego niż obrazy w wiadomości e-mail albo - może dać e-mail zbyt dużo " moc'. (Możesz umieścić tam rzeczy, to nie będą wyświetlane). Niestety, oznacza to, że nie ma niezawodnej podpory flash.

W rzeczywistości większość czytników e-mail nie analizuje nawet prostych tagów lub arkuszy CSS z powodu braku obsługi. Powracam do tabel tylko po to, aby upewnić się, że wiadomość e-mail wygląda spójnie dla wszystkich różnych klientów poczty e-mail.

Twoja najlepsza/jedyna opcja to po prostu link do filmu, który się boję. Jak wspomniano powyżej, Gmail przeanalizuje linki do serwisu YouTube i utworzy je dla osób, które je mają.

+6

Nie wydaje mi się, że ludzie nie mogą wysyłać mi e-maili z wbudowanym Flash. – Quentin

+1

+1 w David Dorward - zgodził się, wcale nie jest smutny – jpea

+0

To nie jest prawda. Widziałem wiele e-maili, które dokładnie trafiają do mojego pudełka z obrazem/wideo/ładnym układem, środkowym prawym rogiem itd. A mój szef zawsze pokazuje mi ten przykład. (prawie lubię go zabijać, ponieważ jego tak anonimowe informacje nikt nie udostępnił). – YumYumYum

0

Wiele serwerów pocztowych nie pozwala na to ze względów bezpieczeństwa. Ale możesz wypróbować następujące rozwiązania.

Rozwiązanie 1:

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

Rozwiązanie 2:

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

Jednak w roztworze 2 trzeba poinformować odbiorcę do usunięcia miejsca z tagiem.

Powiązane problemy