(我已经阅读了有关此问题的大多数主题,并尝试了各种替代方法,但仍然无法解决我的问题)。
我正在从php脚本生成ical日历事件,以通过电子邮件发送。这工作得很好。会收到ics附件,可以打开它们并将其用于创建/修改/删除日历事件。我主要在iPhone上进行测试。
我遇到的问题是在Description字段中包含换行符: -如果生成“ \ n”或“ \ r \ n”(在\ n后有空格),则整个字段将显示为一行。 -如果生成“ \ n”或“ \ r \ n”,则显示字符“ \ n”或“ \ r \ n”。
此外,由于我读到;可能存在问题,因此我尝试插入;;在描述中:用\进行转义时,显示为\;并且即使不逃脱也不会造成任何问题。
这是一个ics附件的示例
BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
ORGANIZER:MAILTO:noreplyClickNFly@aeroclub-uaca.org
DTSTART:20180924T080000Z
DTEND:20180924T090000Z
LOCATION:Uaca
245 Avenue Francis Tonner 06150 Cannes, France
TRANSP:OPAQUE
SEQUENCE:0
UID:20180919T190033-331242606@aeroclub-uaca.org
DTSTAMP:20180919T170033Z
SUMMARY:Baptême sur F-GJPJ
DESCRIPTION:Vol local\\r\\n PAX: John Doe (06.00.11.22.33)\\r\\n 5ème essai pour test calendrier
PRIORITY:5
CLASS:PUBLIC
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR
任何建议都将受到欢迎。
谢谢。
答案 0 :(得分:0)
表示换行符的唯一有效格式是\ n。 参见https://tools.ietf.org/html/rfc5545#section-3.3.11
故意格式化的文本换行符必须仅包含在 “ TEXT”属性值,方法是用 BACKSLASH的字符序列,后跟一个拉丁文小写字母 N或拉丁文大写字母N,即“ \ n”或“ \ N”。
您能否在说明中包含生成的整个电子邮件,以便检查实际收到的内容?