Jump to content

Comment utiliser la classe Mail


Recommended Posts

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

$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

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

  • 5 months later...

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...