Flask -Почта, показывающая socket.gaierror: [Errno 11001] Ошибка getaddrinfo - PullRequest
0 голосов
/ 06 апреля 2020

Я новичок в Flask. это мой код, чтобы сделать контактную форму. используя Blueprint впервые в этом проекте. вот моя конфигурация для этого проекта. config.py

import os

class config(object):
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'you-will-never-guess'
    SQLALCHEMY_DATABASE_URI = 'sqlite:///D:/Project/ASB/asb.db'
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    MAIL_SERVER = 'stmp.gmail.com'
    MAIL_PORT = 587
    MAIL_USE_SSL = False
    MAIL_USE_TSL = True
    MAIL_USERNAME = 'email@gmail.com'
    MAIL_PASSWORD = 'password'

Здесь моя главная страница init для регистрации чертежей и все. init .py

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_mail import Mail
from main import main
from config import config


app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)
mail = Mail()
mail.init_app(app)


#registering Blueprints
app.register_blueprint(main)

app.run(debug=True)

Вот мой полный код для страницы контактов. main.py

    from flask import Blueprint, render_template, url_for, request, flash
    from flask_mail import Mail, Message
    main = Blueprint('main', __name__)

    @main.route('/contact-us', methods=['GET', 'POST'])
    def contact_us_page():
        forms = ContactUs()
        title = 'Contact Us'
        if request.method == 'POST':
            if forms.validate_on_submit():
                mail = Mail()
                msg = Message("Subject", sender=("from@example.com"),recipients=["hello@mydomain.com"])
                msg.body = "Message"
                mail.send(msg)
            flash('All fields are Required. Fill the form Correctly')
        return render_template('contact-us.html', title = title, forms=forms)

Я получаю ошибку. Я слишком сильно запутался. Пожалуйста, помогите мне.

socket.gaierror
socket.gaierror: [Errno 11001] getaddrinfo failed

1 Ответ

0 голосов
/ 06 апреля 2020

Попробуйте:

изменить init.py

mail = Mail()
mail.init_app(app)

на

mail = Mail(app)

удалить

mail = Mail()

и добавить

from init import mail

в main.py

...