I am creating a simple contact page using Flask and Flask-Mail. I created the application after this lesson - Add a contact page - and now, when I try to send a message, I get eror gaierror: [Errno -2] Name or service not known . For some time I was looking for an error and did not find similar examples. I canβt even understand what name or service he cannot find.
The trace page will allow me to expand the string and execute the Python code. It provides a dump() function that will show me all the variables and can be called on objects to see their information, if that helps.
routes.py:
from forms import ContactForm from flask.ext.mail import Message, Mail mail = Mail() app = Flask(__name__) app.secret_key = 'development key' app.config['MAIL_SERVER'] = 'smtp.google.com' app.config['MAIL_PORT'] = 465 app.config['MAIL_USE_SSL'] = True app.config['MAIL_USERNAME'] = 'email' app.config['MAIL_PASSWORD'] = 'password' mail.init_app(app) @app.route('/contact', methods=['GET', 'POST']) def contact(): form = ContactForm() if request.method == 'POST': if not form.validate():
the form:
from flask.ext.wtf import Form, validators from wtforms.fields import TextField, TextAreaField, SubmitField import wtforms class ContactForm(Form): name = TextField("Name", [wtforms.validators.Required('Please enter your name')]) email = TextField("Email", [wtforms.validators.Required('Please enter your email'), wtforms.validators.Email()]) subject = TextField("Subject", [wtforms.validators.Required('Please enter a subject')]) message = TextAreaField("Message", [wtforms.validators.Required('Please enter a message')]) submit = SubmitField("Send") flash('All fields are required.') return render_template('contact.html', form=form) else: msg = Message(form.subject.data, sender=' imauld@gmail.com ', recipients=[' imauld@gmail.com ']) msg.body = """From: %s <%s> %s""" % (form.name.data, form.email.data, form.message.data) mail.send(msg) return render_template('contact.html', success=True) elif request.method == 'GET': return render_template('contact.html', form=form)
trace:
File "/home/ian/PycharmProjects/flaskapp/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__ return self.wsgi_app(environ, start_response) File "/home/ian/PycharmProjects/flaskapp/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app response = self.make_response(self.handle_exception(e)) File "/home/ian/PycharmProjects/flaskapp/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception reraise(exc_type, exc_value, tb) File "/home/ian/PycharmProjects/flaskapp/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app response = self.full_dispatch_request() File "/home/ian/PycharmProjects/flaskapp/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request rv = self.handle_user_exception(e) File "/home/ian/PycharmProjects/flaskapp/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception reraise(exc_type, exc_value, tb) File "/home/ian/PycharmProjects/flaskapp/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request rv = self.dispatch_request() File "/home/ian/PycharmProjects/flaskapp/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/home/ian/PycharmProjects/flaskapp/app/routes.py", line 39, in contact mail.send(msg) File "/home/ian/PycharmProjects/flaskapp/lib/python2.7/site-packages/flask_mail.py", line 415, in send with self.connect() as connection: File "/home/ian/PycharmProjects/flaskapp/lib/python2.7/site-packages/flask_mail.py", line 123, in __enter__ self.host = self.configure_host() File "/home/ian/PycharmProjects/flaskapp/lib/python2.7/site-packages/flask_mail.py", line 135, in configure_host host = smtplib.SMTP_SSL(self.mail.server, self.mail.port) File "/usr/lib/python2.7/smtplib.py", line 776, in __init__ SMTP.__init__(self, host, port, local_hostname, timeout) File "/usr/lib/python2.7/smtplib.py", line 249, in __init__ (code, msg) = self.connect(host, port) File "/usr/lib/python2.7/smtplib.py", line 309, in connect self.sock = self._get_socket(host, port, self.timeout) File "/usr/lib/python2.7/smtplib.py", line 781, in _get_socket new_socket = socket.create_connection((host, port), timeout) File "/usr/lib/python2.7/socket.py", line 553, in create_connection for res in getaddrinfo(host, port, 0, SOCK_STREAM): gaierror: [Errno -2] Name or service not known