AAymeric Posted February 22, 2011 Share Posted February 22, 2011 Bonjour à tous,Je suis entrain de développer un module qui envoie un mail suite à un événement précis.J'aimerais envoyer un mail avec une pièce jointe, un fichier pdf, qui est sur mon serveur.Comment utiliser la classe Mail pour faire ceci ?J'ai essayé de regarder dans plusieurs modules et dans la classe Mail, mais j'ai rien trouvé qui colle à mon besoin.Je pense être sur la bonne piste en utilisant Mail::Send, et en bidouillant la variable $fileAttachment, mais il me manque quelque chose.Je comprends mal, quoi mettre dans la variable $fileAttachment['content'], $fileAttachment['name'].Si quelqu'un à une idée, je suis preneur.Bonne journée à tous =) Link to comment Share on other sites More sharing options...
AAymeric Posted February 22, 2011 Author Share Posted February 22, 2011 $fileAttachment[‘name’] correspond au nom du fichier que le destinataire du mail va recevoir.Pour ce qui est de la variable $fileAttachment[‘content’], je comprends pas du tout. C'est le contenu directement du fichier pdf peut-être ?Help me Link to comment Share on other sites More sharing options...
Vincent Decaux Posted February 22, 2011 Share Posted February 22, 2011 C'est en effet le fichier, par exemple dans la classe PayementModule, tu as ça : $fileAttachment['content'] = PDF::invoice($order, 'S'); $fileAttachment['name'] = Configuration::get('PS_INVOICE_PREFIX', intval($order->id_lang)).sprintf('d', $order->invoice_number).'.pdf'; $fileAttachment['mime'] = 'application/pdf'; C'est le mail envoyé avec la facture. Et si tu regardes dans la classe PDF, tu verras que le mode 'S' signifie que le fichier est envoyé. En clair, il attend le contenu d'un fichier oui.Mais, pour tes besoins particuliers, regardes plutôt la documentation de SWIFT et utilise leurs fonctions. La classe Mail est spécifique à Prestashop, ce n'est pas elle qui permet d'envoyer les mails en général.http://swiftmailer.org/docs/message-quickref Link to comment Share on other sites More sharing options...
AAymeric Posted February 23, 2011 Author Share Posted February 23, 2011 Merci pour le lien, il est très intéressant.J'ai une petite question. Si je récupère le contenu d'un fichier pdf en php, et que je colle le contenu dans $fileAttachment['content'], en théorie ça doit fonctionné ? Link to comment Share on other sites More sharing options...
Alexandre ZERBIB Posted July 25, 2011 Share Posted July 25, 2011 C'est en effet le fichier, par exemple dans la classe PayementModule, tu as ça :<br/> <br/>$fileAttachment['content'] = PDF::invoice($order, 'S');<br/>$fileAttachment['name'] = Configuration::get('PS_INVOICE_PREFIX', intval($order->id_lang)).sprintf('d', $order->invoice_number).'.pdf';<br/>$fileAttachment['mime'] = 'application/pdf';<br/> <br/><br/>C'est le mail envoyé avec la facture. Et si tu regardes dans la classe PDF, tu verras que le mode 'S' signifie que le fichier est envoyé. En clair, il attend le contenu d'un fichier oui.<br/><br/>Mais, pour tes besoins particuliers, regardes plutôt la documentation de SWIFT et utilise leurs fonctions. La classe Mail est spécifique à Prestashop, ce n'est pas elle qui permet d'envoyer les mails en général.<br/>http://swiftmailer.org/docs/message-quickref Moi aussi je voudrais développer un module qui envoie des mails mais la doc de swiftmailer sur le site concerne la version 4.4.1 or dans prestashop 1.4.3 c'est la version 3.3.2 de swiftmail qui semble utilisée. le README de la version 4.1.1 indique que celle-ci est radicalement différente des 3.x. Bref, peut-on avoir un mini tuto pour utiliser les mails dans prestashop ? Ou faut-il installer swiftmail 4.1.1 en plus ? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now