comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[tkinter/Gmail] Email-Sender

  • 9 Respuestas
  • 3903 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Barlan

  • *
  • Underc0der
  • Mensajes: 89
  • Actividad:
    0%
  • Reputación 0
  • "The demons of my own design"
    • Ver Perfil
  • Twitter: @BarlanV
« en: Enero 19, 2015, 04:12:23 am »
(Mi primer aporte! :'D)
Buenas noches/tardes/días, escribí este simple email sender como parte de mis prácticas con tkinter (y de paso con smtplib), y con Python 3.4
Código: Python
  1. # Coded by Barlan. 2015
  2. from tkinter import *
  3. from tkinter.messagebox import showinfo, showerror
  4. import smtplib
  5.  
  6. class Login(Tk):
  7.         '''Here the Login window appears and receives data from:
  8.                 - Email account.
  9.                 - Password.
  10.                 Also, tries to log in to your gmail account.'''
  11.         def __init__(self):
  12.                 try:
  13.                         self.gmail = smtplib.SMTP("smtp.gmail.com", 587)
  14.                 except Exception as e:
  15.                         showerror("Fatal Error", str(e))
  16.                         exit()
  17.                 Tk.__init__(self)
  18.                 #self.geometry("268x157")
  19.                 self.resizable(0,0)
  20.                 self.title("e-Sender")
  21.                 self.config(bg="black")
  22.                
  23.                 me = StringVar()
  24.                 mp = StringVar()
  25.                 Label(self, text="Your Gmail account:", bg="black", fg="green").grid(row = 0, column = 0, sticky=W)
  26.                 self.my_email = Entry(self, textvariable=me, width = 25)
  27.                 self.my_email.grid(row = 0, column = 1)
  28.  
  29.                 Label(self, text="Your Password:", bg="black", fg="green").grid(row = 1, column = 0, sticky=W)
  30.                 self.my_passw = Entry(self, textvariable=mp, width = 25)
  31.                 self.my_passw.grid(row = 1, column = 1)
  32.  
  33.                 self.email_button = Button(self, text="Enter", command=self.login_gmail, bg="black", fg="green")
  34.                 self.email_button.grid(row = 2, column = 0, sticky=NSEW)
  35.  
  36.                 salir = Button(self, text="Exit", command=self.quit, bg="black", fg="red")
  37.                 salir.grid(row = 2, column = 1, sticky=NSEW)
  38.  
  39.         def login_gmail(self):
  40.                 account = self.my_email.get()
  41.                 self.password = self.my_passw.get()
  42.                 self.gmail.ehlo()
  43.                 self.gmail.starttls()
  44.                 try:
  45.                         self.gmail.login(account, self.password)
  46.                         showinfo("Success", "You are now logged in Gmail.")
  47.                 except:
  48.                         showerror("Error", "Unable to login into %s." % account)
  49.                         exit()
  50.                 gmail = self.gmail
  51.                 newEmail(gmail, account)
  52.                 self.withdraw()
  53.  
  54. class newEmail(Login):
  55.         ''' Now we can create a new email, specifying:
  56.                         - to
  57.                         - subject
  58.                         - message'''
  59.         def __init__(self, gmail, account):
  60.                 Tk.__init__(self)
  61.                 self.resizable(0,0)
  62.                 self.title("New Email")
  63.                 self.config(bg="black")
  64.                 self.gmail = gmail
  65.                 self.email = account
  66.  
  67.                 et = StringVar()
  68.                 es = StringVar()
  69.                 Label(self, text="From: %s" % account, bg="black", fg="orange").grid(row=0, column=0, sticky=NSEW)
  70.  
  71.                 Label(self, text="To:", bg="black", fg="green").grid(row = 1, column = 0, sticky=W)
  72.                 self.email_to = Entry(self, textvariable=et, width = 25)
  73.                 self.email_to.grid(row = 1, column = 1, sticky=E)
  74.  
  75.                 Label(self, text="Subject:", bg="black", fg="green").grid(row = 2, column = 0, sticky=W)
  76.                 self.email_subject = Entry(self, textvariable=es, width = 25)
  77.                 self.email_subject.grid(row = 2, column = 1, sticky=E)
  78.  
  79.                 Label(self, text="Your Message:", bg="black", fg="green").grid(row = 3, column = 0, sticky=W)
  80.                 self.email_msg = Text(self, width = 25, height = 5)
  81.                 self.email_msg.grid(row = 3, column = 1, sticky=E)
  82.  
  83.                 self.email_button = Button(self, text="Send", command=self.sendEmail, bg="black", fg="green")
  84.                 self.email_button.grid(row = 4, column = 0, sticky=NSEW)
  85.  
  86.                 salir = Button(self, text="Exit", command=self.quit, bg="black", fg="red")
  87.                 salir.grid(row = 4, column = 1, sticky=NSEW)
  88.  
  89.         def sendEmail(self):
  90.                 self.to = self.email_to.get()
  91.                 self.subject = self.email_subject.get()
  92.                 self.msg = self.email_msg.get("1.0", END)
  93.                 headers = "From: %s\nTo: %s\nSubject: %s\n\n" % (self.email, self.to, self.subject)
  94.                 body = str(headers + self.msg)
  95.                 try:
  96.                         self.gmail.sendmail(self.email, self.to, body)
  97.                         showinfo("Completed","Email sent successfully to %s" % self.to)
  98.                         exit()
  99.                 except Exception as e:
  100.                         showerror("Error", str(e))
  101.                         exit()
  102.  
  103. L = Login()
  104. L.mainloop()
  105.  





Probablemente se puede añadir o quitar cosas, pero solo fué de práctica, ya luego lo mejoraré (si es que me acuerdo xD).
Saludos!
« Última modificación: Mayo 06, 2015, 10:23:51 pm por Barlan »


Conectado blackdrake

  • *
  • Co Admin
  • Mensajes: 1910
  • Actividad:
    13.33%
  • Reputación 15
    • Ver Perfil
« Respuesta #1 en: Enero 19, 2015, 09:07:38 am »
Muy bueno Barlan! ahora voy a leer el código para ver como lo has hecho, la interfaz me gusta bastante, simple y eficaz!

Un saludo.



Desconectado rollth

  • *
  • Underc0der
  • Mensajes: 874
  • Actividad:
    0%
  • Reputación 16
  • El conocimiento es libre.
    • Ver Perfil
    • Whateversec
    • Email
  • Twitter: @RoloMijan
« Respuesta #2 en: Enero 19, 2015, 09:29:44 am »
Muy bueno, te comento que en py no se porque mis conocimientos en ese leguaje son bajos, pero en php no hace falta introducir contraseña para mandar correo desde x email, podrias intentarlo, como un reto.

Rollth
Buen hacker mejor persona.
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado Barlan

  • *
  • Underc0der
  • Mensajes: 89
  • Actividad:
    0%
  • Reputación 0
  • "The demons of my own design"
    • Ver Perfil
  • Twitter: @BarlanV
« Respuesta #3 en: Enero 19, 2015, 01:42:44 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Muy bueno Barlan! ahora voy a leer el código para ver como lo has hecho, la interfaz me gusta bastante, simple y eficaz!

Un saludo.

Si, tenía planeado personalizarlo más, no sé ponerle una imagen simple de fondo (entre otras imagenes), pero no supe como. Probablemente si se puede, pero no conozco mucho de tkinter. De hecho, en el proceso aprendí muchisimo de el. Así que si álguien es tan amable de decirme como hacerlo, se lo agradecería mucho.

Saludos!

No tienes permisos para ver links. Registrate o Entra con tu cuenta
Muy bueno, te comento que en py no se porque mis conocimientos en ese leguaje son bajos, pero en php no hace falta introducir contraseña para mandar correo desde x email, podrias intentarlo, como un reto.

Es un proyecto viejito que nunca terminé, gracias por recordarmelo. xD
Lo escribiré esta semana, aprovechando que estos días la escuela no será un gran peso mental.
Espero publicarlo pronto.

Saludos!


Desconectado Once

  • *
  • Underc0der
  • Mensajes: 391
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • El blog de Once
  • Twitter: @don_once
« Respuesta #4 en: Enero 19, 2015, 03:53:42 pm »
Muy bueno bro, gracias por compartir el código. Solo una recomendación, intenta usar para las identaciones solo cuatro espacios.

Saludos!






No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado Barlan

  • *
  • Underc0der
  • Mensajes: 89
  • Actividad:
    0%
  • Reputación 0
  • "The demons of my own design"
    • Ver Perfil
  • Twitter: @BarlanV
« Respuesta #5 en: Enero 20, 2015, 12:22:41 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Muy bueno bro, gracias por compartir el código. Solo una recomendación, intenta usar para las identaciones solo cuatro espacios.

Saludos!

Gracias.
Y gracias por la recomendación. ;D


Desconectado Snifer

  • *
  • Underc0der
  • Mensajes: 1439
  • Actividad:
    0%
  • Reputación 1
  • Snifer@L4b's
    • Ver Perfil
    • Snifer@L4bs
  • Twitter: sniferl4bs
« Respuesta #6 en: Enero 21, 2015, 08:08:21 am »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Muy bueno, te comento que en py no se porque mis conocimientos en ese leguaje son bajos, pero en php no hace falta introducir contraseña para mandar correo desde x email, podrias intentarlo, como un reto.

Claro que puedes hacerlo usando una libreria propia, creando un smtp local lo que hace este script es mandar el correo por medio de GMAIL logueandote en una cuenta y a partir de ello realiza el bombardeo.


Por otra parte buen código a seguir mejorandolo!..

Regards,
Snifer
No tienes permisos para ver links. Registrate o Entra con tu cuenta


Llaman traidor a la persona que evito que caiga el foro, gente bruta!



Desconectado Barlan

  • *
  • Underc0der
  • Mensajes: 89
  • Actividad:
    0%
  • Reputación 0
  • "The demons of my own design"
    • Ver Perfil
  • Twitter: @BarlanV
« Respuesta #7 en: Enero 21, 2015, 02:08:41 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Muy bueno, te comento que en py no se porque mis conocimientos en ese leguaje son bajos, pero en php no hace falta introducir contraseña para mandar correo desde x email, podrias intentarlo, como un reto.

Claro que puedes hacerlo usando una libreria propia, creando un smtp local lo que hace este script es mandar el correo por medio de GMAIL logueandote en una cuenta y a partir de ello realiza el bombardeo.


Por otra parte buen código a seguir mejorandolo!..

Regards,
Snifer

Gracias.  ;D


Desconectado frykytxuso

  • *
  • Underc0der
  • Mensajes: 2
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #8 en: Abril 14, 2017, 08:26:23 am »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Muy bueno, te comento que en py no se porque mis conocimientos en ese leguaje son bajos, pero en php no hace falta introducir contraseña para mandar correo desde x email, podrias intentarlo, como un reto.

quieres decir que puedo mandar un correo de gmail desde una cuenta que no sea mia?
o entendi mal?

Desconectado xyz

  • *
  • Moderador Global
  • Mensajes: 448
  • Actividad:
    21.67%
  • Reputación 10
    • Ver Perfil
    • Under0cde
« Respuesta #9 en: Abril 14, 2017, 03:23:36 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Muy bueno, te comento que en py no se porque mis conocimientos en ese leguaje son bajos, pero en php no hace falta introducir contraseña para mandar correo desde x email, podrias intentarlo, como un reto.

quieres decir que puedo mandar un correo de gmail desde una cuenta que no sea mia?
o entendi mal?
Exacto.
 Ya que sólo inicia sesión en el servidor smtp.

 Saludos !!

 

¿Te gustó el post? COMPARTILO!



script en python para envio de mail con cuenta en gmail

Iniciado por StepClose

Respuestas: 3
Vistas: 1118
Último mensaje Junio 12, 2018, 03:09:03 am
por master_bin
[Ejemplo] Enviar mensaje desde tu cuenta Gmail [Python]

Iniciado por LucaSthefano

Respuestas: 3
Vistas: 1591
Último mensaje Junio 26, 2011, 09:02:30 pm
por LucaSthefano
como con cx_Freeze exportar tkinter a exe con algunas librerias usadas

Iniciado por royer14

Respuestas: 2
Vistas: 883
Último mensaje Noviembre 08, 2017, 07:58:37 pm
por royer14
[Python\Tkinter] Consola de comandos Kyurem V2.0

Iniciado por Razel

Respuestas: 0
Vistas: 1100
Último mensaje Agosto 17, 2013, 11:52:08 am
por Razel
24sms.net Sender

Iniciado por Sanko

Respuestas: 2
Vistas: 2358
Último mensaje Junio 03, 2013, 02:33:32 am
por Sanko