2010-10-06 18 views
22

में जीमेल के माध्यम से मेल भेजते समय प्रेषक पता बदलें मैंने जीमेल खाते का उपयोग कर अपने वेब एप्लिकेशन से मेल भेजने के लिए निम्नलिखित कोड का उपयोग किया है। मेरा सवाल है, क्या मैं प्रेषक पते को मूल प्रेषक (जीमेल) पते के अलावा किसी अन्य पते पर बदल सकता हूं? मेरे कोड इस प्रकार है:सी #

System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(); 


System.Net.NetworkCredential cred = new 
     System.Net.NetworkCredential("[email protected]", "*******"); 

जो कुछ भी मैं करता हूँ बेकार है के रूप में मैं हमेशा [email protected] से मेल प्राप्त। क्या इसे बदलना संभव है?

मैं mail.From = new System.Net.Mail.MailAddress("[email protected]"); में बदल गया है, लेकिन मुझे [email protected] पते से मेल मिला है और नए "प्रेषक" पते से नहीं। मुझे लगता है कि जीमेल smtp मूल प्रमाण पत्र के साथ पते से ओवरराइट करता है।

उत्तर

32

जीमेल आपको FROM को बदलने की अनुमति नहीं देता है आपके जीमेल खाते से कुछ अलग है।

इससे कोई फर्क नहीं पड़ता कि आप इसका उपयोग क्यों करते हैं, इससे पहले कि वे इसे रिले करें, इससे अधिक लिखें। यह स्पैमिंग/स्पूफिंग को रोकता है।

+1

सच नहीं है, नीचे मेरी टिप्पणी देखें। यह संभव है, जब तक आपके पास अन्य खाता उपनाम के रूप में जोड़ा गया हो। – Whiskey

+0

यह सही उत्तर नहीं है, मैंने आज फिलिप और साइमन_वेवर के उत्तरों को एक साथ लागू किया और खाते के मुख्य लॉगिन विवरण (जो उपनाम से अलग हैं) का उपयोग करके सफलतापूर्वक एक जी सूट उपनाम से ईमेल भेजने में सक्षम था। –

5

हाँ बस MailMessage

जैसे की From संपत्ति का उपयोग करें।

mail.From = "[email protected]"; 

संपादित: इसके अलावा, सी # में कैसे करने के लिए जीमेल के माध्यम से ईमेल के बारे में अधिक विस्तृत जानकारी के लिए इस पोस्ट को देख

Sending email in .NET through Gmail

संपादित करें: इस हालांकि सामान्य रूप में मेल के लिए काम करता है, यह ऐसा लगता है कि यह जीमेल के लिए काम नहीं करेगा क्योंकि Google इसे भेजे जाने से पहले ओवरराइट करता है (देखें @ डेव वेटा का जवाब)

+0

क्या करना चाहते हैं के लिए प्रासंगिक हो सकता है यह पता से अधिलेखित करने के लिए ... –

+0

आप सही सामान्य रूप में हों, तब यह नहीं लगता है, जब विशेष रूप से Google SMTP सर्वर के माध्यम मेल भेजने "से:" संपत्ति अधिलेखित है। – scubbo

+1

यह सच नहीं है, आप Google SMTP का उपयोग कर पते से अलग उपयोग कर सकते हैं। बस सुनिश्चित करें कि यह एक उपनाम है (W69rdy अंक के रूप में) और आप आरएफसी 2822 विनिर्देश का पालन करते हैं (मेरी गलती में ईमेल और नाम ब्रैकेट के बीच एक जगह थी, यह [email protected] होना चाहिए)। प्रेषक का पता Google द्वारा नहीं बदला जाएगा, लेकिन आप इसे प्रभावित कर सकते हैं क्योंकि यह आपके जीमेल सेटिंग्स में डिफ़ॉल्ट रूप से चिह्नित खाते का उपयोग करेगा। – Whiskey

29

यह समाधान है:

  1. कोड का उपयोग ऊपर mail.From = नए MailAddress (पता, प्रदर्शन नाम)
  2. Gmail में
  3. स्थापित करने के लिए, करने के लिए मेल सेटिंग्स >> खाते और आयात के चलते हैं।
  4. वह ईमेल खाता जोड़ें जिसे आप प्रेषक के रूप में "मेल भेजें" में उपयोग करेंगे। (उर्फ रूप टिकटिक)

यह मैं

+0

बहुत बेहतर जवाब। जीमेल में से बदलना संभव है। –

2

लिए काम करता है आप प्रेषकों के रूप में @philip सुझाव आप कर सकते हैं की एक सीमित संख्या है। उदाहरण के लिए आपके पास [email protected], [email protected] और [email protected] या यहां तक ​​कि [email protected] हो सकता है। जब तक वे वास्तविक gmail.com वेबसाइट पर अनुमोदित प्रेषक हैं, तो आप उन्हें भेज सकते हैं।

Gmail.com : Sending mail from a different address

आप एक मनमाना उपयोगकर्ता से भेजने के लिए उम्मीद कर रहे हैं, तो (जैसे कि एक वेबसाइट पर एक ग्राहक सेवा फार्म के रूप में जहां उपयोगकर्ता अपने ईमेल में प्रवेश करती है और आप उन्हें आप सीधे ईमेल नहीं करना चाहती) सबसे अच्छा के बारे में आप क्या कर सकते हैं यह है:

 msg.ReplyToList.Add(new System.Net.Mail.MailAddress(email, friendlyName)); 

आप एक नियंत्रित वातावरण में इस महान काम करता है में हैं, लेकिन कृपया ध्यान दें मैंने देखा है कि कुछ ईमेल क्लाइंट पते से करने के लिए भेजने के भी जब उत्तर दें (मैं डॉन निर्दिष्ट है, तो पता नहीं कौन सा)।