Enviado por hitz el Mar, 04/28/2009 - 10:44.
Posted in
send_mail.py es una clase que me hice en python para el envio simple de mails mediante la libreria smtplib. Si estudiais un poco el código vereis que es muy sencilla de utilizar. Junto a ella adjunto otro pequeño script (simplemail.py) que me hice para enviar mails de manera interactiva utilizando dicha clase, el resultado de su ejecución seria como el siguiente:
bash-3.2$ python simplemail.py Mail Server: smtp.gmail.com Mail from: midireccion@gmail.com Mail to: tudireccion@gmail.com User (leave blank to use same of mail from): Password: Subject: Hola que tal Write your message. Type '.' in a newline to end the message ---------- Begin message --------- Esto es una pequeña prueba de envio de mail mediante python . ---------- End message --------- Use TLS [0,1]: 1 Sending Mail... bash-3.2$
simplemail.py
import send_mail
import getpass
mail = send_mail.SendMail( raw_input('Mail Server: ') )
mail.setDebug(1)
mailfrom = raw_input('Mail from: ')
mailto = raw_input('Mail to: ')
mail.setMailFrom(mailfrom)
mail.setMailTo(mailto)
user = raw_input('User (leave blank to use same of mail from): ')
if len(user) == 0:
user = mailfrom
passw = getpass.getpass('Password: ')
mail.setLogin(user,passw)
subj = raw_input('Subject: ')
mail.setSubject(subj)
print "\nWrite your message. Type '.' in a newline to end the message"
print "\n---------- Begin message ---------"
m = raw_input()
msg = ''
while m != '.':
msg = msg +' \n' + m
m = raw_input()
print "---------- End message ---------\n"
mail.setMsg(msg)
tls = raw_input('Use TLS [0,1]: ')
mail.setTls(tls)
print "\nSending Mail...\n"
mail.send()
|
send_mail.py
import smtplib import string class SendMail: def __init__(self, hostname): self.subject = '' self.tls = 0 self.msg = '' self.mailTo = '' self.mailFrom = '' self.user = '' self.passw = '' self.debug = 0 self.hostname = hostname def setSubject(self,subject): self.subject = subject; def setTls(self,tls): self.tls = int(tls) def setMsg(self,message): self.msg = message def setMailTo(self,mailto): self.mailTo = mailto def setMailFrom(self,mailfrom): self.mailFrom = mailfrom def setLogin(self,user,passw): self.user = user self.passw = passw def setDebug(self,debug): self.debug = debug def send(self): subject='Subject: ' + self.subject + '\n' server = smtplib.SMTP() server.connect(self.hostname,25) #Set debuglevel 1 to see server messages server.set_debuglevel(self.debug) server.ehlo() if self.tls != 0: server.starttls() server.ehlo() if len(self.user) + len(self.passw) != 0: server.login(self.user,self.passw) message = subject + self.msg; server.sendmail(self.mailFrom,self.mailTo,message) server.quit() |
- Inicie sesión o regístrese para enviar comentarios
