2017-07-12 9 views
7

Wysyłam zaproszenie kalendarza za pomocą api aplikacji Laravel.Zaproszenie do kalendarza jest odbierane jako plik ICS w programie Outlook - Laravel

Kalendarz wygląda dobrze w Gmailu, ale pokazuje załącznik do programu Outlook zamiast odpowiedniego zaproszenia kalendarza.

wyjście Gmaila:

enter image description here

podczas perspektywą wydaje się być przywiązanie:

enter image description here

tworzę plik z invite.ics nazwa i I umieść zawartość w pliku invite.ics, załączam plik podczas wysyłania wiadomości e-mail.

$to = $row->to; 
$subject = $row->subject; 
$attachments = $row->attachment; 
$cc = $row->cc; 
$body = $row->body; 
$calendar_invitation = $row->calendar_invitation; 

\Mail::send(
'emailTemplates.dummy', 
['emailBody'=>$row->body], 
function(Message $message) use ($to,$subject,$attachments,$cc, $body, $calendar_invitation, $companyEmail) 
{ 
    $message->from($companyEmail, ''); 
    $message->replyTo($companyEmail, 'Email Agent Evmeetings'); 
    $message->to($to, '')->subject($subject); 
    $file = fopen("invite.ics","w"); 
    echo fwrite($file,$calendar_invitation); 
    fclose($file); 
    $message->attach('invite.ics', array('mime' => "text/calendar")); 


}); 
+0

Czy próbowałeś '$ message-> attach ('invite.ics', array ('mime' => 'text/calendar; charset =" utf-8 "; method = REQUEST'));'? – alepeino

+0

Zgaduję, że tak, spróbuję ponownie @alepeino –

+0

@alepeino to nie działa –

Odpowiedz

4

Tak właśnie zrobiłem to działa

$message->from($companyEmail, ''); 
$message->replyTo($companyEmail, 'Email Agent Evmeetings'); 
$message->to($to, '')->subject($subject); 
$message->setBody($calendar_invitation, 'text/calendar; charset="utf-8"; method=REQUEST'); 
$message->addPart($body, "text/html"); 

dodał kalendarza w organizmie i zmieniony typ MIME 'text/calendar; charset="utf-8"; method=REQUEST'

i używane addPart($body, "text/html"); metodę, aby dodać ciało html w wiadomości e-mail.

Powiązane problemy