0
PHPMailerライブラリを使用してThunderbirdのイベント招待メールを送信します。PHPMailer - Thunderbirdでイベント招待状を送信
以下のコードを試してみてください。
$mail->isSMTP();
$mail->Host = MAIL_HOST;
$mail->SMTPAuth = MAIL_SMTPAUTH;
$mail->Username = MAIL_USERNAME;
$mail->Password = MAIL_PASSWORD;
$mail->SMTPSecure = MAIL_SMTPSECURE;
$mail->Port = MAIL_PORT;
$mail->addAddress($t);
$mail->Body = $body;
$vcal .= "BEGIN:VCALENDAR\n";
$vcal .= "VERSION:2.0\n";
$vcal .= "PRODID://Foobar Corporation//NONSGML Foobar//EN\n";
$vcal .= "METHOD:PUBLISH\n"; // requied by Outlook
$vcal .= "X-WR-CALNAME:PH2011\n";
$vcal .= "X-WR-TIMEZONE:Asia/Singapore\n";
$vcal .= "BEGIN:VEVENT\n";
$vcal .= "UID:".date('Ymd').'T'.date('His')."-".rand()."-example.com\n"; // required by Outlok
$vcal .= "DTSTAMP:".date('Ymd').'T'.date('His')."\n"; // required by Outlook
$vcal .= "DTSTART:$dtstart\n";
$vcal .= "DTEND:$dtend\r\n";
$vcal .= "SUMMARY:Your Summary Here\n";
$vcal .= "LOCATION: Your Location Here\n";
$vcal .= "DESCRIPTION: Your Description Here\n";
$vcal .= "END:VEVENT\n";
$vcal .= "END:VCALENDAR\n";
$headers = "From: $from\r\nReply-To: $from";
$headers .= "\r\nMIME-version: 1.0\r\nContent-Type: text/calendar; name=calendar.ics; method=REQUEST; charset=\"iso-8859-1\"";
$headers .= "\r\nContent-Transfer-Encoding: 7bit\r\nX-Mailer: Microsoft Office Outlook 12.0";
$mail->addCustomHeader($vcal);
$mail->addCustomHeader($headers);
$mail->send()
このコードは、メールが正常に送信されたとしていますが、実際にはカレンダーイベントを設定していません。