2013-03-21 5 views
5

का उपयोग करके ईमेल भेजें, मैं smtp.gmail.com के माध्यम से ईमेल भेजने के लिए एक छोटा प्रोग्राम बनाने की कोशिश कर रहा हूं, लेकिन यह हमेशा मुझे संकेत देता है कि "ऑपरेशन का समय समाप्त हो गया है"। मुझे पता है कि नेट पर बहुत से समाधान उपलब्ध हैं लेकिन इनमें से कोई भी काम नहीं करता है।सी # विंडोज फॉर्म एप्लीकेशन - जीमेल एसएमटीपी

try 
{ 
    MailMessage message = new MailMessage(); 
    SmtpClient smtp = new SmtpClient(); 

    message.From = new MailAddress("[email protected]"); 
    message.To.Add(new MailAddress("[email protected]")); 
    message.Subject = "Test"; 
    message.Body = "Content"; 

    smtp.Port = 465; 
    smtp.Host = "smtp.gmail.com"; 
    smtp.EnableSsl = true; 
    smtp.UseDefaultCredentials = false; 
    smtp.Credentials = new NetworkCredential("[email protected]", "pwd"); 
    smtp.DeliveryMethod = SmtpDeliveryMethod.Network; 
    smtp.Send(message); 
} 
catch (Exception ex) 
{ 
    MessageBox.Show("err: " + ex.Message); 
} 

क्या इसे हल करने का कोई तरीका है?

+0

इसी प्रकार का प्रश्न: http://stackoverflow.com/questions/32260/sending-email-in-net-through-gmail –

+0

टाइमआउट मान शायद कम हो गया है, यह भी देखें: http://stackoverflow.com/प्रश्न/1524 9 817/संलग्न-मेल-संलग्नक/15250867 # 15250867 पोर्ट 465 के लिए, यह ठीक होना चाहिए – TimothyP

+2

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

उत्तर

10

बदलें 587 करने के लिए पोर्ट:

try 
{ 
    MailMessage message = new MailMessage(); 
    SmtpClient smtp = new SmtpClient(); 

    message.From = new MailAddress("[email protected]"); 
    message.To.Add(new MailAddress("[email protected]")); 
    message.Subject = "Test"; 
    message.Body = "Content"; 

    smtp.Port = 587; 
    smtp.Host = "smtp.gmail.com"; 
    smtp.EnableSsl = true; 
    smtp.UseDefaultCredentials = false; 
    smtp.Credentials = new NetworkCredential("[email protected]", "pwd"); 
    smtp.DeliveryMethod = SmtpDeliveryMethod.Network; 
    smtp.Send(message); 
} 
catch (Exception ex) 
{ 
    MessageBox.Show("err: " + ex.Message); 
} 
+0

पोर्ट 465 स्वीकार्य है – TimothyP

+0

यह होना चाहिए, लेकिन जब मैं इसे डालता हूं तो मेरे टेस्ट ऐप पर समय समाप्त हो जाता है। 587 में बदल गया, और यह काम करता है। – uNople

+0

हम्म, दिलचस्प। कुछ ध्यान में रखना – TimothyP

1

कैसे कैसे pdf फ़ाइल के ईमेल जो ग # खिड़कियों में घ ड्राइव में स्टोर है भेजने के लिए करने के लिए आवेदन ... जवाब है ...

MailMessage mail = new MailMessage(); 
      SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); 
      mail.From = new MailAddress(txtFrom.Text.ToString()); 
      mail.To.Add(txtmailTo.Text.ToString()); 
      mail.Subject = "Mail Pdf"; 
      var filename = @"D:/your file path/.pdf"; 
      mail.Attachments.Add(new Attachment(filename)); 
      SmtpServer.Port = 587; 
      SmtpServer.Credentials = new 
      System.Net.NetworkCredential(txtFrom.Text, txtPassword.Text); 
      SmtpServer.EnableSsl = true; 
      SmtpServer.Send(mail); 
संबंधित मुद्दे