2011-07-11 32 views
5

Tôi đang triển khai dự án Django trên ngăn xếp ubuntu với máy chủ thư SMTP postfix, được lưu trữ trên EC2 của Amazon. Tôi có thể gửi email từ máy chủ bằng chương trình thư Linux. Nhưng khi tôi cố gắng gửi email bằng cách sử dụng django.core.mail.send_mail, email không bao giờ nhận được.django send_mail với phần phụ trợ SMTP không thể gửi email

Dưới đây là các thiết lập của tôi:

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

tôi rời mọi thứ khác như mặc định.

tôi đã cố gắng

python manage.py shell

Sau đó, trong vỏ, tôi đã làm

from django.core.mail import * 
send_mail(
    'TEST', 
    'THIS IS A TEST', 
    '[email protected]', 
    ['[email protected]'], 
    fail_silently=False, 
    ) 

này trả về 1, nhưng tôi không bao giờ nhận được bất kỳ thông báo ở đích ('[email protected]' trong ví dụ).

Có hướng dẫn về cách định cấu hình máy chủ SMTP để hoạt động với hệ thống thư của Django không? Cảm ơn.

+0

Tôi giả sử rằng bạn đã chỉ định EMAIL_HOST, EMAIL_PORT, EMAIL_HOST_USER và EMAIL_HOST_PASSWORD trong settings.py của bạn phải không? Và đối với cổng email, bạn đã mở cổng cho smtp trong nhóm bảo mật của ec2 chưa? Cổng Smtp thường mặc định là 25 nếu bạn để mặc định trong cấu hình postfix của mình. –

Trả lời

1

Tôi giả sử rằng bạn đã chỉ định EMAIL_HOST, EMAIL_PORT, EMAIL_HOST_USER và EMAIL_HOST_PASSWORD trong settings.py của bạn phải không?

Một lời giải thích chi tiết về cách mặc định django.core.mail.backends.smtp.EmailBackend làm việc được giải thích - https://docs.djangoproject.com/en/dev/topics/email/ https://docs.djangoproject.com/en/dev/topics/email/#smtp- backend

Và đặc biệt cho cổng email của bạn, bạn đã mở cổng cho smtp trong nhóm bảo mật của EC2 chưa? Cổng SMTP thường mặc định là 25 nếu bạn để mặc định trong cấu hình postfix của mình và điều quan trọng là bạn đã mở cổng đó khi bạn tạo cá thể EC2 của mình.

Các vấn đề liên quan