SaTa
SaTa

Reputation: 2702

How to send email with smtplib in Python with outlook account

I was following this post to send an email using my outlook account: Having trouble with sending an email through SMTP Python

I used that and made a simple test code as follows

username='****'
password='***'
mailServer = smtplib.SMTP('smtp-mail.outlook.com', 587)
mailServer.ehlo()
mailServer.starttls()
mailServer.ehlo()
mailServer.login(username, password)

But it fails with this error

Traceback (most recent call last):

  File "<ipython-input-3-67589181ed6a>", line 7, in <module>
mailServer.login(username, password)

  File "/home/saber/miniconda3/envs/explore/lib/python3.6/smtplib.py", line 730, in login
raise last_exception

  File "/home/saber/miniconda3/envs/explore/lib/python3.6/smtplib.py", line 721, in login
initial_response_ok=initial_response_ok)

  File "/home/saber/miniconda3/envs/explore/lib/python3.6/smtplib.py", line 642, in auth
raise SMTPAuthenticationError(code, resp)

SMTPAuthenticationError: (535, b'5.7.3 Authentication unsuccessful [YQXPR0101CA0037.CANPRD01.PROD.OUTLOOK.COM]')

Any idea what might be the problem?

Upvotes: 1

Views: 15793

Answers (1)

Simon Li
Simon Li

Reputation: 313

Can you change the account to test it? Please refer to the following code:

"""The first step is to create an SMTP object, each object is used for connection 
with one server."""

import smtplib
server = smtplib.SMTP('smtp.gmail.com', 587)

#Next, log in to the server
server.login("youremailusername", "password")

#Send the mail
msg = "
Hello!" # The /n separates the message from the headers
server.sendmail("[email protected]", "[email protected]", msg)

Related link: Using Python to Send Email

Upvotes: 2

Related Questions