2015-07-05 10 views
9

से एक ईमेल भेजने के लिए SmtpClient का उपयोग करके मैं SmtpClient के माध्यम से अपने जीमेल खाते से कनेक्ट करने की कोशिश कर रहा हूं लेकिन ऐसा लगता है कि ऐसा नहीं होना चाहिए। मैं पोर्ट 465 निर्दिष्ट करता हूं, एसएसएल सक्षम करता हूं और सब कुछ परिभाषित करता हूं, लेकिन इसमें 2 मिनट लगते हैं और फिर कुछ त्रुटि दिखाती है कि संदेश नहीं भेजा गया था।जीएम

मैं यहाँ क्या गलत कर रहा हूं?

try 
{ 
    MailMessage msg = new MailMessage(); 
    msg.From = new MailAddress("[email protected]); 
    msg.To.Add(new MailAddress("[email protected])); 
    msg.Subject = "This is the subject"; 
    msg.Body = "This is the body"; 
    SmtpClient sc = new SmtpClient("smtp.gmail.com", 465); 
    sc.EnableSsl = true; 
    sc.UseDefaultCredentials = false; 
    sc.Credentials = new NetworkCredential("[email protected]", "pass"); 
    sc.DeliveryMethod = SmtpDeliveryMethod.Network; 
    sc.Send(msg); 
    erroremail.Text = "Email has been sent successfully."; 
} 
catch (Exception ex) 
{ 
    erroremail.Text = "ERROR: " + ex.Message; 
} 
+0

मैंने किया था, और फिर इसे 'त्रुटि का कहना है: एसएमटीपी सर्वर एक सुरक्षित की आवश्यकता है कनेक्शन या क्लाइंट प्रमाणीकृत नहीं था। – Aradmey

+0

ठीक है, यह एक कोड समस्या नहीं थी, लेकिन यह जीमेल सेटिंग्स थी जो कनेक्शन को अवरुद्ध करता था। यह अब काम करता है! – Aradmey

उत्तर

17

आप "कम सुरक्षित ऐप्स" अनुमति देनी होगी:

https://support.google.com/accounts/answer/6010255

कोड:

try 
{ 
    new SmtpClient 
    { 
     Host = "Smtp.Gmail.com", 
     Port = 587, 
     EnableSsl = true, 
     Timeout = 10000, 
     DeliveryMethod = SmtpDeliveryMethod.Network, 
     UseDefaultCredentials = false, 
     Credentials = new NetworkCredential("[email protected]", "MyPassword") 
    }.Send(new MailMessage {From = new MailAddress("[email protected]", "MyName"), To = {"[email protected]"}, Subject = "Subject", Body = "Message", BodyEncoding = Encoding.UTF8}); 
    erroremail.Text = "Email has been sent successfully."; 
} 
catch (Exception ex) 
{ 
    erroremail.Text = "ERROR: " + ex.Message; 
} 
+0

@ एनाटोली वह पहले से ही अपने जवाब में एक लिंक पोस्ट कर चुका है। कम सुरक्षित ऐप एक Google खाता सेटिंग है जो आपके ऐप को आपकी तरफ से ईमेल भेजने देता है। –

+0

मुझे आश्चर्य है कि "आधुनिक सुरक्षा मानकों" में SmtpClient की कमी है और यदि कोई मूल .NET विकल्प है जिसे इस खाता विकल्प को सेट करने की आवश्यकता नहीं है। – Slight

+0

हाय, क्या आप इस मामले में नेटवर्क प्रमाण-पत्र सुरक्षित कैसे हैं इस पर टिप्पणी कर सकते हैं? ठीक है, मैं देखता हूं - सक्षम एसएसएल। लेकिन मेरे मामले में - मुझे टाइमआउट मिल रहा है ... – Prokurors

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