Google Apps के माध्यम से Django के साथ ईमेल भेजते समय एक ईमेल नाम देना


84

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

जब उपयोगकर्ता Django ऐप से भेजे गए ईमेल प्राप्त करता है, तो वे निम्न से हैं:
do_not_reply@domain.com

जब सभी ईमेल इनबॉक्स में देखते हैं, तो लोग ईमेल के प्रेषक को इस रूप में देखते हैं:
do_not_replyया do_not_reply@domain.comउपयोग किए गए ईमेल क्लाइंट के आधार पर

यदि मैं ब्राउज़र और Google Apps का उपयोग करके उस "do_not_reply" खाते में लॉग इन करता हूं और फिर खुद को एक ईमेल भेजता हूं, तो ईमेल इस प्रकार हैं:
Dont Reply<do_not_reply@domain.com>

परिणामस्वरूप, इनबॉक्स में ईमेल भेजने वाले के लिए प्रदर्शित नाम है:
Dont Reply

Django में, ईमेल भेजने के लिए उपयोग किए जा रहे ईमेल खाते में "नाम" संलग्न करने का एक तरीका है?

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

उपयोग करना:
Django 1.1
Python 2.6
Ubuntu 9.1
settings.EMAIL_HOST = 'smtp.gmail.com'

धन्यवाद

जवाबों:


142

आप वास्तव में "Dont Reply <do_not_reply@domain.com>"आपके द्वारा भेजे गए ईमेल पते के रूप में उपयोग कर सकते हैं ।

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

>>> from django.core.mail import send_mail
>>> send_mail('subject', 'message', 'Dont Reply <do_not_reply@domain.com>', ['youremail@example.com'])

1
पोस्ट करने का शुक्रिया! काश मैंने कल यह देखा होता / b यह मुझे कुछ समय बचा लेता। मैं अभी < docs.djangoproject.com/en/dev/topics/email/… > पर प्रलेखन पढ़ रहा था और अंत में "from_email" को और अधिक बारीकी से पढ़ा और आपके जैसा ही उत्तर मिला। जब मैं तुम्हारा देखा था तो बस एक जवाब पोस्ट करने के लिए यहाँ आ रहा था। वैसे भी, फिर से धन्यवाद! खुशी है कि आखिरकार यह काम कर रहा है
रफ़दाम्स

10
आप इस तरह settings.py पर DEFAULT_FROM_EMAIL सेट कर सकते हैं: DEFAULT_FROM_EMAIL = 'Dont Reply <do_not_reply@domain.com>'
मार्क Tudurí

बस यह सुनिश्चित कर लें कि आप एक ही ईमेल को नाम के साथ सेट न करें, जैसे कि ऑर्ट_युसर, क्योंकि यह प्रमाणीकरण में विफल हो जाएगा
iamkhush

@ कयामतुश - आपका क्या मतलब है setting the same email with name as aut_user। मुझे एक प्रमाणीकरण त्रुटि मिल रही है। मैं समझ नहीं पा रहा था कि क्यों?
पायथन एंथनीस

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 <do_not_replay@domain.com>', ['youremail@example.com'])

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

इससे आपको Drem Reply wil के साथ youremail@example.com पर मेल भेजा जाएगा, ईमेल 'do_not_replay@domain.com' के बजाय नाम के रूप में प्रेषित किया जाएगा।


-5

मैं इस कोड का उपयोग gmail smtp (google apps का उपयोग करके) भेजने के लिए करता हूँ। और प्रेषक नाम ठीक हैं

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()

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

3
और सेटिंग के बारे में क्या है। FAFAULT_EMAIL_FROM?
जुजुल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.