簡體   English   中英

在 php mailer 中發送 i 日歷作為郵件正文

[英]Sending an i calendar as mail body in php mailer

我正在使用 php mailer 向收件人發送郵件,我需要發送日歷事件,我知道如何將它們作為附件發送,但我想在郵件正文中發送它們。 是否可以?

$message = "You have been invited to the online meeting '".$schedule->schedule_name.
                                    "', On ".$date." (".$start_time."-".$end_time.") by Tuti.World \n
                                    (See attachments for more details)";

        $ical_content = "BEGIN:VCALENDAR
                                        VERSION:2.0
                                        PRODID://Drupal iCal API//EN
                                        BEGIN:VEVENT
                                        UID:http://www.icalmaker.com/event/d8fefcc9-a576-4432-8b20-40e90889affd
                                        DTSTAMP:".$date.
                                        "DTSTART:".$start_time.
                                        "DTEND:".$end_time.
                                        "SUMMARY:Online Meeting
                                        END:VEVENT
                                        END:VCALENDAR";



$mail->msgHTML($message);
$mail->addStringAttachment($ical_content,$file,'base64','text/calendar');
$mail->send();

這些是當前郵件正文和日歷事件的代碼塊...

PHPMailer 具有內置的 iCal 支持,它用於在multipart/alternative結構中創建第三個text/calendar部分。 這是“RFC 方式”,但不幸的是,iCal 客戶端一團糟,在 Outlook、Gmail 和 Apple Mail 中沒有任何東西能始終如一地工作。 最好的方法是使用標准結構,但也添加相同的數據作為附件(就像您已經在做的那樣)。 您需要在代碼中進行的唯一更改是添加以下行:

$mail->Ical = $ical_content;

你還需要非常小心你的 iCal 內容——Outlook 特別挑剔,最微小的錯誤都會導致它根本無法工作,所以我建議使用 Outlook生成的 iCal 字符串開始測試,這樣你就可以隔離您的 iCal 發送的任何其他與其中內容相關的問題。

我多年來一直在使用 phpmailer 進行活動,它一直有效。 我總是只有蘋果有問題。 使用 IOS 13 我不得不等待 4 個月他們才能修復它。 現在使用 14.4 同樣的問題,yes/no/maybe 按鈕不再出現,所以如果我從 iphone 插入事件,它不會與 Outlook 同步。 反之亦然。 如果我從 iphone 接受它,我會更新事件,當我從 Outlook 接受它時,會自動在 iphone 上找到什么是孤立事件並更新它,我假設因為 id 無論如何都是唯一的。 繼續犯錯誤的是令人沮喪的蘋果方面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM