This is my code for my main.py file which is designed to be a simple contact form built in flask.
from flask import Flask, render_template, request from flask_mail import Mail, Message from forms import ContactForm app = Flask(__name__) app.secret_key = 'YourSuperSecreteKey' # add mail server config app.config['MAIL_SERVER'] = 'smtp.gmail.com' app.config['MAIL_PORT'] = 465 app.config['MAIL_USE_SSL'] = True app.config['MAIL_USERNAME'] = 'YourUser@NameHere' app.config['MAIL_PASSWORD'] = 'yourMailPassword' mail = Mail(app) @app.route('/') def hello(): """Return a friendly HTTP greeting.""" return 'Hello World!' @app.errorhandler(404) def page_not_found(e): """Return a custom 404 error.""" return 'Sorry, Nothing at this URL.', 404 @app.errorhandler(500) def application_error(e): """Return a custom 500 error.""" return 'Sorry, unexpected error: {}'.format(e), 500 @app.route('/contact', methods=('GET', 'POST')) def contact(): form = ContactForm() if request.method == 'POST': if form.validate() == False: return 'Please fill in all fields <p><a href="/contact">Try Again!!!</a></p>' else: msg = Message("Message from your visitor" + form.name.data, sender='YourUser@NameHere', recipients=['yourRecieve@mail.com', 'someOther@mail.com']) msg.body = """ From: %s <%s>, %s """ % (form.name.data, form.email.data, form.message.data) mail.send(msg) return "Successfully sent message!" elif request.method == 'GET': return render_template('contact.html', form=form) if __name__ == '__main__': app.run() I get the error: Sorry, unexpected error: 'module' object has no attribute 'SMTP_SSL'
I've called my file "main.py". Everything works fine until I try and send the actual email. Is this just because I haven't populated the settings or is something else a miss?
Sorry just figured out how to see traceback on GAE:
Exception on /contact [POST] Traceback (most recent call last): File "/base/data/home/apps/s~smart-cove-95709/1.384663697853252774/lib/flask/app.py", line 1817, in wsgi_app response = self.full_dispatch_request() File "/base/data/home/apps/s~smart-cove-95709/1.384663697853252774/lib/flask/app.py", line 1477, in full_dispatch_request rv = self.handle_user_exception(e) File "/base/data/home/apps/s~smart-cove-95709/1.384663697853252774/lib/flask/app.py", line 1381, in handle_user_exception reraise(exc_type, exc_value, tb) File "/base/data/home/apps/s~smart-cove-95709/1.384663697853252774/lib/flask/app.py", line 1475, in full_dispatch_request rv = self.dispatch_request() File "/base/data/home/apps/s~smart-cove-95709/1.384663697853252774/lib/flask/app.py", line 1461, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/base/data/home/apps/s~smart-cove-95709/1.384663697853252774/main.py", line 50, in contact mail.send(msg) File "/base/data/home/apps/s~smart-cove-95709/1.384663697853252774/lib/flask_mail.py", line 491, in send with self.connect() as connection: File "/base/data/home/apps/s~smart-cove-95709/1.384663697853252774/lib/flask_mail.py", line 144, in __enter__ self.host = self.configure_host() File "/base/data/home/apps/s~smart-cove-95709/1.384663697853252774/lib/flask_mail.py", line 156, in configure_host host = smtplib.SMTP_SSL(self.mail.server, self.mail.port) AttributeError: 'module' object has no attribute 'SMTP_SSL'