代码之家  ›  专栏  ›  技术社区  ›  catalpa

iCal附件中的HTML

  •  42
  • catalpa  · 技术社区  · 17 年前

    4 回复  |  直到 17 年前
        1
  •  46
  •   catalpa    17 年前

    在做了一些研究和测试之后。答案是否定的。意思是:你可以把它扔进去,但你不应该。

    RFC并没有严格禁止它,但DESCRIPTION不是HTML内容的适当属性。

    以下示例在Outlook和Gmail/Google日历中都有效,但Thunderbird(带Lightning)似乎不支持:(请原谅输出。它是由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>
    

        2
  •  2
  •   bdukes Jon Skeet    17 年前

    至少在Outlook中,描述中的HTML不会呈现为HTML。如果你想包含Outlook可以识别的富文本,请从Outlook日历中导出一个事件,并查看它们的功能。我相信它们在描述中提供了纯文本,然后为HTML创建了另一个属性。

        3
  •  1
  •   Kevin Nelson    8 年前

    对于任何像我一样出现在这个页面上的人,我希望专门为Outlook事件显示HTML内容。..

    正如公认的答案所述,描述不应该有任何HTML。但是,您可以使用多部分/替代电子邮件将HTML添加到事件内容中(至少在Outlook中)。

    MIME-Version: 1.0
    Content-Type: multipart/alternative; boundary="_CAL_B598a1969806776.58663423_B_"
    To: "Your Name" <yourname@example.com>
    From: "John Doe" <john.doe@example.com>
    
    --_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_--
    

    如果你想知道,Base64编码转换为:

    BEGIN:VCALENDAR
    METHOD:REQUEST
    PRODID:-//PHP//MeetingRequest//EN
    VERSION:2.0
    BEGIN:VEVENT
    ORGANIZER;CN=John Doe:MAILTO:john.doe@example.com
    ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=Your Name:MAILTO:yourname@example.com
    DESCRIPTION:Hello World Event
    SUMMARY:Hello World Event
    DTSTART:20170815T190000Z
    DTEND:20170815T200000Z
    UID:0123456789
    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
    
        4
  •  0
  •   Paul Sonier    17 年前

    我认为这是可能的,根据 RFC ,但我怀疑这是个好主意,因为它似乎有点安全漏洞。