【问题标题】:Django Create post and send mailDjango 创建帖子并发送邮件
【发布时间】:2021-12-04 23:50:32
【问题描述】:

在我已转发的views.py 中保存变量后,我可以在保存相同字段的同时将它们作为邮件发送吗?我的邮件发送代码如下,但我不知道该怎么做。

def gcreate(request):
    if request.method == 'POST':
        gmember = gunluk(
            adsoyad=request.POST['adsoyad'],
            adsoyad2=request.POST['adsoyad2'],
            vardiya=request.POST['vardiya'],
            aciklama=request.POST['aciklama'],
            incident=request.POST['incident'],
            alinanaksiyon=request.POST['alinanaksiyon'],
            ulasilmayanekip=request.POST['ulasilmayanekip'],
            ulasilmayanbilgisi=request.POST['ulasilmayanbilgisi'],)
        try:
            gmember.full_clean()
        except ValidationError as e:
            pass
        send_mail(
        'test',
        'testmessage',
        'xx@xx.com',  
        ['xx@xx.com'],
        fail_silently=False
    )
        gmember.save()
        messages.success(request, 'Ekleme İşlemi Başarılı!')
        return redirect('/gunlukistakibi')
    else:
        return render(request, 'gcreate.html')

【问题讨论】:

    标签: django email


    【解决方案1】:
    from django.core.mail import send_mail
    from django.conf import settings
    
    def gcreate(request):
        if request.method == 'POST':
            gmember = gunluk(
                adsoyad=request.POST['adsoyad'],
                adsoyad2=request.POST['adsoyad2'],
                vardiya=request.POST['vardiya'],
                aciklama=request.POST['aciklama'],
                incident=request.POST['incident'],
                alinanaksiyon=request.POST['alinanaksiyon'],
                ulasilmayanekip=request.POST['ulasilmayanekip'],
                ulasilmayanbilgisi=request.POST['ulasilmayanbilgisi'],)
            try:
                gmember.full_clean()
            except ValidationError as e:
                pass
            send_mail(
        'Subject',
        'Message.',
        settings.EMAIL_HOST_USER,
        ['to@example.com'],
    )
            gmember.save()
            messages.success(request, 'Ekleme İşlemi Başarılı!')
            return redirect('/gunlukistakibi')
        else:
            return render(request, 'gcreate.html')
    

    settings.py 中输入以下内容

    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
    EMAIL_HOST = 'smtp.gmail.com' # else your smtp provider and Less Secure App should be allowed
    EMAIL_PORT = 587
    EMAIL_USE_TLS = True
    EMAIL_HOST_USER = 'your email address'
    EMAIL_HOST_PASSWORD = 'your email address password'
    

    【讨论】:

      【解决方案2】:

      您是否检查过 Gmail 安全性较低的应用设置?开启“不太安全的应用访问”。

      【讨论】:

      • 这个答案更适合作为评论。它需要更多解释(和代码)
      • 我用这段代码解决了这个问题;发送邮件(gmember.adsoyad +“-”+gmember.adsoyad2,“Vardiya:”+ gmember.vardiya +“\nAçıklama:”+ gmember.aciklama +“\n事件:”+ gmember.incident +“\nAlınan Aksiyon:”+ gmember.alinanaksiyon + "\nUlaşılamayan Ekip:" + gmember.ulasilmayanekip + "\nUlaşılmayan Bilgisi:" + gmember.ulasilmayanbilgisi, 'xx@xx.com', ['xx@xx.com'], fail_silently=False )跨度>
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-20
      • 1970-01-01
      • 2012-11-25
      • 2016-01-30
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      相关资源
      最近更新 更多