我收到此 django 错误 421,b'service 不可用(连接被拒绝,注册我的帐户时连接太多,我真的不知道?

问题描述 投票:0回答:4

/investor/signup 处出现 SMTPConnectError (421,b'服务不可用(连接被拒绝,连接太多)')

这个错误已经延迟了好几天了,我在使用 django 发送电子邮件时真的陷入困境,而且我是 django 的初学者,为什么我对如何解决这个问题没有太多想法,请有人帮忙吗?

设置.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = 'xxxxxxxxxxxxxxxxxxxx'
EMAIL_USE_TLS = True 
django email gmail
4个回答
2
投票

我不知道您是否找到了这个错误的解决方案,但巧合的是,我最近遇到了同样的问题......这是对我有用的解决方案。我的假设是您已经知道如何从 gmail smpt 生成秘密密码。

我尝试使用 EmailMessage 类和 send_mail 函数。两者都完美运行。

我将分享我的settings.py和views.py文件的部分内容。希望它也适合你......干杯!

                    settings.py    
# smtp configuration    
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'    
EMAIL_HOST = 'smtp.gmail.com'    
EMAIL_PORT = 587    
EMAIL_HOST_USER = '[email protected]'    
EMAIL_HOST_PASSWORD = 'xxxxxxxxxxxxxxxx'    
EMAIL_USE_TLS = True                         
                           
                   views.py
# user activation     

current_site = get_current_site(request)
email_subject = 'Please activate your account',    
message = render_to_string('accounts/account_verification_email.html', {
   'user': user,
   'domain': current_site,
   'uid': urlsafe_base64_encode(force_bytes(user.pk)),
   'token': default_token_generator.make_token(user)    
})    
from_email = settings.EMAIL_HOST_USER    
recipient = [email]    
send_email = EmailMessage( email_subject, message, from_email, recipient)    
send_email.send(fail_silently=False)

使用send_mail函数的替代方法:

subject = 'This is a mail from IfeCog'
message = f'hi {firstname}, this mail is about your registration'
from_email = settings.EMAIL_HOST_USER 
recipient_list = [email]  
send_mail(subject, message, from_email, recipient_list, fail_silently=False)

1
投票

您是否尝试过启用“不太安全的应用程序访问”,转到您的 Gmail 主机“管理帐户”->“安全”,确保您已启用“不太安全的应用程序访问”。


0
投票

要解决此问题,最简单的方法是使用 SendGrid,因为他们的服务器不会抛出所有常规错误 gmail 简单邮件传输协议抛出。要开始在 django 中使用 SendGrid,这是最好的教程 Article 1Official SendGrid X Django Docs


0
投票

要解决这个问题非常具有挑战性,但答案很简单,更改 EMAIL_USE_TLS = False 并设置 EMAIL_USE_SSL = True,并将端口号更改为 465

© www.soinside.com 2019 - 2024. All rights reserved.