我正在使用小型 Rest api 項(xiàng)目,它的效果非常好。但不知何故我必須在那里發(fā)送電子郵件功能。所以我在 settings.py 中添加了電子郵件配置// 設(shè)置.py# SMTP Mail service with decoupleEMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'EMAIL_HOST = "smtp.gmail.com"EMAIL_HOST_USER = config('EM_ACCOUNT')EMAIL_HOST_PASSWORD = config('EM_PASSWORD')EMAIL_PORT = 587EMAIL_USE_TLS = TrueDEFAULT_FROM_EMAIL = EMAIL_HOST_USER//視圖.pyfrom rest_framework import viewsetsfrom consult.models import Consultfrom consult.serializers import ConsultSerializerfrom django.core.mail import EmailMessageclass ConsultViewSet(viewsets.ModelViewSet): queryset = Consult.objects.all() serializer_class = ConsultSerializerdef send_email(request): email = EmailMessage( 'Title', (ConsultSerializer.name, ConsultSerializer.email, ConsultSerializer.phone), 'my-email', ['my-receive-email'] ) email.attach_file(ConsultSerializer.file) email.send()// 模型.pyfrom django.db import models# Create your models here.class Consult(models.Model): name = models.CharField(max_length=16) position = models.CharField(max_length=16, null=True) group = models.CharField(max_length=50) email = models.CharField(max_length=50, null=True) phone = models.CharField(max_length=14) describe = models.TextField(blank=True, null=True) file = models.FileField(blank=True, null=True) create_date = models.DateTimeField(auto_now_add=True) update_date = models.DateTimeField(auto_now=True) class Meta: db_table = 'Consult'// 序列化器.pyfrom rest_framework import serializersfrom .models import Consultclass ConsultSerializer(serializers.ModelSerializer): class Meta: model = Consult fields = ('id', 'name', 'position', 'group', 'email', 'phone', 'describe', 'file', 'create_date')是的。這是我所有的代碼。我在視圖中設(shè)置了 send_mail 函數(shù)。老實(shí)說,我想要在我的數(shù)據(jù)庫中查詢數(shù)據(jù)時(shí)自動(dòng)發(fā)送郵件功能。但我只能找到正常的 Django 解釋。你能幫我設(shè)置一個(gè)創(chuàng)建數(shù)據(jù)時(shí)自動(dòng)發(fā)送郵件的功能嗎??
如何使用 django “Rest Framwork” 發(fā)送電子郵件?
慕碼人8056858
2021-08-24 14:52:01