Python - smtp requires authentication

41,207

Then before you attempt to use s.sendmail, you use s.login('user', 'password') - http://docs.python.org/2/library/smtplib.html#smtplib.SMTP.login

If you don't have login details - then consult your system admin.

Share:
41,207
Paris
Author by

Paris

I am a co-founder at SourceLair, an online IDE for developers that build Python and JavaScript web applications.

Updated on July 05, 2022

Comments

  • Paris
    Paris almost 2 years

    I am trying to send an email using python but despite I am using the local SMTP server it seems that it needs authentication. The code I run and the error I get can be seen below. I use port 587, because port 25 cannot be opened on my server. Could you please help me on setting up the local SMTP server using python on port 587?

    >>> import smtplib
    >>> from email.mime.text import MIMEText
    >>> msg = MIMEText('Test body')
    >>> me = '[email protected]'
    >>> to = '[email protected]'
    >>> msg['Subject'] = 'My Subject'
    >>> msg['From'] = me
    >>> msg['To'] = to
    >>> s = smtplib.SMTP('localhost', 587)
    >>> s.sendmail(me, [to], msg.as_string())
    
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib/python2.7/smtplib.py", line 722, in sendmail
        raise SMTPSenderRefused(code, resp, from_addr)
    smtplib.SMTPSenderRefused: (530, '5.7.0 Authentication required', '[email protected]')