2017-04-05 5 views
5

में गोडाडी ईमेल पते के साथ काम नहीं कर रहा है जब मैं अपने नए गोडाडी ईमेल पते पर एसएसएल का उपयोग करके एएसपी.नेट में एसटीएमपी ईमेल भेजने की कोशिश करता हूं, तो यह काम नहीं करता है।एसएसटीपी के साथ एसएमटीपी ईमेल संदेश एएसपी.नेट

<system.net> 
    <mailSettings> 
    <smtp from="[email protected]" > 
     <network host="smtpout.secureserver.net" port="465" userName="[email protected]" password="password123" enableSsl="true" /> 
    </smtp> 
    </mailSettings> 
</system.net> 

:

enter image description here

यहाँ ईमेल सर्वर जानकारी के साथ मेरे web.config से स्निपेट है: मैं कह रहा Unable to read data from the transport connection: net_io_connectionclosed.

यहाँ सर्वर के लिए ईमेल सेटिंग कर रहे हैं एक त्रुटि संदेश प्राप्त और यहां सी # कोड है जो ईमेल भेजता है।

MailMessage message = new MailMessage(); 
message.To.Add(new MailAddress(to)); 
message.Subject = "Message from " + inputModel.Name; 
message.Body = body; 
message.IsBodyHtml = true; 

using (var smtp = new SmtpClient()) 
{ 
    smtp.Send(message); 
} 

पोर्ट 80, 3535, और एसएसएल के बिना 25 काम ठीक है, लेकिन एसएसएल के साथ चार काम में से कोई भी। मैंने SSL 587 को एसएसएल के साथ भी आजमाया, और काफी लंबे समय बाद यह सिर्फ समय समाप्त हो गया।

मैं इन ईमेल को एसएसएल का उपयोग करने के लिए कैसे प्राप्त कर सकता हूं?

उत्तर

3
this older question में

इस बारे में बहुत कुछ, समस्या का विवरण सहित - कि SmtpClient केवल "स्पष्ट एसएसएल" का समर्थन करता है, और आप "निहित एसएसएल" ऐसा करने के लिए बस सीधे पोर्ट 465 पर एसएसएल बात करने की जरूरत है।

वहां चर्चा की गई विकल्पों की तुलना में एक बेहतर और अधिक आधुनिक दृष्टिकोण, एक अच्छी तरह से बनाए रखा लाइब्रेरी का उपयोग करना है जिसमें एसएसएल समर्थन निहित है। MailKit इसके लिए जाने का एक अच्छा तरीका होगा।

वैकल्पिक रूप से, एक तृतीय-पक्ष ईमेल रिले सेवा, जैसे सेंडग्रिड, मंड्रिल, मेलगुन और अन्य का उपयोग करने पर विचार करें। ऐसा करने से उपयोगकर्ताओं की आपकी बाधाओं को वास्तव में स्पैम/जंक फ़ोल्डर की बजाय अपने मेल में अपने मेल प्राप्त करने में काफी सुधार होगा।

1

आपके स्क्रीनशॉट से मुझे लगता है कि आपकी साइट godaddy के बाहर होस्ट की गई है, तो आप "smtpout.secureserver.net" का उपयोग कर सकते हैं।

यदि आपकी साइट GoDaddy पर होस्ट तो आप इस प्रकार config को बदलने की जरूरत:

<system.net> 
     <mailSettings> 
     <smtp from="[email protected]"> 
     <network host="relay-hosting.secureserver.net"/> 
     </smtp> 
     </mailSettings> 
    </system.net> 

आप उपयोग करना स्पष्ट ssl अंतर्निहित एसएसएल के लिए 587

को 465 से पोर्ट बदलने की कोशिश करना चाहते हैं हम इस्तेमाल किया netimplicitssl:

यहाँ नमूना this जवाब से लिया है

var mailMessage = new MimeMailMessage(); 
mailMessage.Subject = "test mail"; 
mailMessage.Body = "hi dude!"; 
mailMessage.Sender = new MimeMailAddress("[email protected]", "your name"); 
mailMessage.IsBodyHtml = true; 
mailMessage.To.Add(new MimeMailAddress("[email protected]", "your friendd's name")); 
mailMessage.Attachments.Add(new MimeAttachment("your file address")); 
var emailer = new SmtpSocketClient(); 
emailer.Host = "your mail server address"; 
emailer.Port = 465; 
emailer.EnableSsl = true; 
emailer.User = "mail sever user name"; 
emailer.Password = "mail sever password" ; 
emailer.AuthenticationMode = AuthenticationType.PlainText; 
emailer.MailMessage = mailMessage; 
emailer.OnMailSent += new SendCompletedEventHandler(OnMailSent); 
//Send email 
emailer.SendMessageAsync(); 

// A simple call back function: 
private void OnMailSent(object sender, AsyncCompletedEventArgs asynccompletedeventargs) 
{ 
    Console.Out.WriteLine(asynccompletedeventargs.UserState.ToString()); 
} 
संबंधित मुद्दे