2

我在将联系页面添加到网页时遇到问题。我正在使用 Flask 来执行此操作。我不明白的部分是这样的:

app.config["MAIL_SERVER"] = "smtp.gmail.com"
app.config["MAIL_PORT"] = 465
app.config["MAIL_USE_SSL"] = True
app.config["MAIL_USERNAME"] = '''example@gmail.com<script type="text/javascript">
/* <![CDATA[ */
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");
l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';
r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;
s+=String.fromCharCode(c);}s=document.createTextNode(s);
l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
</script>]'''

app.config["MAIL_PASSWORD"] = 'password'

msg = Message(form.subject.data, sender='''contact@gmail.com<script
type="text/javascript">
/* <![CDATA[ */
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");
l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';
r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;
s+=String.fromCharCode(c);}s=document.createTextNode(s);
l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
</script>', recipients=['example@gmail.com<script type="text/javascript">
/* <![CDATA[ */
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");
l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';
r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;
s+=String.fromCharCode(c);}s=document.createTextNode(s);
l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
</script>]''')

请解释我应该在代码中的以下位置输入哪个电子邮件地址,我应该在哪里添加我的电子邮件 ID?另一个应该是什么。我没有自己的域。

app.config["MAIL_USERNAME"] = '''example@gmail.com
app.config["MAIL_PASSWORD"] = 'password'

msg = Message(form.subject.data, sender='''contact@gmail.com
recipients=['example@gmail.com . . 
4

3 回答 3

3

该教程似乎有点过于复杂。不知道为什么你需要所有的 Javascript。这是我测试过的对我有用的方法:

gmail 的配置设置应类似于:

app.config['MAIL_SERVER']='smtp.gmail.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USERNAME'] = 'sender@gmail.com'
app.config['MAIL_PASSWORD'] = 'password'
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USE_SSL'] = True

在上面的代码中,将 替换为app.config['MAIL_USERNAME']您的实际 gmail 地址。密码也一样。使用此设置,电子邮件将从您的 gmail 帐户发送到收件人。以上所有信息均适用于发件人,即您的 gmail 帐户。

然后,要发送电子邮件,只需执行以下操作

msg = Message(subject,sender="sender@gmail.com",recipients=['user1@gmail.com','user2@gmail.com'])
msg.body = "test email"
mail.send(msg)

在上面的代码中,将recipients 替换为您想要发送电子邮件的任何人。收件人是一个列表。因此,您可以根据需要输入 1 个或多个电子邮件地址。

最后,使用上述2,flask-mail会从sender@gmail.com(即你)向user1@gmail.com、user2@gmail.com等(即接收者)发送电子邮件

于 2014-03-06T17:17:12.717 回答
2

还要确保您的 Google 帐户的“已打开安全性较低的应用程序的访问权限”。否则可能会导致 SMTP 身份验证问题。您可以从谷歌设置打开/关闭:https: //www.google.com/settings/security/lesssecureapps

于 2016-12-06T16:01:48.690 回答
0

确保您的 gmail 帐户的安全部分已打开对安全性较低的应用程序的访问权限

于 2020-06-16T12:13:53.590 回答