2017-06-23 7 views
0

J'utilise la fonction mail() de PHP pour générer des mails. Les messages générés semblent parfaitement corrects avec les identifiants de courrier électronique corrects dans «À» et «Cc», mais le courrier est livré uniquement à «À» et non à «Cc».Courriels générés par PHP non livrés à Cc

Voici le code

$headers = "From: [email protected] \r\n"; 
$headers .= "Reply-To: [email protected]"; 
$headers .= "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Cc: [email protected] ; [email protected]" . "\r\n"; 
$headers .= "X-Mailer: PHP/". phpversion(); 
$headers .= "Content-type: text/html; charset=iso-8859-1". "\r\n"; 
mail($to, $subject, $message, $headers); 

Notre organsation utilise 365 pour le courrier, et cette question a surtout rognés depuis que nous avons commencé la migration. Je suis allé à travers le journal de messagerie php et ça me semble bien.

Comment réparer ce problème? Aucune suggestion?

PS. Je pense que ce problème a surgi seulement depuis que nous avons déménagé à 365 il y a quelque temps. De même, l'identifiant '[email protected]' (expéditeur) doit-il exister?

+0

Vous n'avez pas '\ r \ n' après l'en-tête' Reply-To' (ou après l'en-tête 'X-Mailer'). En outre, plusieurs destinataires Cc nécessitent un en-tête 'Cc' par adresse. – Phylogenesis

+0

J'ai ajouté \ r \ n après l'en-tête Reply-To/X-Mailer. Jamais entendu parler d'un en-tête Cc par adresse, n'est-ce pas? – Krrish

+0

Après avoir lu un peu plus, non ce n'est pas le cas. J'ai toujours envoyé mes emails avec des en-têtes Cc séparés par destinataire, mais vous pouvez utiliser un seul en-tête. Cependant, vous devez vous assurer que les adresses sont séparées par des virgules, pas avec des points-virgules. – Phylogenesis

Répondre

0
$headers .= "Reply-To: [email protected]"; 

Où est le "\ r \ n" sur cette ligne?

Pour une bibliothèque de diffusion PHP appropriée et normalisée qui aidera votre équipe à construire correctement les emails, jetez un oeil à:

https://github.com/PHPMailer/PHPMailer

+0

J'ai téléchargé et extrait le dossier PHPMailer dans mes htdocs. Comment remplacer les instances de sendmail dans mon code avec? Dois-je aussi modifier mon fichier php.ini? – Krrish

+0

Je ne suis pas un expert de PHPMailer, mais je pense que vous avez vos réponses ici: https://github.com/PHPMailer/PHPMailer/blob/master/README.md :-) – Fabien