6.15. Sending e-mail
6.15.1 SendMail()
Karrigell fournit une classe,SendMail()
, vous permettant de facilement envoyer des e-mails.Utilisation de
SendMail()
:
import k_email
msg = k_email.SendMail(u"Sujet de ce message", 'smtp.server.com')
Les paramètres de
SendMail()
sont :
subject
: Sujet du message.smtp_server
: Nom du serveur SMTP utilisé pour envoyer le message.
6.15.2 set_from()
La méthodeset_from()
, permet de definir le champ "De" du message.Utilisation de
set_from()
:
msg.set_from("Pierre", "pierre.quentel@wanadoo.fr")
Les paramètres de
set_from()
sont :
name
: Nom "en clair". Si vous ne voulez pas spécifier de nom, cette chaine doit être vide.address
: Adresse e-mail (utilisée quand le destinataire clique "répondre" si le champ "reply to" n'est pas spécifié)
6.15.3 set_reply_to()
La méthodeset_reply_to()
, vous permet de spécifier le champ "répondre à" du message.Utilisation de
set_reply_to()
:
msg.set_reply_to("Pierre", "pierre.quentel@wanadoo.fr")
Les paramètres de
set_reply_to()
sont :
name
: Nom "en clair". Si vous ne voulez pas spécifier de nom, cette chaine doit être vide.address
: Adresse e-mail utilisée pour envoyer la réponse.
6.15.4 set_message()
La méthodeset_message()
, Vous permet de spécifier le contenu du corps du message.Utilisation de
set_message()
:
msg.set_message("Contenu du message.")
Le paramètre de
set_message()
est :
text
: Contenu du corps du message.
6.15.5 add_recipient()
La méthodeadd_recipient()
, vous permet d'ajouter un destinataire.Utilisation de
add_recipient()
:
msg.add_recipient("Paul", "Paul@wanadoo.fr")
msg.add_recipient("Paulette", "Paulette@wanado.fr", cc=True)
Les paramètres de
add_recipient()
sont :
name
: Nom "en clair" du destinataire. Si vous ne voulez pas spécifier de nom, cette chaine doit être vide.address
: Adresse e-mail du destinataire.add_to_header
: Si True, name et address sont ajoutés à la liste "Pour" des destinataires (Valeur par défaut = True).add_to_smtp
: Si True, address est ajoutée à la liste des destinataires du serveur SMTP(Value par défaut = True).cc
: Si True, name et address sont ajoutés à la liste "copie à" des destinataires (Value par défaut = False).
Cela permet d'envoyer un message à une liste de destinaires sans révéler le contenu de cette liste aux destinataires :
msg.add_recipient("My mailing list", '', True, False) # Ajoute le nom du destinaire (affiché dans le gestionnaire d'e-mails)
msg.add_recipient("", "Paul@wanado.fr", False, True) # Ajoute l'adresse à la liste des destinataires du serveur SMTP (pas affiché dans le gestionnaire d'e-mails)
msg.add_recipient("", "Paulette@wanado.fr", False, True) # Ajoute l'adresse à la liste des destinataires du serveur SMTP (pas affiché dans le gestionnaire d'e-mails)
msg.add_recipient("", "Paulo@wanado.fr", False, True) # Ajoute l'adresse à la liste des destinataires du serveur SMTP (pas affiché dans le gestionnaire d'e-mails)
6.15.6 add_attachment()
La méthodeadd_attachment()
, ajoute un fichier attaché au message.Utilisation de
add_attachment()
:
msg.add_attachment("Mon fichier.pdf")
Le paramètre de
add_attachment()
est :
fileName
: Nom du fichier à joindre.
6.15.7 set_smtp_username_and_password()
La méthodeset_smtp_username_and_password()
, permet de définir le nom d'utilisateur
ainsi que le mot de passe permettant d'accéder au serveur SMTP.Utilisation de
set_smtp_username_and_password()
:
msg.set_smtp_username_and_password(smtp_user_name, smtp_password)
Les paramètres de
set_smtp_username_and_password()
sont :
smtp_user_name
: Nom d'utilisateur du serveur SMTP.smtp_password
: Mot de passe associé au nom d'utilisateur.
set_smtp_username_and_password()
seulement si le serveur SMTP que vous utilisez demande une authentification.
6.15.8 send()
La méthode send()
, envoie le message à tous les destinataires qui se trouvent
dans la liste des destinataires du serveur SMTP.
Utilisation de send()
:
msg.send()
6.15.9 Divers
Voici une liste de méthodes qui peuvent être utiles :
set_subject()
: Change le sujet du message.
message_prepend()
: Ajoute du texte au début du message.
message_append()
: Ajoute du texte à la fin du message.
message_prepend_file()
: Ajoute le contenu d'un fichier texte au début du message.
message_append_file()
: Ajoute le contenu d'un fichier texte à la fin du message.
clear_recipients()
: Vide la liste des destinataires.
clear_attachments()
: Vide la liste des fichiers attachés.
set_smtp_server()
: Change l'addresse du serveur SMTP.
6.15.10 Examples
Dans l'exemple suivant, un message est envoyé à 4 destinataires. Un destinataire est en copie ('cc').
Un autre destinataire n'a pas de nom en clair, seule son adresse est connue. 2 fichiers sont attachés au message.
import k_email
msg = k_email.SendMail(u"Subject of this message", 'smtp.server.com')
msg.set_from (u"Karrigell WEB site", '')
msg.set_message('Bonjour')
msg.set_reply_to(u"karrigell group", 'karrigell@googlegroups.com') # Pas obligatoire
msg.add_recipient(u'destinataire 1', 'recipient1@server1.com')
msg.add_recipient(u'destinataire 2', 'recipient2@server2.com')
msg.add_recipient(u'', 'recipient3@server3.com')
msg.add_recipient(u'destinataire 4', 'recipient4@server4.com', cc=True) # Pas obligatoire
msg.add_attachment ("Caracteres ASCII.pdf") # Not mandatory
msg.add_attachment (u"caractères UNICODE.pdf") # Not mandatory
msg.send()
Dans l'exemple suivant, un message est envoyé à 3 destnataires.
Tous les destinataires verront 'Liste de diffusion' en tant qu'expéditeur et 'Liste Karrigell' en tant que destinataire.
import k_email
msg = k_email.SendMail(u"Subjet du message", 'smtp.server.com')
msg.set_from (u"Liste de diffusion", '')
msg.set_message('Bonjour à la liste')
msg.set_reply_to(u"Liste de diffusion", 'list@server.com')
msg.add_recipient(u'Liste Karrigell', '', True, False)
msg.add_recipient(u'', 'recipient1@server1.com', False, True)
msg.add_recipient(u'', 'recipient2@server2.com', False, True)
msg.add_recipient(u'', 'recipient3@server3.com', False, True)
msg.send()