AddEmbeddedImage() la fonction embadding des images ainsi que la fixation d'une même image en tant que pièce jointe
J'ai ajouté les paramètres suivants pour PHPMailer objet. Si j'ai incorporé des images pour les fins à l'aide de AddEmbeddedImage() de la fonction, il fonctionne comme prévu, mais en plus attachant même des images en tant que pièce jointe à l'email & affichage en bas.
$msg = `<table><tr><td colspan="2"><img src="cid:header_jpg" alt="www.example.in" width="770" height="4" border="0" /></td></tr></table>`;
$mail = new PHPMailer(true); //New instance, with exceptions enabled
$mail->IsSMTP(); //tell the class to use SMTP
$mail->SMTPAuth = false; //enable SMTP authentication
$mail->Port = 25; //set the SMTP server port
$mail->Host = 'localhost'; //SMTP server
$mail->Username = ""; //SMTP server username
$mail->Password = ""; //SMTP server password
$mail->AddReplyTo($sender, $sender_name);
$mail->From = $sender;
$mail->FromName = $sender_name;
$mail->AddAddress($receiver);
$mail->Subject = $subject;
//$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; //optional, comment out and test
$mail->WordWrap = 80; //set word wrap
$mail->MsgHTML($msg);
$mail->IsHTML(true); //send as HTML
$mail->AddEmbeddedImage('./images/header.jpg', 'header_jpg');
$mail->AddEmbeddedImage('./images/logo.jpg', 'logo_jpg');
$mail->AddEmbeddedImage('./images/alert_icon.png', 'alert_icon_png', 'alert_icon.png');
$mail->Send();
S'il vous plaît suggérer quelque chose d'aussi tôt que possible...
La prochaine fois, vous pouvez mettre en forme le code avec les touches Ctrl+K ou le
Merci @Maerlyn 🙂
{}
bouton dans l'éditeur, pas besoin d'ajouter <br/>
's à chaque ligne.Merci @Maerlyn 🙂
OriginalL'auteur Sumit Tawal | 2013-08-26
Vous devez vous connecter pour publier un commentaire.
Je vais avoir le même problème avec de courriel web, des images incorporées. J'ai essayé différentes approches, et a obtenu ces résultats:
L'envoi d'e-mail html pour Yahoo:
$mail->AddEmbeddedImage("some_picture.png", "my-attach", "some_picture.png", "base64", "image/png");
OU
$mail->AddEmbeddedImage("some_picture.png", "my-attach", "some_picture.png", "base64", "application/octet-stream");
OU
$mail->AddEmbeddedImage("some_picture.png", "my-attach", "some_picture.png");
Mêmes résultats; Yahoo a montré l'image incorporée correctement, mais encore qu'il l'a attaché trop!
Avec hotmail, c'correctement intégrées, de l'image et pas les pièces jointes ajoutées.
Enfin, je mouillage que PHPMailer a la capacité d'intégration automatique des images à partir de votre e-mail en HTML. Vous devez mettre le chemin complet dans le système de fichiers lors de la rédaction de votre e-mail en HTML. J'ai fini par mépris de la AddEmbeddedImage et le lien de la source de l'image directement à son emplacement sur le site. Il a fonctionné correctement dans les deux Hotmail et Yahoo et pas de pièce jointe a été ajouté dans Yahoo.
<img src="http://FULL_PATH-TO-IMAGE" alt="THIS IS THE IMAGE" />
Inutile de dire que les images intégrées dans les e-mails peuvent ne pas s'afficher tout de suite, à moins que l'utilisateur clique sur "afficher les images"; tout dépend de la confidentialité & paramètres de sécurité.
J'espère que cela aide!
Je ne peux pas utiliser img src parce que la dir source est psw protégé. Je ne peux pas obtenir l'image incorporée dans le corps du message. Au moins, il est envoyé en tant que pièce jointe
OriginalL'auteur Rob
À mon humble avis AddEmbeddedImage fonctionne très bien. Le problème ci-dessus est que le premier paramètre qui pointe vers le fichier image doit spécifier l'absolu de l'hôte nom de chemin d'accès (aka URI), pas l'URL. Sur mon hôte, qui se résout à "/home/myaccountid/public_html/image_filename.jpg'. Comme une URL, qui devient"http://myhostid.com/image_filename.jpg'.
OriginalL'auteur John Bishop