Home  >  Q&A  >  body text

python - 《flask web开发》中为什么发不出确认邮件?

import os
basedir = os.path.abspath(os.path.dirname(__file__))


class Config:
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard to guess string'
    SQLALCHEMY_COMMIT_ON_TEARDOWN = True
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    MAIL_SERVER = 'smtp.qq.com'
    MAIL_PORT = 25
    MAIL_USE_TLS = True
    MAIL_USERNAME = os.environ.get('MAIL_USERNAME')
    MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD')
    FLASKY_MAIL_SUBJECT_PREFIX = '[Flasky]'
    FLASKY_MAIL_SENDER = 'Flasky Admin <flasky@example.com>'
    FLASKY_ADMIN = os.environ.get('FLASKY_ADMIN')

    @staticmethod
    def init_app(app):
        pass

直接从GITHUB上抄下来的,那几个邮箱值不知道该改哪几个?可能不止一处错误

报错是
raise SMTPSenderRefused(code, resp, from_addr)
smtplib.SMTPSenderRefused: (503, b'Error: need EHLO and AUTH first !', '=?utf-8?q?Flasky_Admin?= <flasky@example.com>')

天蓬老师天蓬老师2763 days ago1258

reply all(2)I'll reply

  • 天蓬老师

    天蓬老师2017-04-18 10:29:04

    Change to your qq account or 163 email account

    I forgot how to do it specifically. Please take a look at the code I wrote before. . . I am also free

    # coding: utf-8
    import os
    from datetime import datetime
    from flask.ext.moment import Moment
    from flask.ext.script import Manager
    from flask import Flask,render_template,session,redirect,url_for,flash
    from flask.ext.bootstrap import Bootstrap
    from flask.ext.wtf import Form
    from wtforms import StringField,SubmitField
    from wtforms.validators import Required
    from flask.ext.sqlalchemy import SQLAlchemy
    from flask.ext.script import Shell
    from flask.ext.migrate import Migrate,MigrateCommand
    from flask.ext.mail import Mail
    from flask.ext.mail import Message
    
    basedir = os.path.abspath(os.path.dirname(__file__))
    
    app=Flask(__name__)
    app.config['SQLALCHEMY_DATABASE_URI']=\
    'sqlite:///'+os.path.join(basedir,'data.sqlite')
    app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN']=True
    app.config['SECRET_KEY']='hard to guess string'
    app.config['MAIL_SERVER']='smtp.qq.com'
    app.config['MAIL_PORT']=465
    #app.config['DEBUG']=True
    app.config['MAIL_USE_TLS']=False
    app.config['MAIL_USE_SSL']=True
    app.config['MAIL_USERNAME']='xxxxx@qq.com'
    app.config['MAIL_PASSWORD']='xxxxxx'(好像是SMTP,我把自己的隐藏了)
    app.config['FLASKY_MAIL_SUBJECT_PREFIX']='[FLASKY]'
    app.config['FLASKY_MAIL_SENDER']='Flasky Admin<xxxxxxxx@qq.com>'
    app.config['FLASKY_ADMIN']=os.environ.get('FLASKY_ADMIN')
    
    
    

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:29:04

    You can refer to the project I wrote, flask-lovehate

    
        MAIL_SERVER = 'smtp.qq.com'
        MAIL_PORT = 465
        MAIL_USE_SSL = True
        MAIL_USERNAME = os.environ.get('MAIL_USERNAME')
        MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD')
        FLASKY_MAIL_SUBJECT_PREFIX = '[爱与生的苦恼]'
        FLASKY_MAIL_SENDER = os.environ.get('MAIL_USERNAME')

    MAIL_USERNAME is the mailbox. Is MAIL_PASSWORD authorized by QQ Mail? It can be obtained by opening it in the mailbox background. FLASKY_MAIL_SENDER can be set to the same as MAIL_USERNAME.

    reply
    0
  • Cancelreply