We apologize for untranslated text, you can use the Google Translation button to get an automatic translation of the web page in the language of your choice.

Envoie automatique de mail

Anthony Clergeot · on 3/15/17 at 11:45 AM

Bonjour,

Je souhaiterais savoir comment envoyer un mail après la création d'une publication.

Quand un utilisateur s'inscrit, il remplis un formulaire d'édition de type InscriptionRdv. J'aimerais, lorsque l'utilisateur remplis le champ mail, qu'un message (ex: accusé de reception) lui soit envoyer à l'adresse renseignée.

Si vous pouviez m'aiguillez, je vous en remercierais.

4 pts
Kévin Moreau · on 3/15/17 at 12:19 PM

Bonjour, 

Vous pouvez peut-être répondre à votre besoin avec les workflows JCMS et notamment les actions entrantes des états où vous avez la possiblité de prevenir le rédacteur. 

Sinon, vous pouvez faire un DataController, dans la méthode afterWrite, developper un petite methode d'envoie de mail (très facile sur JCMS). 

Quelques docs : 

https://community.jalios.com/jcms/jx_12850/fr/jcms-5-developper-avec-dcm-et-les-datacontroller

https://community.jalios.com/docs/javadoc/com/jalios/jcms/mail/MailMessage.html 

#1

Merci pour votre réponse rapide, je vais regarder cela.

Anthony Clergeot · on 3/15/17 at 12:55 PM
0 pts
Anthony Clergeot · on 3/15/17 at 1:55 PM

J'ai fais une petite méthode pour tester, mais j'ai rencontré l'erreur suivante:
[MailUtil] - Mails are disabled, the following message(s) were not sent:
[MailUtil] -  1: "Accusé de reception - Inscription" to monAdresseMail

Apparemment, l'envoie de mail est désactivé, sauriez vous comment l'activer ?

Ci-joint, le code de la méthode:
public void sendMailAccuseReception(DBInscriptionRv inscription) throws Exception {
    MailMessage mail = new MailMessage("myplugin.log-mail");
    mail.setFrom(CHANNEL.getDefaultAdmin());
    mail.setSubject(glp("Accusé de reception - Inscription"));
    mail.setContentText("Accusé de reception pour l'inscription : " + inscription.getTitle());
    mail.setTo(inscription.getMail());

    mail.send();
  }

#2

En effet, merci.

Anthony Clergeot · on 3/15/17 at 2:12 PM
#3

J'ai encore une question. J'aimerais joindre un fichier au mail qui n'est pas présent sur le disque dur, seulement en mémoire. Actuellement, je me retrouve avec un tableau de byte bytes[]. Il représente un fichier pdf, construit avec itext. Comment l'insérer dans le mail sans l'enregistrer ?

Anthony Clergeot · on 3/16/17 at 12:58 PM
#4

C'est bon, mon problème est réglé.

Anthony Clergeot · on 3/17/17 at 10:28 AM
0 pts