flask 邮箱验证

在配置文件config.py里面有一个类

class Config:
SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard to guess string'
SSL_DISABLE = False
SQLALCHEMY_COMMIT_ON_TEARDOWN = True
SQLALCHEMY_TRACK_MODIFICATIONS = False
SQLALCHEMY_RECORD_QUERIES = True
MAIL_SERVER = 'smtp.googlemail.com'
MAIL_PORT = 465
MAIL_USE_TSL = 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 [email protected]"
FLASKY_ADMIN = os.environ.get('FLASKY_ADMIN')
FLASKY_POSTS_PER_PAGE = 20
FLASKY_FOLLOWERS_PER_PAGE = 50
FLASKY_COMMENTS_PER_PAGE = 30
FLASKY_SLOW_DB_QUERY_TIME=0.5

这是从作者的仓库克隆的代码,还需要修改.

  • 使用的邮箱一定要开通smtp!!!
  • MAIL_SERVER 由于墙的原因,不能使用google的gmail ,要使用中国的邮箱,并且要开通smtp,我用的是163邮箱,所以这里改成smtp.163.com,MAIL_PORT端口也要改变,这些google一下就有的就不赘述了.如果你用的加密协议SSL而不是TSL的话,就把MAIL_USE_TSL = True ,改成 MAIL_USE_SSL = True
  • MAIL_USERNAME 和 MAIL_PASSWORD 不要写在代码里面,要设成环境变量 , 所以在
    终端里面写 export MAIL_USERNAME=" " 和 export MAIL_PASSWORD=" " , 括号里面分别写你的邮箱帐号(只是帐号,比如qq邮箱就填入qq号) , 和 smtp 的授权码(不是邮箱密码) .
    最好把这两个环境变量写入~/.zshrc(具体类型根据shell的类型决定) ,这样下次打开终端就不用重新导入了.
  • FLASK_MAIL_SENDER 是收到邮件时的显示的发件人 ,所以随便改成什么都行.
  • 成功之后,这类邮件一般都是在垃圾邮件中,好好找找.

最后改后是这个样子的

class Config:
SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard to guess string'
SSL_DISABLE = False
SQLALCHEMY_COMMIT_ON_TEARDOWN = True
SQLALCHEMY_TRACK_MODIFICATIONS = False
SQLALCHEMY_RECORD_QUERIES = True
MAIL_SERVER = 'smtp.163.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]'
FLASKY_MAIL_SENDER = '[email protected]'
FLASKY_ADMIN = os.environ.get('FLASKY_ADMIN')
FLASKY_POSTS_PER_PAGE = 20
FLASKY_FOLLOWERS_PER_PAGE = 50
FLASKY_COMMENTS_PER_PAGE = 30
FLASKY_SLOW_DB_QUERY_TIME=0.5

你可能感兴趣的:(flask 邮箱验证)