我正在尝试将icalendar发送给用户,以便他们可以在Outlook中打开这些ics文件并保存约会。我正在使用的mailer是'phpmailer.php'。

问题是它在邮件正文中以html格式发送了ical格式。这是我的代码


$text="
BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
CATEGORIES:MEETING
STATUS:TENTATIVE
DTSTART:".$startDateTime."
DTEND:".$endDateTime."
SUMMARY:Interview for the candidate".$cname."
DESCRIPTION:".$message."
CLASS:PRIVATE
END:VEVENT
END:VCALENDAR";

$mail->SetFrom('[email protected]', 'xxxx');
$mail->IsSMTP();
$mail->Host = "smtp.mail.yahoo.com";

$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'xxxxx';


$mail->AddAddress($addresses[$i]);
$mail->Subject    = "Interview schedule of Candidate";

    $headers = "From: Sender\n";
        $headers .= "Reply-To: [email protected]\n";
        $headers .= "MIME-Version: 1.0\n";
        $headers .= "Content-Type: text/calendar; method=REQUEST; charset=utf-8\n";
        $headers .= "Content-Transfer-Encoding: 8bit\n";
        $headers .= "Content-class: urn:content-classes:calendarmessage\n";
$mail->Body=$body;

if(!$mail->Send($headers,$body))
{
        echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
    echo "Message sent!";
}




请让我知道我的代码有什么问题。
提前致谢

最佳答案

您也可以尝试:

$mail->IsHTML(FALSE);

关于php - icalendar和phpmailer.php,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12726735/

10-11 01:42