2010-12-20 17 views
30

मैं यह त्रुटिएसएमटीपी सर्वर एक सुरक्षित कनेक्शन की आवश्यकता है या ग्राहक प्रमाणीकृत नहीं किया गया था

The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Must issue a STARTTLS command first. e17sm974159fak.34 

Web.config हो रही है

<mailSettings> 
    <smtp deliveryMethod="Network" 
       from="[email protected]"> 
     <network defaultCredentials="false" host="smtp.gmail.com" port="587" 
        userName="[email protected]" password="12345678" /> 
    </smtp>   
</mailSettings> 

कोड फ़ाइल

public void Submit() 
     { 
      EnsureCurrentlyValid(); 
      // Send via email 
      var message = new StringBuilder(); 
      message.AppendFormat("Date: {0:yyyy-MM-dd hh:mm}\n", DateTime.Now); 
      message.AppendFormat("Email from: {0}\n", Name); 
      message.AppendFormat("Email: {0}\n", Email); 
      message.AppendFormat("Message: {0}\n", Message); 
      SmtpClient smtpClient = new SmtpClient(); 
      MailMessage m = new MailMessage(
       "[email protected]", // From 
       "[email protected]", // To 
       "Suggestion/Comments", // Subject 
       message.ToString()); // Body 

      smtpClient.Send(m); 
     } 
+0

हैलो @ coure2011, अगर आपको अपनी समस्या का समाधान मिलता है तो कृपया मेरी मदद करें, क्योंकि मुझे एक ही त्रुटि मिल रही है। – Abhishek

उत्तर

49

सेट करने का प्रयास EnableSsl संपत्ति को सत्य:

smtpClient.EnableSsl = true; 

AFAIK इस संपत्ति को केवल कोड में सेट किया जा सकता है और कॉन्फ़िगरेशन फ़ाइल में निर्दिष्ट नहीं किया जा सकता है।

+0

यह भी देखें: http://stackoverflow.com/questions/32260/sending-email-in-net-through-gmail –

21

असल में आप enableSsl = "true" जोड़कर इसे अपने web.config फ़ाइल में संभाल सकते हैं। यह मेरे लिए काम करता था और मुझे कोड में कुछ भी करने की ज़रूरत नहीं थी।

उदा।

<network host="smtp.gmail.com" enableSsl="true" ... /> 
+6

enableSSl केवल .NET 4+ में समर्थित है – AndyM

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

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