0

会議出席依頼を送信する小さなプログラムを作成しました。メールには SwiftMailer を使用しています。

電子メールが送信先に到達し、受信者が [承認/拒否] をクリックしても、通知は返されません。ヘッダー情報と電子メールの内容は正しいと思います。

                <?PHP 
                $message = "<html>\n";
                $message .= "<body>\n";
                $message .= '<p>Dear '.$emailto_name.',</p>';
                $message .= '<p><br>'.$meeting_description.'<br></p>';
                $message .= '<p>Thanks,<br>CATS</p>';
                $message .= "</body>\n";
                $message .= "</html>\n";


                $cal[] = "BEGIN:VCALENDAR";
                $cal[] = "PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN";
                $cal[] = "VERSION:2.0";
                $cal[] = "METHOD:REQUEST";
                $cal[] = "BEGIN:VTIMEZONE";
                $cal[] = "TZID:" . $tz_name . "";
                $cal[] = "BEGIN:STANDARD";
                $cal[] = "DTSTART:".date('Ymd')."T".date('His')."";
                $cal[] = "TZOFFSETFROM:" . $tzOffsetFrom . "";
                $cal[] = "TZOFFSETTO:". $tzOffsetTo . "";
                $cal[] = "RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=11";
                $cal[] = "END:STANDARD";
                $cal[] = "BEGIN:DAYLIGHT";
                $cal[] = "DTSTART:". date('Ymd') . "T" . date('His') . "";
                $cal[] = "TZOFFSETFROM:". $tzOffsetTo . "";
                $cal[] = "TZOFFSETTO:" . $tzOffsetFrom . "";
                $cal[] = "RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=2SU;BYMONTH=3";
                $cal[] = "END:DAYLIGHT";
                $cal[] = "END:VTIMEZONE";
                $cal[] = "BEGIN:VEVENT";
                $cal[] = "DTSTART;TZID=".$meeting_start;
                $cal[] = "DTEND;TZID=".$meeting_end;
                $cal[] = "ORGANIZER:MAILTO:".$from_address;
                $cal[] = "ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;X-NUM-GUESTS=0:MAILTO:".$from_address;
                $cal[] = "LOCATION:".$meeting_location;
                $cal[] = "TRANSP:OPAQUE";
                $cal[] = "SEQUENCE:0";
                $cal[] = "UID:".$cal_uid;
                $cal[] = "DTSTAMP:".$todaystamp;
                $cal[] = "DESCRIPTION:".$meeting_description;
                $cal[] = "SUMMARY:".$subject;
                $cal[] = "PRIORITY:5";
                $cal[] = "CLASS:PUBLIC";
                $cal[] = "END:VEVENT";
                $cal[] = "END:VCALENDAR";

                $cal_str = implode("\r\n",  $cal);

                $the_message = Swift_Message::newInstance()
                        ->setSubject('Interview Schedule')
                        ->setFrom($emailfrom)
                        ->setSender($emailfrom)
                        ->setTo($emailto)
                        ->setBody($message, 'text/html')
                        ->addPart($cal_str, 'text/calendar');

                $headers = $the_message->getHeaders();

                $headers->AddTextHeader('Content-class', 'urn:content-classes:calendarmessage');
                $headers->AddTextHeader('Disposition-Notification-To', '"' .  $_SESSION['CATS']->getEmail() . '" <' . $_SESSION['CATS']->getEmail() . '>' );

                $result = $mailer->send($the_message);
                if ($result === 1)
                        echo "\tEmail was sent successfully.</p>";
                else
                        echo "\tCould not send the message ($result).</p>";
?>

承認/拒否通知が送信されないというのは、私が間違っていることを誰かに教えてもらえますか?

本当にありがとう。

4

1 に答える 1

2

試行しなくても、ファイルは問題ないように見えますが、1つのパラメータについては、出席者のプロパティ値は出席者の電子メールアドレスである必要があり$to_addressます$from_address

于 2013-03-09T08:36:46.803 に答える