Мне нужно создать динамическое приглашение календаря и отправить файл ics в виде вложения. Я использую sendgrid для отправки писем.php - создать файл ics динамически и отправить по электронной почте в виде вложения
Это мой PHP скрипт в настоящее время:
include("/Users/path/sendgrid-php.php");
$sendgrid = new SendGrid("uname", "pass");
$email = new SendGrid\Email();
$ical = "BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:" . md5(uniqid(mt_rand(), true)) . "@test.com
DTSTAMP:" . gmdate('Ymd').'T'. gmdate('His') . "Z
DTSTART:19970714T170000Z
DTEND:19970715T035959Z
SUMMARY:New event
END:VEVENT
END:VCALENDAR";
header('Content-type: text/calendar; charset=utf-8');
header('Content-Disposition: inline; filename=invite.ics');
$email->addTo("[email protected]")
->setFrom("[email protected]")
->setSubject("Test-Subject")
->setHtml("Test-Body")
->setAttachment($ical);
$sendgrid->send($email);
Теперь, когда я запускаю этот скрипт, вместо отправки файла Ics в качестве приложения к электронному адресу, мой браузер автоматически загружает файл Ics, закрывается страницу, и ничего не делает (ни одно письмо не отправляется).
Можете ли вы все рассказать мне, где я здесь ошибся? Я только что начал с PHP, поэтому вероятность того, что я, должно быть, сделал какую-то глупую ошибку.
Спасибо.
Вы пытались удалить две строки 'header (...)'? – jeromegamez