2

Web ページに連絡先ページを追加する際に問題が発生しています。これを行うために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']で、 を実際の G​​mail アドレスに置き換えます。パスワードも同様。この設定を使用すると、メールは Gmail アカウントから受信者に送信されます。上記のすべての情報は、送信者、つまりあなたの Gmail アカウントに関するものです。

次に、メールを送信するには、次の操作を行います

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

recipient上記のコードで、 s をメールの送信先に置き換えます。受信者はリストです。そのため、必要に応じて 1 つ以上のメール アドレスを入力できます。

最後に、上記の 2 を使用して、flask-mail は、sender@gmail.com (つまり、あなた) から user1@gmail.com、user2@gmail.com など (つまり、受信者) に電子メールを送信します。

于 2014-03-06T17:17:12.717 に答える
2

また、Google アカウントの「安全性の低いアプリへのアクセスがオンになっている」ことを確認してください。それ以外の場合、SMTP 認証の問題が発生する可能性があります。Google の設定からオン/オフを切り替えることができます: https://www.google.com/settings/security/lesssecureapps

于 2016-12-06T16:01:48.690 に答える