Comment envoyer à l'adresse CCI lors de l'utilisation de PHPMailer pour le format de message MIME pour Gmail API?
J'utilise PHPMailer pour construire un message électronique. J'utilise PHPMailer seulement pour MIME mise en forme de message, pas d'envoi.
Je puis en extraire le message brut de la PHPMailer objet avant de le transmettre à la Gmail API pour le traitement.
//Create a new PHPMailer instance
$mail = new PHPMailer;
//Tell PHPMailer to use SMTP
$mail->isSMTP();
$mail->IsHTML(true);
//Disable SMTP debugging
//0 = off (for production use)
$mail->SMTPDebug = 0;
//Set who the message is to be sent from
$mail->setFrom("[email protected]", "From Name");
//Set an alternative reply-to address
$mail->addReplyTo("[email protected]", "Reply Name");
//Set to address
$mail->addAddress("[email protected]", "Some Name");
//Set CC address
$mail->addCC("[email protected]", "Some CC Name");
//Set BCC address
$mail->addBCC("[email protected]", "Some BCC Name");
//Set the subject line
$mail->Subject = "Test message";
//Set the body
$mail->Body = file_get_contents("/messagestore/some.html");
//Attach a file
$mail->addAttachment("/messagestore/some.pdf","some.pdf","base64","application/pdf");
//generate mime message
$mail->preSend();
//get the mime text
$mime = $mail->getSentMIMEMessage();
//do the google API dance
$newMailMessage = new Google_Service_Gmail_Message();
$data = base64_encode($mime);
$data = str_replace(array('+','/','='),array('-','_',''),$data); //url safe
$newMailMessage->setRaw($data);
$gmailService = new Google_Service_Gmail($google_client);
$gmailService->users_messages->send('me', $newMailMessage);
Selon PHPMailer docs, CC et CCI seule fonction d'envoi de l'environnement Win32.
Cependant, mon MIME des messages formatés transmettre avec succès via le compte Gmail API pour les "POUR" et "CC", mais pas "CCI" de l'adresse.
Pour résumer, Quand j'ai envoyé un e-mail à l'aide de ce code et je n' 'BCC' adresse Gmail API, je ne pas voir " undisclosed-bénéficiaires dans le envoyée en-tête de message, et le message n'est pas transmis à l'adresse CCI.
Quand j'ai envoyé un e-mail à l'aide de de l'interface web gmail et je n' 'BCC' adresse là, je ne voir " undisclosed-bénéficiaires dans le envoyée en-tête de message, et le message est transmis à l'adresse CCI.
Personne ne sait d'une solution de contournement pour ce problème?
Oui, mais dans ce cas la et CC transmettre avec succès tandis que la CCI n'a pas.
C'est étrange, puis. Je pense que "À: undisclosed recipients" ne fait PAS partie du protocole, généralement le serveur de messagerie de l'auto de le mettre là si il n'y a rien dans le POUR et le champ CC. Mais vous avez des adresses dans le et le champ Cc, de sorte qu'il n'apparaît pas. Avez-vous vérifier le dossier spam de votre cci adresse du destinataire?
Je suis dans le développement, j'ai donc vérifié les destinataires en copie cachée compte e-mail et le message n'était pas là. Je suis en train de tester avec un "libre" google apps for business. le compte de production est un compte rémunéré. je soupçonne que peut-être que google ne permettra pas à m'envoyer des CCI de courriel à partir d'un compte gratuit. Je vais le tester et d'en faire rapport
Le " undisclosed-bénéficiaires d'une chaîne de caractères est un nom arbitraire pour un vide de l'adresse de groupe. Il n'a pas de signification particulière.
OriginalL'auteur cloudxix | 2015-02-28
Vous devez vous connecter pour publier un commentaire.
PHPMailer permettra de suivre les destinataires en copie cachée à l'interne et, si vous étiez à envoyer le message avec PHPMailer il serait spécifier les destinataires CCI au cours de la L'enveloppe SMTP.
Toutefois, lorsque vous extrayez le message brut de PHPMailer vous perdez l'intérieur de la liste de destinataires que PHPMailer a été suivi. Le message brut ne comprennent pas les informations de CCI. Le
To:
etCc:
en-têtes d'inclure les bénéficiaires et GMAIL API utilise probablement ces en-têtes pour en déduire les destinataires.Pour ajouter les destinataires CCI vous aurez besoin d'utiliser GMAIL API pour ajouter ces destinataires avant d'envoyer le message.
Vous ne fournissez pas votre GMAIL code de l'API, mais il pourrait suivre ce schéma:
OriginalL'auteur MCToon