AZARA

ModuleEMAIL

PagePrincipale :: DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes 38.107.191.96

ModuleEMAIL

Ce module va permettre de pouvoir envoyer des mails.


#!/usr/bin/python
# -*- coding: ISO-8859-15 -*-
"""
   module mail ; par BURNEY Remy
"""


""" importation module """
import smtplib
import time

def sendMail(exp, dest, obj, message):
   """ envoi un mail en fonction de l'expéditeur, du destinataire, avec un objet, un message, par l'intermédiaire d'un serveur smtp """
   
   date = time.ctime(time.time())
   msg = """From: %s
   Subject: %s
   Date: %s
   To: %s
\n\n %s """ %( exp, obj, date, exp, message)

   s = smtplib.SMTP(messager)#smtp.free.fr; mail.clubinternet.fr ; ...
   s.set_debuglevel(1)
   s.sendmail(exp, dest, msg)
   s.quit()


exemple :

sendMail("exp@voila.fr","dest@gmail.com","bonjour toi","coucou")

[PyNatim] : C'est pas mal, il faut juste que tu rajoute quelques headers pour éviter le courrier indésirable.

[PyNatim] : MIME-Version: 1.0'
[PyNatim] : Content-type: text/html; charset=iso-8859-15

[PyNatim] : Je suis plus partisant de mettre des \r\n à la fin des lignes même si un retour effectif ou un \n fonctionne.
[PyNatim] : Utilise donc plutôt la concaténation pour faire un truc plus pro ;)

[BurneyWiki] : Voici la nouvelle version du module mail, il est plus propre et plus fonctionel.
[BurneyWiki] : La nouvelle version est conforme au règle que Mr Guyeux ma donnée.

#!/usr/bin/python
# -*- coding: UTF-8 -*-

#
#   Module mail ; par BURNEY Remy
#   Réalisé le 10/11/2006
#   

# Importations des modules nécessaires
import smtplib
import time

class mail:
"""
Class de gestion de mails pour l'application de Gestion de Projets de l'IUT de Belfort-Montbéliard.
------------------------------------------------------------------------------------------
Utilisation :
------------
from module_mail import *
monMail=mail([expediteur][, destinataire][, objet][, message][,serveur])

Méthodes implémentées :

- monMail.defExp(expediteur)
- monMail.defDest(destinataire)
- monMail.defObj(objet)
- monMail.defMsg(message)
- monMail.defServeur(serveur)
- monMail.sendMail([expediteur][, destinataire][, objet][, message][,serveur])
"""

    exp="pas d'expediteur"
    dest="pas de destinataire"
    obj="pas d'objet"
    msg="pas de message"
    serveur="pas de serveur"

    def __init__(self, exp = "", dest = "", obj = "", msg = "",serveur = ""):
        """Créer un mail :
monmail = mail([expediteur][, destinataire][, objet][, message])
Les paramètres, s'ils sont omis, seront à définir par la suite à l'aide des méthodes prévues à cet effet."""
            if exp != "":
                self.exp = exp
            if dest != "":
                self.dest = dest
            if obj != "":
                self.obj = obj
            if msg != "":
                self.msg = msg
            if serveur != "":
                self.serveur = serveur

    def defExp(self, exp):
        """ Définit un expéditeur par défaut :
monMail.defExp(expediteur)
ou expediteur est une chaine de caractères."""
        self.exp = exp

    def defDest(self, dest):
        """ Définit un destinataire par défaut :
monMail.defDest(destinataire)
ou destinataire est une chaine de caractères."""
        self.dest = dest

    def defObj(self, obj):
        """ Définit un objet par défaut :
monMail.defObj(objet)
ou objet est une chaine de caractères."""
        self.obj = obj

    def defMsg(self, msg):
        """ Définit un message par défaut :
monMail.defMsg(message)
ou message est une chaine de caractères."""
        self.msg = msg

    def defServeur(self, serveur):
        """ Définit un serveur par défaut :
monMail.defServeur(serveur)
ou serveur est une chaine de caractères."""
        self.serveur = serveur

    def sendMail(self, exp = self.exp, dest = self.dest, obj = self.obj, message = self.msg, serveur = self.serveur):
       """ envoi un mail en fonction de l'expediteur, du destinataire,
avec un objet et un message, par l'intermediaire d'un serveur smtp
monMail.sendMail(expediteur, destinataire, objet, message, serveur)
monMail.sendMail() si les informations concernant le mail sont déja enregistré
ou expediteur, destinataire, objet, message et serveur sont des chaines de caractères."""

       # recupère la date courante
       date = time.ctime(time.time())
   
       # definition du mail
       msg = "From: %s\r\nSubject: %s\r\nDate: %s\r\nTo: %s\r\n\r\n %s" %( exp,
                                                                       obj,
                                                                       date,
                                                                       dest,
                                                                       message)
       # ouverture d'une connexion avec le serveur
       s = smtplib.SMTP(serveur)
       # affichage du débuguage avec 1 sinon 0
       s.set_debuglevel(0)
       # envoi du mail
       s.sendmail(exp, dest, msg)
       # fermeture de la connexion avec le serveur
       s.quit()



<< ModuleLDAP PagePrincipale ModuleARCHIVE >>

Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]