2010-01-21 14 views
56

के माध्यम से Django के साथ ईमेल भेजते समय ईमेल खाते को एक नाम देना, मैं Google Apps के माध्यम से Django का उपयोग कर उपयोगकर्ताओं को ईमेल भेज रहा हूं।Google Apps

उपयोगकर्ता Django अनुप्रयोग से भेजे गए ईमेल प्राप्त करता है, वे से कर रहे हैं:
do_not_reply या [email protected] पर निर्भर करता है:
[email protected]

जब इनबॉक्स में सभी ईमेल को देख, लोगों के रूप में ईमेल के इस देखना ईमेल क्लाइंट का इस्तेमाल किया

अगर मैं ब्राउज़र और Google Apps खुद और उसके बाद का उपयोग कर अपने आप को एक ईमेल भेज कि "do_not_reply" खाते में प्रवेश, ईमेल कर रहे हैं से:
Dont Reply<[email protected]>

नतीजतन, नाम इनबॉक्स में ईमेल के प्रेषक के लिए प्रदर्शित किया जाता है:
Dont Reply

Django में, वहाँ ईमेल खाते में एक "नाम" संलग्न करने के लिए एक तरह से ईमेल भेजने के लिए इस्तेमाल किया जा रहा है?

मैं Django के mail.py की समीक्षा की है, लेकिन कोई किस्मत ने एक समाधान
http://code.djangoproject.com/browser/django/trunk/django/core/mail.py?rev=5548

का उपयोग खोजने:
Django 1.1
अजगर 2.6
उबंटू 9.1
settings.EMAIL_HOST = 'smtp.gmail .com '

धन्यवाद

उत्तर

99

आप वास्तव में आप जिस ईमेल पते से भेजे जाने वाले के रूप में "Dont Reply <[email protected]>" उपयोग कर सकते हैं।

परीक्षण करने के लिए अपने Django परियोजना के खोल में इस प्रयास करें यदि यह भी gapps साथ काम करता है:

>>> from django.core.mail import send_mail 
>>> send_mail('subject', 'message', 'Dont Reply <[email protected]>', ['[email protected]']) 
+0

पोस्ट करने के लिए धन्यवाद! इच्छा है कि मैंने कल यह देखा था बी/सी ने मुझे कुछ समय बचा लिया होगा। मैं सिर्फ पर दस्तावेज़ों को पढ़ रहा था और अंततः "from_email" को अधिक बारीकी से पढ़ता था और आपके जैसा ही उत्तर मिला। जब मैंने तुम्हारा देखा तो जवाब पोस्ट करने के लिए यहां आ रहा था। वैसे भी, धन्यवाद फिर से!अंत में यह काम करने के लिए खुशी है – rfadams

+3

आप सेटिंग.py पर DEFAULT_FROM_EMAIL भी सेट कर सकते हैं: 'DEFAULT_FROM_EMAIL = 'उत्तर न दें <[email protected]>'' –

+0

बस सुनिश्चित करें कि आप उसी ईमेल को नाम के साथ सेट नहीं करते हैं auth_user, क्योंकि प्रमाणीकरण के दौरान यह असफल हो जाएगा – iamkhush

-3

मैं इस कोड का उपयोग भेजने के लिए जीमेल smtp के माध्यम से (गूगल ऐप का उपयोग कर)। और इस नाम ठीक

def send_mail_gapps(message, user, pwd, to): 
    import smtplib 
    mailServer = smtplib.SMTP("smtp.gmail.com", 587) 
    mailServer.ehlo() 
    mailServer.starttls() 
    mailServer.ehlo() 
    mailServer.login(user, pwd) 
    mailServer.sendmail(user, to, message.as_string()) 
    mailServer.close() 
+0

यह वास्तव में वही कोड है जो पृष्ठभूमि में Django की ईमेल संदेश कक्षाओं का उपयोग करता है। भले ही, मैंने आपकी विधि की कोशिश की और ईमेल में प्रेषक के नाम के रूप में अभी भी 'do_not_reply' है। कोशिश करने के लिए धन्यवाद – rfadams

+1

और सेटिंग्स.DEFAULT_EMAIL_FROM के बारे में क्या? – jujule

0

अलावा send_mail विधि ईमेल भेजने के लिए से, EmailMultiAlternatives भी साथ HTML सामग्री के साथ ईमेल भेजने के लिए इस्तेमाल किया जा सकता एक विकल्प के रूप में पाठ सामग्री।

अपनी परियोजना में इस कोशिश

from django.core.mail import EmailMultiAlternatives 
text_content = "Hello World" 
# set html_content 
email = EmailMultiAlternatives('subject', text_content, 'Dont Reply <[email protected]>', ['[email protected]']) 

email.attach_alternative(html_content, 'text/html') 
email.send() 

यह न दें साथ [email protected] को मेल भेज देंगे ईमेल की '[email protected]' के बजाय नाम के रूप में dispalyed हो जायेंगे।

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