forked from CroceRossaItaliana/jorvik
-
Notifications
You must be signed in to change notification settings - Fork 0
Posta: Inviare una e mail
Alfio Emanuele edited this page Jul 13, 2015
·
7 revisions
Creare un modello in posta/templates/
con un nome significativo, che inizi con email_
es.:
email_attivita_partecipazione_concessa.html
Il contenuto deve essere come segue:
{% extends 'email.html' %}
{% block corpo %}
<p>Qui il contenuto della e-mail.<p>
<p>Ci sono anche le variabili. Ad esempio, {{ esempio }}.</p>
<p>Ancora meglio, si possono passare oggetti. Ad esempio, passando una persona, posso:</p>
<p>Nome completo: {{ persona.nome_completo }}.</p>
<p>Solo cognome: {{ persona.cognome }}.</p>
<p>Data di nascita: {{ persona.data_nascita }}.</p>
{% endblock %}
Notasi che in questo esempio, {% extends 'email.html' %}
vuol dire che il modello eredita i contenuti (es. header e footer) da email.html
.
Il metodo piu' rapido e' quello di usare uno dei due metodi scorciatoia:
-
Messaggio.costruisci_e_invia
per inviare immediatamente, -
Messaggio.costruisci_e_accoda
per accodare il messaggio per l'invio asincrono.
Entrambe le funzioni hanno la stessa firma, ovvero:
-
oggetto
. Oggetto del messaggio. Obbligatorio. -
modello
. Modello del messaggio (in/posta/templates/
). Obbligatorio. -
corpo
. Dizionario che contiene le sostituzioni. Opzionale. Da includere solo se almeno una variabile nel modello. -
mittente
. Mittente del messaggio. Opzionale. Se non specificato oNone
, il mittente sara' Gaia (notifica di sistema). -
destinatari
. Destinatario del messaggio. Opzionale. Se non specificato o[]
, il destinatario sara' il Supporto di Gaia.
Seguono degli esempi di utilizzo.
Messaggio.costruisci_e_invia(
oggetto="Oggetto del messaggio",
modello="email_attivita_partecipazione_concessa.html",
corpo={
"esempio": "La mia variabile",
"persona": Persona.objects.get(codice_fiscale='XYZ'),
},
mittente=me, # me=utente attuale, qualunque Persona o None per notifica di sistema.
destinatari=[
Persona.objects.get(codice_fiscale='ABC'),
Persona.objects.get(codice_fiscale='DEF')
]
)
presidente = Persona.objects.get(codice_fiscale='AXD')
comitato = Sede.objects.get(id=123)
Messaggio.costruisci_e_accoda(
oggetto="Oggetto del messaggio di massa",
modello="email_attivita_partecipazione_concessa.html",
corpo={
"esempio": "La mia variabile",
"persona": Persona.objects.get(codice_fiscale='XYZ'),
},
mittente=presidente,
destinatari=comitato.membri_attuali()
)