2

したがって、herokuとsendgridを使用していて、settings.pyが正しく構成されていると思います。

EMAIL_HOST_USER = os.environ['SENDGRID_USERNAME']
EMAIL_HOST= 'smtp.sendgrid.net'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_PASSWORD = os.environ['SENDGRID_PASSWORD']

このようにsend_mailを使用してメールを送信しています(pre_saveレシーバーを使用して属性が変更されているかどうかを確認しています...また、「myemail@gmail.com」は実際のメールに置き換えられています):

@receiver(pre_save,sender=LotteryEntry)
def send_email_if_invited(sender,instance,**kwargs):
    try:
        obj = LotteryEntry.objects.get(pk=instance.pk)
    except LotteryEntry.DoesNotExist:
        #could send email here telling them when they should know
        pass
    else:
        if not obj.invited == instance.invited:
            l = Dinner.objects.get(id=instance.dinner.id)
            u = User.objects.get(id=instance.user.id)
            message = "You have been chosen to attend %s! Here is the description of the event: %s. We will see you there!" % (l.title,l.description)
            send_mail('You have been invited!',message,'myemail@gmail.com',[u.email],fail_silently=False)

ログには送信されていることが示されていますが、受信トレイで受信されていません。また、sendgridアドオンアカウントセクションにメールを送信したと表示されていません。誰かが以前にこの問題を抱えていますか?

編集:

これがsettings.pyのインポートです

import os
import sys

そして私のモデルファイル(send_mailが発生する場所):

from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import *
from django.dispatch import receiver
from django.core.mail import send_mail

そして、ここにsend_mail呼び出しのログがあります:

Content-Type: text/plain; charset="utf-8"
2012-05-28T21:16:49+00:00 app[web.1]: MIME-Version: 1.0
2012-05-28T21:16:49+00:00 app[web.1]: Content-Transfer-Encoding: quoted-printable
2012-05-28T21:16:49+00:00 app[web.1]: Subject: You have been invited!
2012-05-28T21:16:49+00:00 app[web.1]: From: msencenb@stanford.edu
2012-05-28T21:16:49+00:00 app[web.1]: To: msencenb@stanford.edu
2012-05-28T21:16:49+00:00 app[web.1]: Date: Mon, 28 May 2012 21:16:49 -0000
2012-05-28T21:16:49+00:00 app[web.1]: Message-ID: <20120528211649.1.49209@2a33c2a2-9b5e-4da9-994c-15de8157702e>
2012-05-28T21:16:49+00:00 app[web.1]: 
2012-05-28T21:16:49+00:00 app[web.1]: You have been chosen to attend Web Development Pt. 1! Here is the descripti=
2012-05-28T21:16:49+00:00 app[web.1]: on of the event: Knight Management Center, 5/23/12 12:30 to 2 PM. We will s=
2012-05-28T21:16:49+00:00 app[web.1]: ee you there!
2012-05-28T21:16:49+00:00 app[web.1]: -------------------------------------------------------------------------------
2012-05-28T21:16:49+00:00 app[web.1]: [28/May/2012 16:16:49] "POST /admin/dinners/lotteryentry/1/ HTTP/1.1" 302 0
2012-05-28T21:16:49+00:00 heroku[router]: POST morning-frost-2949.herokuapp.com/admin/dinners/lotteryentry/1/ dyno=web.1 queue=0 wait=0ms service=107ms status=302 bytes=0
4

0 に答える 0