如何使.ics在Outlook中工作(Laravel邮件程序)?

use*_*500 2 php email icalendar outlook laravel

我试图让Outlook识别电子邮件的.ics文件为适当的邀请。.ics日历邀请确实可以在Gmail中完美运行,而不仅仅是Outlook。通过阅读其他Stackoverflow帖子,我的猜测是我没有正确设置“ MIME”等,但是我不知道该怎么做(我是新手要发电子邮件)。

这是我的基本代码的一部分。

Mail::send($data['view'], $data['data'], function($message) use ($data)  {
                $message->from($from_email,$f_n)->to($to_email)->subject($data['subject']);
                $message->attachData($data['ical'], 'invite.ics');
});
Run Code Online (Sandbox Code Playgroud)

我已经尝试过类似的代码:

$message->setContentType("text/calendar;method=REQUEST;name=\"invite.ics\"");
$disp->addParameterizedHeader(
                    'Content-Disposition', 'x'
                );
                $disp = $message->getHeaders()->get('Content-Disposition');
                $disp->setValue('attachment');
                $disp->setParameter('filename', 'invite.ics');
Run Code Online (Sandbox Code Playgroud)

$message->setBody($data['ical'], 'text/calendar; charset="utf-8"; method=REQUEST');
Run Code Online (Sandbox Code Playgroud)

但到目前为止没有运气。我正在使用Laravel 5.5。

为了支持问题与.ics文件本身无关的想法,我尝试使用标准的Google日历生成的邀请.ics,当通过Google日历通过自动电子邮件发送时,它与Outlook兼容,但在我通过我的Mail :: send发送

在此先感谢您的任何建议!

use*_*500 6

我刚刚发现您可以将mime参数添加到attachData函数(按照https://laravel.com/docs/5.7/mail#attachments)-这对Outlook和Gmail均适用。好极了 :)

$message->attachData($data['ical'], 'invite.ics', [
                    'mime' => 'text/calendar;charset=UTF-8;method=REQUEST',
                ]);
Run Code Online (Sandbox Code Playgroud)