2009-05-12 6 views

Répondre

43

Après avoir fait quelques recherches et tests. La réponse est un non qualifié. Ce qui veut dire: vous pouvez le jeter là, mais vous ne devriez pas.

Il n'est pas strictement interdit par la RFC, mais DESCRIPTION n'est pas la propriété appropriée pour le contenu HTML. DESCRIPTION devrait être la version en texte brut de votre contenu. La propriété X-ALT-DESC avec une déclaration FMTTYPE de text/html est la propriété appropriée pour le contenu HTML.

L'exemple suivant a travaillé à la fois le calendrier Outlook et Gmail/Google, mais ne semble pas être pris en charge par Thunderbird (w/foudre): (. S'il vous plaît, pardonnez l'ouput il a été généré par Outlook)

X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//E 
    N">\n<HTML>\n<HEAD>\n<META NAME="Generator" CONTENT="MS Exchange Server ve 
    rsion 08.00.0681.000">\n<TITLE></TITLE>\n</HEAD>\n<BODY>\n<!-- Converted f 
    rom text/rtf format -->\n\n<P DIR=LTR><SPAN LANG="en-us"></SPAN><SPAN LANG 
    ="en-us"><FONT FACE="Calibri">Is this in HTML?</FONT></SPAN><SPAN LANG="en 
    -us"></SPAN><SPAN LANG="en-us"></SPAN></P>\n\n<P DIR=LTR><SPAN LANG="en-us 
    "><FONT FACE="Calibri">Bullets:</FONT></SPAN></P>\n\n<P DIR=LTR><SPAN LANG 
    ="en-us"><FONT FACE="Calibri">1.&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;</FONT> 
    </SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en- 
    us"></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"> <FONT FACE="Calib 
    ri">Test 1</FONT></SPAN></P>\n\n<P DIR=LTR><SPAN LANG="en-us"><FONT FACE=" 
    Calibri">2.&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;</FONT></SPAN><SPAN LANG="en 
    -us"> <FONT FACE="Calibri">Test 2</FONT></SPAN><SPAN LANG="en-us"></SPAN>< 
    SPAN LANG="en-us"></SPAN></P>\n\n<P DIR=LTR><SPAN LANG="en-us"></SPAN><SPA 
    N LANG="en-us"></SPAN><SPAN LANG="en-us"></SPAN></P>\n\n</BODY>\n</HTML> 

Comme tout rendu HTML dans un client de messagerie, les balises et styles pris en charge sont limités.

+1

Cette approche ne fonctionne pas dans Outlook 2003. J'ai ajouté du code HTML dans X-ALT-DESC, mais OL2003 continue d'afficher une description en texte brut. La même requête apparaît parfaitement bien dans OL2010. Une idée? – dotNET

+2

@dotNET vous utilisiez Outlook 2003 en 2012 ?? –

+2

@ GôTô: Je suis développeur (comme la plupart des visiteurs de SO) et je travaillais sur un projet client qui devait distribuer la solution à des utilisateurs qui utilisaient différentes versions d'Outlook allant d'OL2000 à OL2010. – dotNET

0

Je pense que c'est possible, selon le RFC, mais je doute que ce soit une bonne idée, car il semble être un peu un trou de sécurité.

2

HTML dans la description ne sera pas rendu au format HTML dans Outlook, au moins. Si vous souhaitez inclure du texte enrichi qu'Outlook reconnaîtra, exportez un événement de votre calendrier Outlook et examinez ce qu'il fait. Je crois qu'ils fournissent du texte brut dans la description, puis créent une autre propriété pour le HTML.

+0

Merci. Commencé w/Outlook a généré le fichier iCal et a été capable de trouver les champs appropriés et de tester avec quelques autres clients. – catalpa

1

Pour tous ceux qui se trouvent sur cette page comme je l'ai fait et qui cherchent à afficher spécifiquement du contenu HTML pour les événements Outlook, cela peut être fait avec l'e-mail étant multipart/alternative, par ex.

MIME-Version: 1.0 
Content-Type: multipart/alternative; boundary="_CAL_B598a1969806776.58663423_B_" 
To: "Your Name" <[email protected]> 
From: "John Doe" <[email protected]> 

--_CAL_B598a1969806776.58663423_B_ 
Content-Type: text/html; charset="iso - 8859 - 1" 
Content-Transfer-Encoding: quoted-printable 

<html><body> 
<h1>Hello World</h1> 
<p>This is a calendar event test</p> 
</body></html> 

--_CAL_B598a1969806776.58663423_B_ 
Content-Type: text/calendar; charset="utf - 8"; method=REQUEST 
Content-Transfer-Encoding: base64 

QkVHSU46VkNBTEVOREFSDQpNRVRIT0Q6UkVRVUVTVA0KUFJPRElEOi0vL1BIUC8vTWVl 
dGluZ1JlcXVlc3QvL0VODQpWRVJTSU9OOjIuMA0KQkVHSU46VkVWRU5UDQpPUkdBTkla 
RVI7Q049Sm9obiBEb2U6TUFJTFRPOmpvaG4uZG9lQGV4YW1wbGUuY29tDQpBVFRFTkRF 
RTtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD1U 
UlVFO0NOPVlvdXIgTmFtZTpNQUlMVE86eW91cm5hbWVAZXhhbXBsZS5jb20NCkRFU0NS 
SVBUSU9OOkhlbGxvIFdvcmxkIEV2ZW50DQpTVU1NQVJZOkhlbGxvIFdvcmxkIEV2ZW50 
DQpEVFNUQVJUOjIwMTcwODE1VDE5MDAwMFoNCkRURU5EOjIwMTcwODE1VDIwMDAwMFoN 
ClVJRDowMTIzNDU2Nzg5DQpDTEFTUzpQVUJMSUMNClBSSU9SSVRZOjUNCkRUU1RBTVA6 
MjAxNzA4MDhUMjAwNDU3Wg0KVFJBTlNQOk9QQVFVRQ0KU1RBVFVTOkNPTkZJUk1FRA0K 
U0VRVUVOQ0U6MA0KTE9DQVRJT046MTIzIEFueSBTdHJlZXQNCkJFR0lOOlZBTEFSTQ0K 
QUNUSU9OOkRJU1BMQVkNCkRFU0NSSVBUSU9OOlJFTUlOREVSDQpUUklHR0VSO1JFTEFU 
RUQ9U1RBUlQ6LVBUMTVNDQpFTkQ6VkFMQVJNDQpFTkQ6VkVWRU5UDQpFTkQ6VkNBTEVO 
REFS 

--_CAL_B598a1969806776.58663423_B_-- 

Si vous demandez, que l'encodage base64 se traduit par:

BEGIN:VCALENDAR 
METHOD:REQUEST 
PRODID:-//PHP//MeetingRequest//EN 
VERSION:2.0 
BEGIN:VEVENT 
ORGANIZER;CN=John Doe:MAILTO:[email protected] 
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=Your Name:MAILTO:[email protected] 
DESCRIPTION:Hello World Event 
SUMMARY:Hello World Event 
DTSTART:20170815T190000Z 
DTEND:20170815T200000Z 
UID:
CLASS:PUBLIC 
PRIORITY:5 
DTSTAMP:20170808T200457Z 
TRANSP:OPAQUE 
STATUS:CONFIRMED 
SEQUENCE:0 
LOCATION:123 Any Street 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:REMINDER 
TRIGGER;RELATED=START:-PT15M 
END:VALARM 
END:VEVENT 
END:VCALENDAR 
Questions connexes