Hello à tous,
je partage avec vous un bout de code pour faire du publipostage.
Attention ce code utilise gnus et org-msg
Si vous avez d'autres solutions n'hésitez pas à partager ;-).
,----
| * Recipients
| #+NAME: email-recipients
| | Name | Email |
| |----------+---------------------|
| | Karine | k.soulet@gmail.com |
| | Mireille | m.tonloto@gmail.com |
|
|
| * Template
| #+NAME: email-template
| #+BEGIN_SRC org
| Dear {{name}},
|
| We are pleased to inform you about our upcoming event.
|
| Best regards,
| The Team
| #+END_SRC
|
|
|
| * Code to Send Emails
| #+NAME: send-emails
| #+BEGIN_SRC emacs-lisp :var template=email-template :var
recipients=email-recipients :results silent
| (defun org-mail-merge-send (template recipients)
| "Envoie des courriels personnalisés à partir d'un TEMPLATE et
d'une liste de RECIPIENTS via `gnus-summary-news-other-window`, avec
confirmation avant envoi."
| (dolist (recipient recipients)
| (let* ((name (nth 0 recipient))
| (email (nth 1 recipient))
| (subject "Upcoming Event")
| (personalized-content (replace-regexp-in-string
"{{name}}" name template)))
| (gnus-summary-mail-other-window)
| (message-goto-to)
| (insert email)
| (message-goto-subject)
| (insert subject)
| (org-msg-goto-body)
| (insert personalized-content)
| (if (y-or-n-p (format "Envoyer l'email à %s ?" email))
| (message-send-and-exit)
| (message-kill-buffer)))))
|
| ;; Appel de la fonction avec les variables d'Org-Babel
| (org-mail-merge-send template recipients)
| #+END_SRC
`----
Cordialement.
--
((name . (or Matt DarkBuffalo))
(site . gnu.re))