Outlook не распознает iCal

Я использую PHPMailer (), но когда я отправляю электронное письмо в Gmail с помощью iCal, Gmail распознает приглашение, а внешний вид — нет.

Как вы, ребята, видите, что .ics прикреплен к электронному письму, заголовки уже отправлены.

<?php
# Inclui o arquivo class.phpmailer.php localizado na pasta phpmailer
require_once("class/class.phpmailer.php");
require_once("class/class.smtp.php");

# Inicia a classe PHPMailer
$mail = new PHPMailer();

# Define os dados do servidor e tipo de conexão

$mail->IsSMTP(); // Define que a mensagem será SMTP
$mail->Host = "ssl://smtp.gmail.com"; # Endereço do servidor SMTP
$mail->Port = 465; // Porta TCP para a conexão. Para GMAIL use 465, Locaweb 587
$mail->SMTPAutoTLS = false; // Utiliza TLS Automaticamente se disponível
$mail->SMTPAuth = true; # Usar autenticação SMTP - Sim
$mail->Username = 'EMAIL'; # Usuário do servidor SMTP (endereço de email)
$mail->Password = 'SENHA'; # Senha do servidor SMTP (senha do email usado)
# Define o remetente (você)
$mail->From = "[email protected]"; # Seu e-mail
$mail->FromName = "Nome"; // Seu nome

# Define os destinatário(s)//
$mail->AddAddress("[email protected]", 'NOME');    # Os campos podem ser substituidos por variáveis
#$mail->AddAddress('[email protected]'); # Caso queira receber uma copia
#$mail->AddCC('[email protected]', 'Ciclano'); # Copia
#$mail->AddBCC('[email protected]', 'Fulano da Silva'); # Cópia Oculta

# Define os dados técnicos da Mensagem
$mail->IsHTML(false); # Define que o e-mail será enviado como HTML
#$mail->CharSet = 'iso-8859-1'; # Charset da mensagem (opcional)

# Define a mensagem (Texto e Assunto)
$mail->Subject = "Convite: Teste de evento"; # Assunto da mensagem
$mail->Body = "-";
$mail->AltBody = "-";
$ical ="BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook MIMEDIR//EN
VERSION:1.0
BEGIN:VEVENT
DTSTART:20180714T210000Z
DTEND:20180714T230000Z
LOCATION:My office
CATEGORIES:Business
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:This is a note associated with the
meeting=0D=0A
SUMMARY:Meeting to discuss salaries
PRIORITY:3
END:VEVENT
END:VCALENDAR";
$mail->Ical = $ical;

# Define os anexos (opcional)

$mail->addCustomHeader('MIME-Version: 1.0'."\n");
$mail->addCustomHeader('Content-Type: text/calendar; charset="utf-8"; method=REQUEST'."\r\n");
$mail->addCustomHeader('Content-Disposition: inline; filename="evento.ics"'."\r\n");
$mail->addCustomHeader('Content-Transfer-Encoding: 7bit'."\r\n");
$mail->addStringAttachment($ical,'evento.ics','base64','text/calendar'); # Insere um anexo

# Envia o e-mail
$enviado = $mail->Send();

# Limpa os destinatários e os anexos
$mail->ClearAllRecipients();

# Exibe uma mensagem de resultado (opcional)
if ($enviado) {
echo "E-mail enviado com sucesso. Tempo maximo para retorno em 1h a parir de ".date('H:i')."";
} else {
echo  "Não foi possível enviar o e-mail para a DC Software.        <b>Informações do erro:</b> ". $mail->ErrorInfo."";
}

?>

Я понятия не имею, почему Outlook не распознает это. Может ли кто-нибудь помочь мне с этой маленькой проблемой?

1

Решение

Попробуй добавить METHOD:REQUEST сразу после BEGIN:VCALENDAR, Согласно RFC5545 3.7.2, вам нужно указать оба — MIME method заголовок и iCalendar METHOD имущество.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]