Je suis censé expliquer pourquoi ma question n'est pas une copie de: TypeError: peut seulement concaténer la liste (pas "str") à listflask erreur de courrier: en-têtes = [self.sender, self.reply_to] + self.recipients
... donc ce n'est pas un doublon car ce post traite de l'opérateur de concaténation, +, apparaissant dans le code; alors que mon problème a cet opérateur dans le message d'erreur mais pas dans le code.
Voici le code Flask pertinent, je regardais à travers le retraçage (ci-dessous) ... et il semble que le
mail.sent(msg)
ligne est l'endroit où l'infraction se produit. J'ai essayé vraiment de résoudre ce problème, apparemment quelque chose ne va pas avec le contenu de msg ... mais je ne peux pas comprendre quoi. Toute aide serait très appréciée!
token = s.dumps(form.email.data, salt='email-confirm')
subject = 'subject goes here'
msg = Message(subject=subject, sender='[email protected]',
recipients=form.email.data)
link = url_for('confirm_email', token=token, _external=True)
pull_row = User.query.filter_by(email=form.email.data).first()
firstname = pull_row.firstname
msg.html = render_template("email_confirmationemail.html", link=link, name=firstname)
mail.send(msg)
return redirect(url_for('checkyouremail'))
Voici le retraçage
2017-08-07T06:00:05.982678+00:00 app[web.1]: Traceback (most recent call last):
2017-08-07T06:00:05.982679+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/sync.py", line 130, in handle
2017-08-07T06:00:05.982680+00:00 app[web.1]: self.handle_request(listener, req, client, addr)
2017-08-07T06:00:05.982681+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/sync.py", line 171, in handle_request
2017-08-07T06:00:05.982681+00:00 app[web.1]: respiter = self.wsgi(environ, resp.start_response)
2017-08-07T06:00:05.982682+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 1836, in __call__
2017-08-07T06:00:05.982682+00:00 app[web.1]: return self.wsgi_app(environ, start_response)
2017-08-07T06:00:05.982683+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 1820, in wsgi_app
2017-08-07T06:00:05.982684+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 1403, in handle_exception
2017-08-07T06:00:05.982684+00:00 app[web.1]: response = self.make_response(self.handle_exception(e))
2017-08-07T06:00:05.982685+00:00 app[web.1]: reraise(exc_type, exc_value, tb)
2017-08-07T06:00:05.982686+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
2017-08-07T06:00:05.982686+00:00 app[web.1]: raise value
2017-08-07T06:00:05.982687+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 1817, in wsgi_app
2017-08-07T06:00:05.982688+00:00 app[web.1]: response = self.full_dispatch_request()
2017-08-07T06:00:05.982689+00:00 app[web.1]: rv = self.handle_user_exception(e)
2017-08-07T06:00:05.982688+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 1477, in full_dispatch_request
2017-08-07T06:00:05.982690+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 1381, in handle_user_exception
2017-08-07T06:00:05.982691+00:00 app[web.1]: reraise(exc_type, exc_value, tb)
2017-08-07T06:00:05.982691+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
2017-08-07T06:00:05.982692+00:00 app[web.1]: raise value
2017-08-07T06:00:05.982692+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 1475, in full_dispatch_request
2017-08-07T06:00:05.982693+00:00 app[web.1]: rv = self.dispatch_request()
2017-08-07T06:00:05.982694+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 1461, in dispatch_request
2017-08-07T06:00:05.982695+00:00 app[web.1]: File "/app/app.py", line 213, in login
2017-08-07T06:00:05.982695+00:00 app[web.1]: return self.view_functions[rule.endpoint](**req.view_args)
2017-08-07T06:00:05.982696+00:00 app[web.1]: mail.send(msg)
2017-08-07T06:00:05.982697+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask_mail.py", line 492, in send
2017-08-07T06:00:05.982697+00:00 app[web.1]: message.send(connection)
2017-08-07T06:00:05.982698+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask_mail.py", line 427, in send
2017-08-07T06:00:05.982698+00:00 app[web.1]: connection.send(self)
2017-08-07T06:00:05.982699+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask_mail.py", line 181, in send
2017-08-07T06:00:05.982700+00:00 app[web.1]: if message.has_bad_headers():
2017-08-07T06:00:05.982700+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask_mail.py", line 400, in has_bad_headers
2017-08-07T06:00:05.982701+00:00 app[web.1]: headers = [self.sender, self.reply_to] + self.recipients
2017-08-07T06:00:05.982704+00:00 app[web.1]: TypeError: can only concatenate list (not "str") to list
Possible duplicate de [TypeError: ne peut que concaténer la liste (pas "str") à la liste] (https://stackoverflow.com/questions/19398993/typeerror-can-only-concatenate-list-not-str-to -list) – Nabin