2011-07-11 15 views
5

Amazon'un EC2'sinde barındırılan bir postfix SMTP posta sunucusuyla bir Ubuntu yığınında bir Django projesi dağıtıyorum. Linux posta programını kullanarak sunucudan e-posta gönderebilirim. Ancak django.core.mail.send_mail kullanarak e-posta göndermeye çalıştığımda, e-posta hiç alınmaz. Ben varsayılan olarak her şeyi bıraktıSMTP backend ile django send_mail e-posta gönderemiyor

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

: Burada

benim ayarlardır.

Ben

Bu 1 döndürür
from django.core.mail import * 
send_mail(
    'TEST', 
    'THIS IS A TEST', 
    '[email protected]', 
    ['[email protected]'], 
    fail_silently=False, 
    ) 

yaptı kabukta Sonra

python manage.py shell

çalıştım, ama hedefe (' [email protected]' de herhangi bir iletiyi almadım örnekte).

Bir SMTP sunucusunun Django'nun posta sistemi ile çalışacak şekilde nasıl yapılandırılacağı konusunda bir eğitim var mı? Teşekkürler.

+0

Ayarlarınızda EMAIL_HOST, EMAIL_PORT, EMAIL_HOST_USER ve EMAIL_HOST_PASSWORD değerlerini belirttiğiniz var mı doğru? Ve e-posta bağlantı noktası için, ec2'nin güvenlik grubu altında smtp için bağlantı noktasını açtın mı? Postfix yapılandırmanız sırasında varsayılan olarak bıraktıysanız, Smtp bağlantı noktası genellikle varsayılan olarak 25'tir. –

cevap

1

Ayarlarınızda EMAIL_HOST, EMAIL_PORT, EMAIL_HOST_USER ve EMAIL_HOST_PASSWORD değerlerini belirttiğinizi kabul ediyorum.

django.core.mail.backends.smtp.EmailBackend işleri varsayılan açıklandığını ayrıntılı bir açıklama - https://docs.djangoproject.com/en/dev/topics/email/ https://docs.djangoproject.com/en/dev/topics/email/#smtp- backend

Özellikle e-posta bağlantı noktanız için, bağlantı noktanızı EC2'nin güvenlik grubu altında smtp için açtınız mı? SMTP bağlantı noktası, varsayılan olarak, postfix yapılandırmanız sırasında varsayılan olarak bıraktıysanız varsayılan olarak 25 olur ve EC2 örneğini oluşturduğunuzda bu bağlantı noktasını açmanız önemlidir.