Jump to content

rebo

Members
  • Content count

    8
  • Joined

  • Last visited

  1. Je n'avais pas du tout pensé à str_replace pour le coup le problème est résolu, je n'ai plus aucun problème à refaire les mails merci à vous.
  2. Les seuls informations que j'ai au sujet de l'erreur que me produit la configuration SMTP est que SwiftMailer ne supporte pas STARTTLS qu'utilise justement mon serveur mail donc je ne peux bel et bien pas utiliser ce que me donne prestashop pour envoyer des mails avec SMTP. Je m'étais tourné vers cela car mon hébergeur a désactivé la fonction mail() de PHP. Par rapport à Tools::file_get_contents('chemin_vers_le_template/nom_du_template.html'); cela est utilisé pour recupérer le template à utiliser et se trouvent dans les variables $template_html et $template_txt Mais ces templates ne sont que dans leur version d'origine, il y a encore $user_name ect dans le texte. Ce que je cherche à obtenir c'est la version final du texte mais je ne sais pas ou et comment ils passent de $template_txt + $template_vars au texte final. template_vars disparait dans les limbes à ce moment $swift->registerPlugin(new Swift_Plugins_DecoratorPlugin(array($to_plugin => $template_vars))); (ligne 351) le template_txt dans $message->addPart($template_txt, 'text/plain', 'utf-8'); (ligne 353) Puis les 2 instances $message et $swift se retrouvent ici $send = $swift->send($message); (ligne 372)
  3. Oui il s'agit de la même adresse mail et le port 25 est bloqué et ne peut pas être utilisé sur le serveur.
  4. La version est 1.6.1.17 et je ne connais pas le nom du serveur mail mais mon hébergeur est Ikoula. Ils décrivent comment configurer l'envoi de mail par SMTP ici https://support.ikoula.com/index-1-2-136-2672-Hébergement-Linux-Mail-Imap.html Dans mon back office j'ai rempli dans l'ordre nomdedomain.com mail.nomdedomain.com utilisateur@nomdedomain.com mdp aucune encryption port 587 Ce sont les même informations que je fournis lors de l'envoi d'un mail avec PHPMailer.
  5. J'aimerai ne pas réinventer la roue mais je n'ai pas vraiment le choix. Sans encryption -> Expected response code 250 but got code "530", with message "530 5.7.0 Must issue a STARTTLS command first " Encryption TLS -> Unable to connect with TLS encryption Encryption SSL -> Connection could not be established with host mondomain.com [ #0] Pour palier à ce problème j'utilise PHPMailer et n'ai aucun soucis à envoyer des mails sans aucune encryption.
  6. Je suis toujours à la recherche d'aide sur ce problème
  7. C'est un peu ce que je voulais éviter de faire et utiliser les fonctions déjà existantes pour obtenir le texte final car il y a bien quelque chose qui utilisent ces variables et le template pour en faire un texte. Dans la fonction sendMailTest il y a un texte que l'on ajoute à l'instance $message avec la ligne ->setBody($content); ce fameux content est le texte final sachant que l'instance $message de la fonction test et celle utilisée pour envoyer les mails aux clients sont du même type (Swift_Message) il doit bien y avoir un moment où on donne à l'instance $message le texte final avant son envoi mais où ? C'est ce que je cherche à découvrir. Je retrouve le setBody à la ligne 366 mais elle est utilisée pour donner les pièces jointes et non le texte. $message->attach(Swift_Attachment::newInstance()->setFilename($attachment['name'])->setContentType($attachment['mime'])->setBody($attachment['content']));
  8. Bonsoir, Suite à un changement de serveur je suis obligé d'utiliser le mode SMTP de prestashop pour envoyer des mails mais celui-ci ne fonctionne pas donc j'utilise une autre méthode utilisant également le SMTP qui fonctionne parfaitement. Mais je reste bloqué sur la récupération du texte des mails, ce qui est appelé body sur prestashop . Je dispose de toutes les informations dont j'ai besoin pour envoyer correctement mes mails mais cela ne sert à rien si je n'ai pas le texte. J'utilise prestashop 1.6.1.17 et n'utilise que les mails en format txt. Le code est dans la fonction send() du fichier mail.php se trouvant dans classes mais impossible de savoir quelle fonction utiliser sur l'instance $message ou $swift. $message->getBody(); ou $message->_bodyToString() m'envoie sur une erreur 500 tandis que $message->toString(); me renvoie tout le contenu de l'objet message donc inutile mais cela montre bien que $message possède toutes les infos nécessaire à la construction du mail.
×