更新用户后如何发送电子邮件?

2024-04-26 06:56:57 发布

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

我想在更新用户时,他/她会收到一封电子邮件,通知用户发生了更新,我尝试了以下方法:

 @transaction.atomic
def update_student(request):

        try:
            student = request.user.student

        except Student.DoesNotExist:

            student = Student(user=request.user)

        if request.method == 'POST':
            form = StudentUpdateForm(request.POST, instance=student)
            if form.is_valid():
                form.save
                subject = 'Usuario atualizado'
                from_email = settings.EMAIL_HOST_USER
                to_email = [student.email]
                update_message = 'Usuario ativado com sucesso'
                send_mail(subject,from_email=from_email,recipient_list=to_email,message=update_message,fail_silently=False)
                return redirect('student_list')
            else:
                form = StudentUpdateForm(instance=student)
                return render('student_list')

但没有成功:((电子邮件未发送)

有什么建议吗?你知道吗

电子邮件设置/设置.py你知道吗

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' 
EMAIL_HOST = 'smtp.gmail.com' 
EMAIL_PORT = 587 EMAIL_USE_TLS = True
EMAIL_HOST_USER ='youemail@gmail.com' 
EMAIL_HOST_PASSWORD = 'youpassword'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

向本案例发送电子邮件不起作用,但是要重置密码“是”


Tags: 用户fromformcomhostmessage电子邮件email
1条回答
网友
1楼 · 发布于 2024-04-26 06:56:57

检查您的设置.py文件:

#GMAIL
EMAIL_HOST = 'smtp.gmail.com' # for gmail
EMAIL_HOST_USER = 'xxxxxx@gmail.com' #your email
EMAIL_HOST_PASSWORD = '*********' #your pass
EMAIL_PORT = 587
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'xxxxxx@gmail.com' #your email

控制对google上不安全应用程序的访问。你知道吗

相关问题 更多 >