Envoi d'email + interface graphique

Soyez le premier à donner votre avis sur cette source.

Vue 34 245 fois - Téléchargée 1 349 fois

Description

Un Outlook Express en Python et simplifié

Source / Exemple :


import smtplib
import time
from Tkinter import *
a=0
def GO () :
    global recepteur,emeteur,sujet,date,corpdutexte,a,serveur
    emeteur=emeteur_.get()
    recepteur=recepteur_.get()
    sujet=sujet_.get()
    date=date_.get()
    corpdutexte=corpdutexte_.get()
    serveur_.get()
    root.destroy()
    a=1

root=Tk()
emeteur_=Entry()
emeteur_.grid(row=1,column=2)
Label(text='Entrez l\'email de l\'emeteur').grid(row=1,column=1)
recepteur_=Entry()
recepteur_.grid(row=2,column=2)
Label(text='Entrez l\'email du recepteur').grid(row=2,column=1)
sujet_=Entry()
sujet_.grid(row=3,column=2)
Label(text='Entrez le sujet').grid(row=3,column=1)
date_=Entry()
date_.grid(row=4,column=2)
Label(text='Entrez la date').grid(row=4,column=1)
corpdutexte_=Text()
corpdutexte_.grid(row=6,column=1,columnspan=2)
Label(text='Corp du texte :').grid(row=5,column=1,columnspan=2)
Button(text='      Poster      '*7,command=GO).grid(row=8,column=1,columnspan=2)
serveur_=Entry()
serveur_.grid(row=7,column=2)
Label(text=' Option : changez le serveur').grid(row=7,column=1)
emeteur_.insert('0','Anonimous@free.fr')
serveur_.insert('0','smtp.wanadoo.fr')
date_.insert('0',time.ctime(time.time()))
root.mainloop()
if a :
    from_addr = emeteur
    to_addrs = [recepteur]
    msg = """From: %s
    Subject: %s
    Date: %s
    To: %s
    %s
    """ % (emeteur,sujet,date,recepteur,corpdutexte)
    s = smtplib.SMTP(serveur)
    s.set_debuglevel(1)
    s.sendmail(from_addr, to_addrs, msg)
    s.quit()

Conclusion :


En remerciant Sorcier0011 ("http://www.pythonfrance.com/code.aspx?ID=37044")
et son script trouvé sur "http://quickies.seriot.ch/index.php?cat=2"

"""""""""""""""""""""""""""""""""""""""
Attention :

Vous pouvez peut être 'simuler' l'anonymat avec un mail qui ne vous appartient pas, mais il m'a suffit de 3s (lors du test) pour trouver la vraie source, la vraie date et L'IP du serveur et de l'envoyeur...
""""""""""""""""""""""""""""""""""""""

De plus a terme indicatif un ""while a==1 :"" a la place ""if a :"" fera lancer une vague de message identique pour la source, ce qui est totalement illégale sauf si l'expéditeur est d'accord avec vous pour recevoir une déferlante de message...

"""""""""""""""""""""""""""""""""""""""

Et pour finir :
PERSONNE NE DIT QUE J?AI FAIT DES FAUTES D?ORTHOGRAPHE !!!!!

(j?ai passé le traducteur automatique)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
86
Date d'inscription
jeudi 18 août 2005
Statut
Membre
Dernière intervention
20 février 2007

Merci pour l'explication
Aune autre fois
HCD
Messages postés
336
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
8 novembre 2011
1
beaucoup de messagerie mail on des anti-spam, les messages envoyés par des robots sont refusés.
Messages postés
86
Date d'inscription
jeudi 18 août 2005
Statut
Membre
Dernière intervention
20 février 2007

MERCI Xeoline
Le code fonctionne corectement en effet : pas de msg d'erreur sur le shell
Par contre ma messagerie ne reçoit rien
???
A+
HCD
Messages postés
336
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
8 novembre 2011
1
il te suffit de changer corpdutexte=corpdutexte_.get()
en

corpdutexte=corpdutexte_.get("0.0")

Il faut indiquer a python ou commencer.

Ca arrive quand on utilise Tkinter.Text(), contrairement à Tkinter.Label() ... Chez moi il y a pas besoin.
Messages postés
86
Date d'inscription
jeudi 18 août 2005
Statut
Membre
Dernière intervention
20 février 2007

MERCI pour ta réponse.
Voici le message que je reçois quand je lance le run.
Comme destinataire, j'ai mis mon adresse électronique perso.
???
HCD

Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python25\lib\lib-tk\Tkinter.py", line 1414, in __call__
return self.func(*args)
File "F:\PYTHON\mail.py", line 11, in GO
corpdutexte=corpdutexte_.get()
TypeError: get() takes at least 2 arguments (1 given)
Afficher les 11 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.