PHP Mailer: проблема при отправке с iCal - PullRequest
0 голосов
/ 04 ноября 2018

У меня проблема с тем, что я вырывал свои волосы последние несколько часов.

Ниже приведена моя настройка PHPMailer, которая работает абсолютно нормально при отправке без вложений iCal:

$mail = new PHPMailer\PHPMailer\PHPMailer();
$mail->isSMTP();
$mail->Host       = 'smtp.office365.com';
$mail->Port       = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth   = true;
$mail->Username   = 'donotreply@xxxxxx.ca';
$mail->Password   = 'xxxxxx';
$mail->SetFrom('donotreply@xxxxxx.ca', 'My App');
$mail->addAddress('mygmailaddress@gmail.com', 'ToEmail');

Теперь, когда я пытаюсь добавить вложение iCal к письму, я получаю следующую ошибку, поскольку письмо не отправляется:

Failed to process message due to a permanent exception with message. A message can't be sent because it contains no recipients.

Вот мои настройки с добавленным iCal:

$ical_content = "BEGIN:VCALENDAR
VERSION:2.0
PRODID://Drupal iCal API//EN
BEGIN:VEVENT
UID:http://www.icalmaker.com/event/d8fefcc9-a576-4432-8b20-40e90889affd
DTSTAMP:20190203T045941Z
DTSTART:20190214T060000Z
DTEND:20190214T100000Z
SUMMARY:Party in Daawat
LOCATION:Hotel Daawat
DESCRIPTION:Dinner
END:VEVENT
END:VCALENDAR";

$mail = new PHPMailer\PHPMailer\PHPMailer();
$mail->isSMTP();
$mail->Host       = 'smtp.office365.com';
$mail->Port       = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth   = true;
$mail->Username   = 'donotreply@xxxxxx.ca';
$mail->Password   = 'xxxxxx';
$mail->SetFrom('donotreply@xxxxxx.ca', 'My App');
$mail->addAddress('mygmailaddress@gmail.com', 'ToEmail');
$mail->Ical = $ical_content;

Эта проблема убивает меня. Если вы можете помочь, мы будем очень признательны!

...