2017-07-12 23 views
7

Laravel'in posta api'sini kullanarak takvim daveti gönderiyorum.Calendar invite görünümde ICS dosyası olarak alındı ​​- Laravel

Takvim gmail'e iyi görünüyor, ancak uygun takvim daveti yerine görünümde bir ek gösterir.

Gmail'in çıkışı:

enter image description here

görünüm üzerinde o eki gibi görünüyor süre:

enter image description here

de ismi invite.ics ve ben bir dosyayı oluşturma İçeriği invite.ics dosyasının içine koy, e-postayı gönderirken dosyayı ekliyorum.

$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

'$ message-> attach ('invite.ics', array ('mime' => 'text/calendar; charset =" utf-8 "; method = REQUEST')) yöntemini denediniz mi)?'? – alepeino

+0

Sanırım yaptım, tekrar deneyeceğim @alepeino –

+0

@alepeino işe yaramadı –

cevap

4

Ben o

$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"); 

Eklendi vücutta takvim çalışması yapılmış ve 'text/calendar; charset="utf-8"; method=REQUEST'

için MIME türü değişti ve e-posta html gövdesini eklemek için addPart($body, "text/html"); yöntemi kullanılmıştır nasıl.