2009-03-03 14 views
12

मैं अपनी वेबसाइट के उपयोगकर्ताओं से ईमेल भेजने के लिए जीमेल एसएमटीपी सर्वर का उपयोग कर रहा हूं। मैं एक उपयोगकर्ता एक ईमेल भेजना चाहते हैंDjango ईमेल

ये मेरी settings.py

EMAIL_HOST = 'smtp.gmail.com' 
EMAIL_HOST_USER = '[email protected]xample.com' 
EMAIL_HOST_PASSWORD = 'pwd' 
EMAIL_PORT = 587 
EMAIL_USE_TLS = True 
SERVER_EMAIL = EMAIL_HOST_USER 
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER 

में डिफ़ॉल्ट सेटिंग हैं, मैं इन सेटिंग्स अधिभावी कर रहा हूँ और Django के ईमेल तरीकों भेजने का उपयोग कर ई-मेल भेजने। जब सिस्टम में कोई अपवाद होता है, तो मुझे [email protected] से एक ईमेल प्राप्त होता है। कभी-कभी मुझे कुछ लॉग इन उपयोगकर्ता से एक ईमेल प्राप्त होता है। जिसका अर्थ यह भी हो सकता है कि जब कोई उपयोगकर्ता मेरी वेबसाइट से भेजे गए ईमेल प्राप्त करता है तो उसके पास वास्तविक उपयोगकर्ता से भेजा गया पता अलग होता है।

इस स्थिति से बचने के लिए क्या किया जाना चाहिए?

उत्तर

22

Django केवल settings.DEFAULT_FROM_EMAIL उपयोग करता है जब मेल कार्यों भेजने के किसी भी प्रेषक का पता के रूप में पारित None या खाली स्ट्रिंग। इसे django/core/mail.py में सत्यापित किया जा सकता है।

जब एक बिना क्रिया का अपवाद Django django/core/mail.py जो हमेशा settings.SERVER_EMAIL उपयोग करता है और केवलsettings.ADMINS में सूचीबद्ध पतों पर भेजे गए है में कॉल mail_admins() समारोह है। इसे django/core/mail.py में भी सत्यापित किया जा सकता है।

केवल अन्य जगह Django ही भेजता है ई मेल अगर settings.SEND_BROKEN_LINK_EMAILS यह सच है, तो CommonMiddleware मेल settings.MANAGERS और ई-मेल भेजने वाले में सूचीबद्ध सभी पतों पर भेज देंगे है settings.SERVER_EMAIL है

इसलिए, जब आप send_mail() पर कॉल करते हैं तो नियमित उपयोगकर्ता को आपकी साइट से ई-मेल प्राप्त होने का एकमात्र समय होता है। तो, हमेशा from_mail तर्क के रूप में एक असली पते गुजरती हैं और आप उन settings.SERVER_EMAIL या settings.DEFAULT_FROM_EMAIL से ईमेल प्राप्त करने से बचने होगा।

साइड नोट: Django पंजीकरण एक Django प्लगेबल कि settings.DEFAULT_FROM_EMAIL से मेल भेज देंगे इस तरह तो मामलों में आप इसे इस तरह के समर्थन के रूप में एक उचित ई-मेल एड्रेस है सुनिश्चित करने की आवश्यकता कम से कम एक उदाहरण है @ yoursite.com या [email protected]

+0

सभी मदद के लिए धन्यवाद। –

संबंधित मुद्दे