2013-04-13 55 views
10

Tôi đang xem https://docs.djangoproject.com/en/dev/topics/email/Làm cách nào để gửi e-mail từ django bằng máy chủ google smtp?

Câu hỏi của tôi là, có cách nào tôi có thể sử dụng smtp.google.com mà không cần xác thực hoặc không phải đặt thông tin xác thực vào settings.py hoặc tham số trong django.core hàm .mail.send_mail?

Tại thời điểm này tôi đang tìm kiếm thông lệ tốt nhất cho việc sử dụng smtp.google.com trên django, tôi hiểu có những giải pháp tốt hơn như http://sendgrid.com/

Trả lời

10

Bạn không thể sử dụng smpt.gmail.com mà không cung cấp auth_information của bạn tức là mật khẩu gmail của bạn.

Tuy nhiên bạn có thể đặt thông tin xác thực trong một local_settings.py và không thêm local_settings này trong điều khiển phiên bản để không ai ngoại trừ bạn sẽ thấy tệp này. Bao gồm local_settings này trong số settings.py của bạn.

settings.py

... 
EMAIL_HOST = 'smtp.gmail.com' 
EMAIL_PORT = 587 
EMAIL_USE_TLS = True 
... 
... 
from local_settings import * 

local_settings.py

EMAIL_HOST_USER = '[email protected]' 
EMAIL_HOST_PASSWORD = 'yourpassword' 
8

thử bao gồm này trong settings.py:

# Email configuration. 

EMAIL_HOST = 'smtp.gmail.com' 
EMAIL_PORT = 587 
EMAIL_HOST_USER = '[email protected]' 
EMAIL_HOST_PASSWORD = 'yourpassword' 
EMAIL_USE_TLS = True 
DEFAULT_FROM_EMAIL = '[email protected]' 
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' 

Nếu bạn có nhà cung cấp miền web (như namecheap, godady, v.v.), bạn có thể liên kết miền của bạn (mycompany.com) với Gmail. Đối với tính năng mà hỏi giúp đỡ trong việc cung cấp dịch vụ tên miền của bạn hoặc tìm kiếm thông tin trên mạng Internet:

Hy vọng nó giúp, cổ vũ.

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