2013-06-12 9 views
6

SMTP için Mandrill kullanarak Heroku'da bir Django (v1.4) sitesi var. Benim ayarları dosyasındaki tüm gerekli değerleri vardır:Django + Heroku + Mandrill mail_admins() elle çalışmaz veya 500 hata ile tetiklendi

  • EMAIL_HOST_PASSWORD
  • EMAIL_HOST_USER
  • EMAIL_HOST
  • EMAIL_PORT
  • SERVER_EMAIL (gerçek adrese seti, root @ localhost)

Düzenli e-postaları, send_messages()'u kullanarak istemciden manuel olarak gönderebilirim. Ancak, 500 hata olduğunda e-posta gönderilmez ve istemcideki mail_admins numaralı telefonun aranması hiçbir hata üretmez, aynı zamanda bir e-posta göndermez.

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': False, 
    'handlers': { 
     'mail_admins': { 
      'level': 'ERROR', 
      'class': 'django.utils.log.AdminEmailHandler' 
     } 
    }, 
    'loggers': { 
     'django.request': { 
      'handlers': ['mail_admins'], 
      'level': 'ERROR', 
      'propagate': True, 
     }, 
    } 
} 

Ve YÖNETICILER: Benim Spam klasörünü kontrol ettim ve orada hiçbir şey yok

ADMINS = (
    ('My Name', '[email protected]'), 
) 

İşte benim günlük kurgusunda. Ayarlarda bir şey eksik miyim? Veya başka bir şey?

+0

hata günlüğü ne diyor:

Yani settings.py aşağıdaki Sorunum sabit? – karthikr

cevap

13

Mandrill API günlüklerinizi kontrol ettiniz mi?

Aynı sorunu yaşıyorum ve e-postaların Mandrill API'sına gönderildiklerini fark ettim (Mandrill için smtp ayarlarımı settings.py olarak ayarladığımdan), ancak from_email ve from_name API çağrılarında boş.

https://github.com/brack3t/Djrill'u buldum ve yüklemek üzereyim. "Sadece çalışır" diye size bildiririm.

DÜZENLEME: Bu nedenle, djril yüklendikten ve belgeleri izledikten sonra hata alıyorum. Hata iletileri için API çağrısı - from_email, bir nedenle "root @ localhost" olarak görünüyor.

I (Djrill Sender yerine benim Mandrill hesap için kabul edilen bir etki alanından e-posta ile) github sayfasında gösterilen kabuk testi yaptığınızda, çalışır:

from django.core.mail import send_mail 

send_mail("It works!", "This will get sent through Mandrill", 
    "Djrill Sender <[email protected]>", ["[email protected]"]) 

O benim varsayılan sahip olduğu ortaya çıkar "Gönderen" e-posta ayarı adı karıştı. Onun adı SERVER_EMAIL. Bakınız https://docs.djangoproject.com/en/1.3/ref/settings/#std:setting-SERVER_EMAIL.

SERVER_EMAIL = [email protected] 
+1

SERVER_MAIL yapılandırması benim için çalışıyor! – azuax

+0

Evet, eksik SERVER_MAIL ayarları kesinlikle sorun oldu. – Rias

+0

Bu, yığın taşma skoru roketlemenizi elde edecek. Teşekkürler. – MagicLAMP

İlgili konular