相关疑难解决方法(0)

登录凭据无法使用Gmail SMTP

我正在尝试通过Gmail发送Python电子邮件.这是我的代码:

import smtplib


fromaddr = '......................'  
toaddrs  = '......................'  
msg = 'Spam email Test'  

username = '.......'  
password = '.......'

server = smtplib.SMTP('smtp.gmail.com', 587)  
server.ehlo()
server.starttls()
server.login(username, password)  
server.sendmail(fromaddr, toaddrs, msg)  
server.quit()
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Traceback (most recent call last):
  File "email_send.py", line 18, in <module>
    server.login(username, password)
  File "C:\.....\Python\lib\smtplib.py", line 633
, in login
    raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepte
d. Learn more at\n5.7.8 http://support.google.com/mail/bin/answer.py?answer=1425
7\n5.7.8 {BADCREDENTIALS} s10sm9426107qam.7 - gsmtp')
Run Code Online (Sandbox Code Playgroud)

这似乎是登录的问题.我确信我的登录详细信息是正确的,除了一件事.用户名应该是"blah@gmail.com",还是只是"等等"?我试过两个,同样的错误.

有什么想法错了吗?

注意:所有句点都代替密码/电子邮件/文件路径/等.

python smtp login smtp-auth

27
推荐指数
8
解决办法
6万
查看次数

SMTPAuthenticationError: (535, b'5.7.8 用户名和密码在 Django 生产中不被接受?

我在 Heroku 上部署了一个 Django 应用程序。在其中一节中,我使用 SMTP Gmail 设置向用户发送电子邮件。当我在本地运行项目时,电子邮件发送成功,但在 Heroku 上部署的项目上却发送失败。

我在 Stackoverflow 上看到了许多其他答案,但没有一个能解决我的问题。我已在我的 Google 帐户上启用了 2FA,并生成了一个应用程序密码,并在我的设置文件中使用该密码。其他开发者不建议打开allow_less_secure_app选项

我的settings.py文件电子邮件设置-

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = os.environ.get('EMAIL_USER2')
EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_PASS2')
Run Code Online (Sandbox Code Playgroud)

views.py对处理邮件的看法-

def index(request) 
    if request.method == 'POST':
        form = MyForm(request.POST)
        if form.is_valid():
            message = form.cleaned_data['message']
            email = form.cleaned_data['email']
            subject = "You got a message"
            thoughts = "{} by {}".format(message,email)
            recipients = ['xyz@gmail.com']
            sender = 'abc@gmail.com'
            send_mail(subject, thoughts, sender ,recipients,fail_silently=False)
            return …
Run Code Online (Sandbox Code Playgroud)

python email django smtp

3
推荐指数
1
解决办法
3万
查看次数

标签 统计

python ×2

smtp ×2

django ×1

email ×1

login ×1

smtp-auth ×1