docker-smtp icon indicating copy to clipboard operation
docker-smtp copied to clipboard

smtplib.SMTPRecipientsRefused: (550, b'relay not permitted')

Open paso0129 opened this issue 5 years ago • 2 comments

Hello I am simply trying to send mail using smtplib.

I added the certificate to the smtp container, and when I ran that code, this '550, b'relay not permitted' occurred. It seems that it cannot be received from other receiving servers.

Please help. Thank you.

import mail
from flask import Flask, request, Response, jsonify
import smtplib

app = Flask(__name__)


@app.route("/sendMail", methods=['POST'])
def sendMail():
    data = request.get_json()
    print(data)

    from_email = data.get('from email')
    to_email = data.get('to email')
    subject = data.get('subject')
    contents = data.get('contents')

    sender = from_email
    receiver = to_email
    msg = '''\
... From: [email protected]
... Subject: testin'...
...
... This is a test '''

    smtpObj = smtplib.SMTP('mail.kfems.org', 25)
    smtpObj.sendmail(sender, receiver, msg)

    return jsonify(data)

if __name__ == '__main__':
    app.run(host='0.0.0.0', debug=True, port=5050)

paso0129 avatar Jan 28 '21 14:01 paso0129

~~I running into the same situation right now, it worked couple days ago, wondering what happened to the Gmail service.~~

Update

My bad, I have a check inside the container, and see my username and password mess up password.client as below:

*.gmail.com:<username>
:<password>

Looks like my credentials did not escape newline, SMTP works normal after resolve this.

tpai avatar Jan 29 '21 16:01 tpai

Hi @paso0129

Please make sure RELAY_NETWORKS is well-defined.

If you don't define it, SMTP container will reject all the mail requests except 10.2.0.2/32 which is itself.

For internal network, I will recommend to use RELAY_NETWORKS=:10.0.0.0/8:127.0.0.0/8:172.17.0.0/16:192.0.0.0/8 .

tpai avatar Jan 30 '21 04:01 tpai