2010-11-30 12 views
5

संभव डुप्लिकेट:
Sending email through Gmail SMTP server with C#जीमेल एसएमटीपी सर्वर के साथ सी # में कैसे मेल करें?

साथ सी # और जीमेल एसएमटीपी सर्वर का उपयोग कर मेलिंग के लिए वहाँ मुश्किल बात यह है कि हम क्या करना चाहिए किसी भी तरह का है? क्योंकि बहुत सारी खोज के बाद मुझे ऐसा करने के कुछ तरीके मिले, लेकिन परिणामस्वरूप मुझे विफलता अपवाद मिल रहा है। मुझे लगता है कि ऐसा इसलिए है क्योंकि मैं जीमेल के लिए टीएसएल को संभाल नहीं पा रहा हूं (क्योंकि यह टीएसएल के साथ काम करता है), लेकिन मुझे नहीं पता कि टीएसएल को सी # के साथ कैसे संभालना है। मैं वास्तव में उपयोगी नमूने के लिए किसी भी मदद या लिंक की सराहना करता हूं। यहां मेरा कोड है:

public string SendMail(string senderMail, string receiverMail, string attachmentPath) 
{ 
    var fromMailAddress = new MailAddress(senderMail); 
    var toMailAddress = new MailAddress(receiverMail); 

    MailMessage mailMessage = new MailMessage(fromMailAddress, toMailAddress); 
    mailMessage.Subject = "My Subject"; 
    mailMessage.Body = "This is the body of this message for testing purposes"; 

    Attachment attachFile = new Attachment(attachmentPath); 
    mailMessage.Attachments.Add(attachFile); 

    SmtpClient emailClient = new SmtpClient(); 

    NetworkCredential credential = new NetworkCredential(); 
    credential.UserName = fromMailAddress.User; 
    credential.Password = "password"; 

    emailClient.Credentials = credential; 
    emailClient.Port = 587; 
    emailClient.Host = "smtp.gmail.com"; 

    //emailClient.EnableSsl = true; //Here should be for TSL, but how? 

    emailClient.Send(mailMessage); 
} 
+0

उसे पूछने दो! : पी – Seva

+0

एसओ में आपका स्वागत है! यह एक अच्छा सवाल है और आपने सही कोड संलग्न किया है। हालांकि, उपरोक्त लिंक देखें, पहले एक समान सवाल पूछा गया था। यह हो सकता है कि आप एक विशेष अपवाद का सामना कर रहे हैं; यदि आप अपने अपवाद का सही संदेश पोस्ट करते हैं तो उस मामले में लोग आपकी मदद कर सकते हैं। – Marijn

+0

आपने "टीएसएल" शब्द का इस्तेमाल तीन बार किया था, लेकिन मुझे नहीं पता कि वह क्या है। क्या आपका मतलब "टीएलएस" था? – Gabe

उत्तर

1

आपको अपवाद का संदेश बताना चाहिए। लेकिन हां, ईमेल क्लाइंट.एनेबल एसएसएल = सत्य; यदि यह अभी भी काम नहीं कर रहा है, तो आपका फ़ायरवॉल या राउटर संभावित रूप से बंदरगाहों को अवरुद्ध कर रहा है।

5

निम्नलिखित कोड आज़माएं। यह एक कामकाजी कोड है जिसे मैं लंबे समय से उपयोग कर रहा हूं।

// Configure mail client (may need additional 
    // code for authenticated SMTP servers). 
    SmtpClient mailClient = new SmtpClient("smtp.gmail.com", 587); 

    // Set the network credentials. 
    mailClient.Credentials = new NetworkCredential("[email protected]", "YourGmailPassword"); 

    //Enable SSL. 
    mailClient.EnableSsl = true; 

    // Create the mail message (from, to, subject, body). 
    MailMessage mailMessage = new MailMessage(); 
    mailMessage.From = new MailAddress("[email protected]"); 
    mailMessage.To.Add(to); 

    mailMessage.Subject = subject; 
    mailMessage.Body = body; 
    mailMessage.IsBodyHtml = isBodyHtml; 
    mailMessage.Priority = mailPriority; 

    // Send the mail. 
    mailClient.Send(mailMessage); 

संदर्भ: Sending Email using a Gmail Account

+0

आपको बहुत बहुत धन्यवाद, यह पूरी तरह से काम करता है। मैं लगभग इस समस्या को संभालने के लिए आईआईएस और मैनुअल एसएमटीपी स्थापित करना चाहता था लेकिन अब मैं पूरी तरह से जीमेल का उपयोग कर सकता हूं, बहुत बहुत धन्यवाद। – Sam

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