电子邮件附件使用了错误的文件扩展名
Email attachment uses the wrong file extension
我正在编写一些代码来创建一个 iCalendar,然后发送一封带有所创建事件的 ics 文件的 Outlook 电子邮件,它按预期工作,但有一个问题。
当电子邮件被发送时,附件被赋予了错误的名称(ATT00001.bin 而不是 Meeting.ics)并且它不是作为 .ics 而是作为 .bin 发送的。文件的内容仍然和它们应该的一样。
感谢任何帮助,谢谢!
use Spatie\IcalendarGenerator\Components\Calendar;
use Spatie\IcalendarGenerator\Components\Event;
...
$calendar = Calendar::create('Company test meeting')
->event(Event::create()
->name('Company test meeting')
->description('A test meeting about Company')
->startsAt(new \DateTime('24-03-2022 10:00'))
->endsAt(new \DateTime('24-03-2022 11:30'))
)->get();
$mailer = new Mailer('default');
$mailer->setAttachments([
'Meeting.ics' => [
'data' => $calendar,
'contentDisposition' => false
]
]);
$mailer->setFrom(['replacement@outlook.com' => 'CompanyName'])
->setTo('replacement@outlook.com')
->setSubject('Company meeting')
->deliver('Hey there I would like to have a meeting about Company');
所以我想通了。
当我写电子邮件时,我正在使用 cakephp 4 食谱。
那里说:“mimetype 和 contentId 在这种形式中是可选的。”我错误地认为我不需要它。
ics 文件的 mimetype 是 text/calendar 所以我只是将其添加到我的 setAttachments 中,如下所示:
$mailer = new Mailer('default');
$mailer->setAttachments([
'Meeting.ics' => [
'data' => $ical,
'mimetype' => 'text/calendar', //I added the mimetype here
'contentDisposition' => false
]
]);
$mailer->setFrom(['private@outlook.com' => 'Company'])
->setTo('private@outlook.com')
->setSubject('Companymeeting')
->deliver("Dummy text " . $attendee . " About " . $description . "");
$this->set('calendar', $ical);
我仍在研究如何获得正确的文件名,但这并不像文件扩展名那么重要。但如果有人知道,我很想知道。
我正在编写一些代码来创建一个 iCalendar,然后发送一封带有所创建事件的 ics 文件的 Outlook 电子邮件,它按预期工作,但有一个问题。
当电子邮件被发送时,附件被赋予了错误的名称(ATT00001.bin 而不是 Meeting.ics)并且它不是作为 .ics 而是作为 .bin 发送的。文件的内容仍然和它们应该的一样。
感谢任何帮助,谢谢!
use Spatie\IcalendarGenerator\Components\Calendar;
use Spatie\IcalendarGenerator\Components\Event;
...
$calendar = Calendar::create('Company test meeting')
->event(Event::create()
->name('Company test meeting')
->description('A test meeting about Company')
->startsAt(new \DateTime('24-03-2022 10:00'))
->endsAt(new \DateTime('24-03-2022 11:30'))
)->get();
$mailer = new Mailer('default');
$mailer->setAttachments([
'Meeting.ics' => [
'data' => $calendar,
'contentDisposition' => false
]
]);
$mailer->setFrom(['replacement@outlook.com' => 'CompanyName'])
->setTo('replacement@outlook.com')
->setSubject('Company meeting')
->deliver('Hey there I would like to have a meeting about Company');
所以我想通了。 当我写电子邮件时,我正在使用 cakephp 4 食谱。 那里说:“mimetype 和 contentId 在这种形式中是可选的。”我错误地认为我不需要它。
ics 文件的 mimetype 是 text/calendar 所以我只是将其添加到我的 setAttachments 中,如下所示:
$mailer = new Mailer('default');
$mailer->setAttachments([
'Meeting.ics' => [
'data' => $ical,
'mimetype' => 'text/calendar', //I added the mimetype here
'contentDisposition' => false
]
]);
$mailer->setFrom(['private@outlook.com' => 'Company'])
->setTo('private@outlook.com')
->setSubject('Companymeeting')
->deliver("Dummy text " . $attendee . " About " . $description . "");
$this->set('calendar', $ical);
我仍在研究如何获得正确的文件名,但这并不像文件扩展名那么重要。但如果有人知道,我很想知道。