#php #codeigniter #events #gmail #icalendar
Вопрос:
Я попытался использовать приведенный ниже код для отправки события ics на codeigniter в gmail, но получил его в виде текста. И если попытаться использовать заголовок() или прикрепить (), я получаю «не удается загрузить данные запроса». Может ли кто-нибудь подсказать любой возможный способ исправить это.
$ical = 'BEGIN:VCALENDAR VERSION:2.0 PRODID:-//hacksw/handcal//NONSGML v1.0//EN CALSCALE:GREGORIAN BEGIN:VEVENT DTEND:' . $event['end_event'] . ' UID:' . md5($event['title']) . ' DTSTAMP:' . time() . ' SUMMARY:' . addslashes($event['title']) . ' DTSTART:' . $event['start_event'] . ' END:VEVENT END:VCALENDAR'; $message .= 'Content-Type: text/calendar;name="meeting.ics";method=REQUEST'."n"; $message .= "Content-Transfer-Encoding: 8bitnn"; $message .= $ical; $config['protocol'] = 'ssmtp'; $config['smtp_host'] = 'ssl://ssmtp.gmail.com'; $config['smtp_port'] = '465'; $config['smtp_timeout'] = '7'; $config['smtp_user'] = 'mail@gmail.com'; $config['smtp_pass'] = 'password'; $config['charset'] = 'utf-8'; $config['newline'] = "rn"; $config['mailtype'] = 'text'; // or html $config['validation'] = TRUE; // bool whether to validate email or not $this-gt;email-gt;initialize($config); $this-gt;email-gt;from('from@myc2s.com', $from); $this-gt;email-gt;to('to@gmail.com'); $this-gt;email-gt;subject('ICS'); $this-gt;email-gt;message($ical); $sendmessage = $this-gt;email-gt;send();
При попытке ниже кода я получаю «не удается загрузить данные запроса».
$this-gt;email-gt;set_header('Content-type', 'text/calendar'); $this-gt;email-gt;attach($ical); $sendmessage = $this-gt;email-gt;send();
Комментарии:
1. Я думаю, у вас ОПЕЧАТКА, это
$this-gt;email-gt;message($ical);
должно быть так:$this-gt;email-gt;message($message);
2. О, мой плохой, опубликовал отредактированный код. То же самое происходит, если передано сообщение$.