通过Django celery发送电子邮件时Gmail身份验证错误

2024-10-02 20:38:09 发布

您现在位置:Python中文网/ 问答频道 /正文

尽管来自mq-trung的邮件来自mq-trung,但仍在尝试从mq-trung-trung-trung-sm-trung-auth发送电子邮件。当电子邮件正常发送时,不会发生这种情况,没有芹菜。在

我尝试在Django应用程序中使用Celery/RabbitMQ异步地向用户发送电子邮件。我有以下代码来发送电子邮件:

from grad.celery import app
from django.core.mail import EmailMultiAlternatives
from django.template.loader import get_template
from django.template import Context
from grad import gradbase
from time import sleep
from grad import settings

@app.task
def send_transaction_email(student_data, student_email):
    html_email = get_template('grad/student_email.html')
    context = Context({
        'name': student_data['name'],
        'university': student_data['university'],
        'data': student_data,
        'shorturl':  gradbase.encode_graduation_data(student_data)
    })
    msg = EmailMultiAlternatives('Subject Here',
                             'Message Here',
                             'myrealemailaddress@gmail.com',
                             [student_email])
    msg.attach_alternative(html_email.render(context), "text/html")
    msg.send()

当我正常调用方法时:

^{pr2}$

电子邮件发送得很好,但如果我将呼叫委托给芹菜任务,如:

tasks.send_transaction_email.delay(entry, stud_email)

我得到以下线索:

Traceback (most recent call last):
File "/Users/albydeca/Gradcoin/venv/lib/python2.7/site-        packages/celery/app/trace.py", line 240, in trace_task
R = retval = fun(*args, **kwargs)
File "/Users/albydeca/Gradcoin/venv/lib/python2.7/site-packages/celery/app/trace.py", line 438, in __protected_call__
return self.run(*args, **kwargs)
File "/Users/albydeca/Gradcoin/grad/tasks.py", line 27, in   send_transaction_email
msg.send()
File "/Users/albydeca/Gradcoin/venv/lib/python2.7/site-packages/django/core/mail/message.py", line 303, in send
return self.get_connection(fail_silently).send_messages([self])
File "/Users/albydeca/Gradcoin/venv/lib/python2.7/site-packages/django/core/mail/backends/smtp.py", line 102, in send_messages
new_conn_created = self.open()
File "/Users/albydeca/Gradcoin/venv/lib/python2.7/site- packages/django/core/mail/backends/smtp.py", line 69, in open
self.connection.login(self.username, self.password)
File   "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/smtplib.py", line 622, in login
raise SMTPAuthenticationError(code, resp)
SMTPAuthenticationError: (535, '5.7.8 Username and Password not accepted. Learn    more at\n5.7.8  https://support.google.com/mail/?p=BadCredentials q8sm53748398wjj.7 - gsmtp')

基本上Gmail不承认这些凭证,尽管当我把它们打印在导致崩溃的前两行上时,它们是正确的。在

有人能帮我吗?在


Tags: djangoinfrompyimportselfsenddata