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()