Envoyer un MP à une adresse e-mail depuis un plugin

Bonjour,
Je construis un plugin et j’ai besoin d’envoyer quelque chose à l’e-mail d’un utilisateur.
J’utilise

 creator = PostCreator.new(test_user, {
        target_recipients: "someone@toto.com",
        archetype: Archetype.private_message,
        subtype: TopicSubtype.system_message,
        title: "Hello test subject",
        raw: "This is the message. Does it work ?"
      })

test_user est un administrateur

Mais à chaque fois que j’essaie d’envoyer en utilisant cela, j’obtiens l’erreur :
Topic is empty

Des idées ?

Selon les spécifications, cela devrait prendre un nom de groupe ou un nom d’utilisateur :

2 « J'aime »

Bonjour Robert,

C’est étrange car en front-end, Discourse utilise une charge utile comme celle-ci et cela fonctionne (testé avec mon e-mail privé) :

raw: Encore un contenu de message ici.
title: Salut général Kenobi
archetype: private_message
target_recipients: j.doe@something.com

J’ai trouvé étrange que nous attendions un nom de groupe en back-end :confused:

1 « J'aime »

TL;DR utilisez target_emails et non target_recipients

Notez que target_recipients est un paramètre de PostsController, pas un argument pour PostCreator.
Ce contrôleur détermine si les destinataires sont des utilisateurs, des groupes ou des adresses e-mail, puis le transmet finalement en tant que target_emails à NewPostsManager et il se retrouve dans TopicCreator.

5 « J'aime »

Merci ! C’était ça :slight_smile:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.