php - 没有 ical 事件的电子邮件
问题描述
我对带有 ical 附件的电子邮件有疑问。当我将其与 ical 附件一起发送时效果很好。但现在我尝试发送没有附件的相同邮件。当我删除所有 ical 代码时,它仍然会发送一封邮件,但带有一个空的 ical 附件。如果我删除更多代码,它会发送一条空消息。我不知道要更改什么代码才能删除 ical 附件。我想保持带有和不带附件的电子邮件相同。
这是我一直看到的附件的图片。 在此处输入图像描述
有人可以帮我解决这个问题吗?
<?php
include ('../data/config.php');
include('../data/conn.php');
$subject = $_POST['naam_opleiding'];
$from_address = $_POST['email_medewerker'];
$to_name = $_POST['docent'];
$to_address = $_POST['email_docent'];
$to_address2 = $_POST['email_medewerker'];
$to_cc = $_POST['email_secretaresse'];
$startTime = $_POST['startTime'];
$endTime = $_POST['endTime'];
$aanhef = $_POST['aanhef'];
$tekst = $_POST['tekst'];
$college = $_POST['college'];
$naam_opleiding = $_POST['naam_opleiding'];
$datum = $_POST['datum'];
$begintijd = $_POST['begintijd'];
$eindtijd = $_POST['eindtijd'];
$bedrag = $_POST['bedrag'];
$reiskosten = $_POST['reiskosten'];
$voornaam_medewerker = $_POST['voornaam_medewerker'];
$medewerker = $_POST['medewerker'];
$collegezaal = $_POST['collegezaal'];
$doccol = $_POST['doccol'];
$oplcol = $_POST['oplcol'];
$domain = 'asreconnect.nl';
//Create Email Headers
$mime_boundary = "----Meeting Booking----".MD5(TIME());
$headers = "From: ".$medewerker." <".$from_address.">\n";
$headers .= "CC: ".$to_cc."\r\n";
$headers .= "Reply-To: ".$medewerker." <".$from_address.">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/alternative; boundary=\"$mime_boundary\"\n";
$headers .= "Content-class: urn:content-classes:calendarmessage\n";
//Create Email Body (HTML)
$message = "--$mime_boundary\r\n";
$message .= "Content-Type: text/html; charset=UTF-8\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";
$message .= "<html>\n";
$message .= "<body>\n";
$message .= '<p>Opleiding: <b>'.$naam_opleiding.'</b></p>';
$message .= '<p>College: <b>'.$college.'</b></p>';
$message .= '<p>Datum: <b>'.$datum.'</b> van <b>'.$begintijd.'</b> t/m <b>'.$eindtijd.'</b></p>';
$message .= '<p> '.$aanhef.' </p>';
$message .= '<p>'.$tekst.' </p>';
$message .= '<p>Alvast bedankt!</p>';
$message .= '<p>Hartelijke groet,</p>';
$message .= '<p>'.$voornaam_medewerker.'</p>';
$message .= "</body>\n";
$message .= "</html>\n";
$message .= "--$mime_boundary\r\n";
$ical = 'BEGIN:VCALENDAR' . "\r\n" .
'PRODID:-//Microsoft Corporation//Outlook 10.0 MIMEDIR//EN' . "\r\n" .
'VERSION:2.0' . "\r\n" .
'METHOD:REQUEST' . "\r\n" .
'BEGIN:VTIMEZONE' . "\r\n" .
'TZID:CEST' . "\r\n" .
'BEGIN:STANDARD' . "\r\n" .
'DTSTART:20091101T020000' . "\r\n" .
'RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=11' . "\r\n" .
'TZOFFSETFROM:+0000' . "\r\n" .
'TZOFFSETTO:+0200' . "\r\n" .
'TZNAME:EST' . "\r\n" .
'END:STANDARD' . "\r\n" .
'BEGIN:DAYLIGHT' . "\r\n" .
'DTSTART:20090301T020000' . "\r\n" .
'RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=2SU;BYMONTH=3' . "\r\n" .
'TZOFFSETFROM:-0000' . "\r\n" .
'TZOFFSETTO:+0200' . "\r\n" .
'TZNAME:EDST' . "\r\n" .
'END:DAYLIGHT' . "\r\n" .
'END:VTIMEZONE' . "\r\n" .
'BEGIN:VEVENT' . "\r\n" .
'ORGANIZER;CN="'.$medewerker.'":MAILTO:'.$from_address. "\r\n" .
'ATTENDEE;CN="'.$to_name.'";ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:'.$to_address. "\r\n" .
'LAST-MODIFIED:' . date("Ymd\TGis") . "\r\n" .
'UID:'.date("Ymd\TGis", strtotime($startTime)).rand()."@".$domain."\r\n" .
'DTSTAMP:'.date("Ymd\TGis"). "\r\n" .
'DTSTART;TZID="CEST":'.date("Ymd\THis", strtotime($startTime)). "\r\n" .
'DTEND;TZID="CEST":'.date("Ymd\THis", strtotime($endTime)). "\r\n" .
'TRANSP:OPAQUE'. "\r\n" .
'SEQUENCE:1'. "\r\n" .
'SUMMARY:' . $oplcol . "\r\n" .
'LOCATION:' . $collegezaal . "\r\n" .
'CLASS:PUBLIC'. "\r\n" .
'PRIORITY:5'. "\r\n" .
'BEGIN:VALARM' . "\r\n" .
'TRIGGER:-PT15M' . "\r\n" .
'ACTION:DISPLAY' . "\r\n" .
'DESCRIPTION:Reminder' . "\r\n" .
'END:VALARM' . "\r\n" .
'END:VEVENT'. "\r\n" .
'END:VCALENDAR'. "\r\n";
$message .= 'Content-Type: text/calendar;name="meeting.ics";method=REQUEST'."\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";
$message .= $ical;
$mailsent = mail($to_address, $subject, $message, $headers);
return ($mailsent)?(true):(false);
?>
解决方案
推荐阅读
- python - Python/Flask:有没有办法生成密码提示而不是制作整个用户平台?
- python - Unity POST 到本地主机的请求
- sql - 索引是否会影响 where is not null 查询的性能?
- react-native - undefined 不是对象(评估 '_expo.default.Localization.locale')
- python - IBM 语音转文本用户名和密码问题
- javascript - XMLHttpRequest:如何导航“链接”标头
- spring - 使用 Spring 配置从 Spring 连接到 WebSphere MQ
- python - 无法解决 LinAlgError:数组的最后 2 个维度必须是正方形
- c# - 多个级别的等效名称
- arrays - 文件的读写