我正在尝试使用spatie / calendar-link包在laravel中发送日历邀请,但是在Outlook中,我收到了一个名为“不支持的日历message.ics”的附件。
这是我生成文件内容并将其保存在文件夹中的方式:
$ics = Link::create('Viaggio', $from, $to)
->description('Viaggio Da '.$data['travel']['departure'].', A '.$data['travel']['destination'])
->address($data['travel']['departure']);
\Storage::disk('uploads')->put('invitation.ics', $ics->ics());
$data['ics'] = $ics->ics();
然后我像这样发送电子邮件:
Mail::send('view.email', $data, function ($message) use ($data) {
$message->from('email@email.coom', 'blablabla');
$message->subject('blablabla');
$message->attachData($data['ics'], 'uploads/invitation.ics', [
'mime' => 'text/calendar;charset=UTF-8;method=REQUEST',
]);
$message->to($data['driver']['notifymail'], $data['driver']['businessname']);
});
.ics文件的内容:
data:text/calendar;charset=utf8,BEGIN:VCALENDAR%0d%0aVERSION:2.0%0d%0aBEGIN:VEVENT%0d%0aUID:ea22b2a397b12a7b2f629720cd46d84e%0d%0aSUMMARY:Viaggio%0d%0aDTSTART;TZID=UTC:20190323T102643%0d%0aDTEND;TZID=UTC:20190323T122643%0d%0aDESCRIPTION:Viaggio Da mxp\, A Via rossi 13\, Milano%0d%0aLOCATION:mxp%0d%0aEND:VEVENT%0d%0aEND:VCALENDAR
电子邮件本身很好,唯一的问题是ics文件:我缺少什么吗?我使用包装的方式不正确吗?