学习“Flask Web Development —— Email(https://segmentfault.com/a/1190000002409…)”这一节遇到的问题。

=========================以下是原文======================================

在开发过程中如果能连接到一个外部SMTP服务器会更方便。示例6-1展示了如何配置应用程序通过谷歌的Gmail帐户发送电子邮件。
示例6-1. hello.py:Flask-Mail配置Gmail

import os

# ...
app.config[\'MAIL_SERVER\'] = \'smtp.googlemail.com\'
app.config[\'MAIL_PORT\'] = 587
app.config[\'MAIL_USE_TLS\'] = True
app.config[\'MAIL_USERNAME\'] = os.environ.get(\'MAIL_USERNAME\')
app.config[\'MAIL_PASSWORD\'] = os.environ.get(\'MAIL_PASSWORD\')

建议:永远不要将账户证书直接写在你的脚本里面,尤其是如果你打算将你的的工作开源。为了保护你的帐户信息,必须让脚本从你的配置环境中导入敏感信息。

持有email服务器用户名和密码的两个变量需要在环境中定义。如果你是使用Linux或Mac OS X上的bash,你可以设置这些变量如下:

(venv) $ export MAIL_USERNAME=
(venv) $ export MAIL_PASSWORD=

===============================以上为原文===============================

  1. “bash: 未预期的符号 `newline\’ 附近有语法错误”

原文说:

(venv) $ export MAIL_USERNAME=
(venv) $ export MAIL_PASSWORD=

如果按照该命令行敲进去,报如上错误。此处应该去掉<>,加引号即可。例如:

hxxx987@Gubuntu:~/flasky$ export MAIL_USERNAME=\'hxxx987@126.com\'
hxxx987@Gubuntu:~/flasky$ export MAIL_PASSWORD=\'hxxx98\'
hxxx987@Gubuntu:~/flasky$ echo $MAIL_USERNAME
hxxx987@126.com
hxxx987@Gubuntu:~/flasky$ echo $MAIL_PASSWORD
hxxx98

即可