首页 > 解决方案 > django:将模型邮件字段导入表单导致 SMTPRecipientsRefused 错误

问题描述

我正在尝试从我的 django 应用程序中的表单自动发送电子邮件。我需要从以下模型访问电子邮件字段:

class Client(TenantMixin):

    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=100, default='')
    email = models.EmailField(default='')
    username = models.CharField(max_length=100, default='') ###### username
    password = models.CharField(max_length=100, default='')
    created_on = models.DateField(auto_now_add=True)
    auto_drop_schema = True

我需要使用此字段以在电子邮件功能中使用以下形式:

from django.core.mail import send_mail
from customers.models import Client

class etl(forms.Form):
     ....
     def process_data(self, url, *args, **kwargs):
        ....
        sender_email = 'my_email@gmail.com'
        recipient_email = Client.email
        email_message = 'allez la test'
        
        subject = 'alerts'
        print(recipient_email)
        
        send_mail(subject, email_message, sender_email, [recipient_email])

这给了我错误:

SMTPRecipientsRefused at /upload.html {'"django.db.models.query_utils.DeferredAttribute object at 0x7f11bdf4ada0"': (501, b'Invalid RCPT TO address provided')}

这里还附上了与该问题相关的我的 settings.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'amazon-email'
EMAIL_PORT ='465'
EMAIL_HOST_USER = 'meItheuser'
EMAIL_HOST_PASSWORD = 'mypassword'
DEFAULT_FROM_EMAIL = 'myemail@gmail.com'
EMAIL_USE_SSL = True

我正在努力解决这个错误,我不明白这可能是什么,当我硬写一个电子邮件地址时它工作正常并且数据库中有一封电子邮件可供访问。有人会知道我做错了什么吗?

标签: pythondjango

解决方案


推荐阅读