Sending email using yahoo account in python

I have a yahoo account. Is there any python code to send email from my account?

+6
source share
3 answers

Yes; here is the code:

 import smtplib fromMy = ' yourMail@yahoo.com ' # fun-fact: from is a keyword in python, you can't use it as variable, did abyone check if this code even works? to = ' SomeOne@Example.com ' subj='TheSubject' date='2/1/2010' message_text='Hello Or any thing you want to send' msg = "From: %s\nTo: %s\nSubject: %s\nDate: %s\n\n%s" % ( fromMy, to, subj, date, message_text ) username = str(' yourMail@yahoo.com ') password = str('yourPassWord') try : server = smtplib.SMTP("smtp.mail.yahoo.com",587) server.login(username,password) server.sendmail(fromMy, to,msg) server.quit() print 'ok the email has sent ' except : print 'can\'t send the Email' 
+11
source

I stared (briefly) at using yahoo smtp server. 465 just won't work. I decided to go the TLS route through port 587, and I was able to authenticate and send email.

 import smtplib from email.mime.text import MIMEText SMTP_SERVER = "smtp.mail.yahoo.com" SMTP_PORT = 587 SMTP_USERNAME = "username" SMTP_PASSWORD = "password" EMAIL_FROM = " fromaddress@yahoo.com " EMAIL_TO = " toaddress@gmail.com " EMAIL_SUBJECT = "REMINDER:" co_msg = """ Hello, [username]! Just wanted to send a friendly appointment reminder for your appointment: [Company] Where: [companyAddress] Time: [appointmentTime] Company URL: [companyUrl] Change appointment?? Add Service?? change notification preference (text msg/email) """ def send_email(): msg = MIMEText(co_msg) msg['Subject'] = EMAIL_SUBJECT + "Company - Service at appointmentTime" msg['From'] = EMAIL_FROM msg['To'] = EMAIL_TO debuglevel = True mail = smtplib.SMTP(SMTP_SERVER, SMTP_PORT) mail.set_debuglevel(debuglevel) mail.starttls() mail.login(SMTP_USERNAME, SMTP_PASSWORD) mail.sendmail(EMAIL_FROM, EMAIL_TO, msg.as_string()) mail.quit() if __name__=='__main__': send_email() 
+5
source

To support characters other than ascii; you can use email package :

 #!/usr/bin/env python # -*- coding: utf-8 -*- from email.header import Header from email.mime.text import MIMEText from getpass import getpass from smtplib import SMTP_SSL # provide credentials login = ' you@yahoo.com ' password = getpass('Password for "%s": ' % login) # create message msg = MIMEText('message body…', 'plain', 'utf-8') msg['Subject'] = Header('subject…', 'utf-8') msg['From'] = login msg['To'] = ', '.join([login, ]) # send it s = SMTP_SSL('smtp.mail.yahoo.com', timeout=10) #NOTE: no server cert. check s.set_debuglevel(0) try: s.login(login, password) s.sendmail(msg['From'], msg['To'], msg.as_string()) finally: s.quit() 
+2
source

Source: https://habr.com/ru/post/944300/


All Articles