2009-11-05 45 views
6

Tôi đang sử dụng Đăng ký Django cho trang web của mình trên một linode ubuntu ảo. Tôi gặp sự cố kết nối khi gửi email kích hoạt khi người dùng đăng ký.Gửi email SMTP qua Django trong môi trường sản xuất

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

EMAIL_HOST = 'smtp.gmail.com' 
EMAIL_PORT = 587 
EMAIL_HOST_USER = '[email protected]' 
EMAIL_HOST_PASSWORD = 'mypassword' 
EMAIL_USE_TLS = True 

Tôi đã thử nghiệm tại địa phương và nó hoạt động. Tôi đã thử nghiệm tương tác qua python manage.py shell trên máy chủ và nó hoạt động khi tôi đăng nhập dưới dạng root. Tôi cho rằng có sự cố với sự cho phép vì Apache đang chạy dưới www-data. Bạn có ý tưởng nào để sửa lỗi này không?

EDIT: người trên Linode IRC gợi ý rằng tôi cài đặt gói ssmtp ... Tôi làm theo các hướng dẫn tìm thấy ở đây http://tombuntu.com/index.php/2008/10/21/sending-email-from-your-system-with-ssmtp/ và khởi động lại máy chủ ... tất cả mọi thứ hoạt động tốt ngay bây giờ.

Cảm ơn bạn

+0

Bạn có nhận được một dấu vết hay bất kỳ thông báo lỗi nào không? Hoặc là nó không âm thầm? – thornomad

+0

Nó chỉ ngồi quay trong một thời gian và không âm thầm. –

+0

Kiểm tra nó tương tác, nó hoạt động như www-data? Sử dụng su để trở thành người dùng đó và dùng thử. –

Trả lời

1

Hãy thử thiết lập

EMAIL_USE_TLS = 1

hơn EMAIL_USE_TLS = True. Đó là dự đoán của tôi. Nếu cách này không hiệu quả, hãy thử

EMAIL_DEBUG = False

mặc dù thành thật mà nói, tôi không chắc nó là cái gì.

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