2011-01-21 8 views
5

त्रुटि का कारण क्या हो सकता है "निर्दिष्ट स्ट्रिंग ई-मेल पते के लिए आवश्यक रूप में नहीं है"?क्या कारण हो सकता है "निर्दिष्ट स्ट्रिंग ई-मेल पते के लिए आवश्यक रूप में नहीं है"?

स्रोत कोड लाइन है कि त्रुटि होती है:

msg.To.Add(new MailAddress("txtEmail.Text")); 

उत्तर

1

हम्म, मुझे देखते हैं, यह संभव है कि "txtEmail.Text" एक मान्य ईमेल पता नहीं है? मैं बस यहाँ अनुमान लगा रहा हूँ, लेकिन आप उस के आसपास से बोलियां दूर करने के लिए अपने नियंत्रण में वास्तविक मूल्य प्राप्त करने के लिए चाहते हो सकता है ...

13
msg.To.Add(new MailAddress("txtEmail.Text")); 

समस्या है। txtEmail.Text एक ई-मेल पता नहीं है। यदि यह एक टेक्स्ट फ़ाइल है जो ई-मेल की एक सूची है, तो आपको इसे खोलने और इसे पढ़ने और उन्हें एक-एक करके पास करने की आवश्यकता होगी।

यदि यह टेक्स्टबॉक्स का जिक्र कर रहा है, तो इसके चारों ओर उद्धरण लें। इस तरह:

msg.To.Add(new MailAddress(txtEmail.Text)); 
0

दोनों प्रेषक और प्राप्तकर्ता पते को एक वैध ईमेल पता प्रारूप होना आवश्यक है। जैसे। [email protected]

10

मेरे लिए, समस्या कई ईमेल अलग करने के लिए अर्ध-कॉलन (;) का उपयोग कर रही थी। एक बार जब मैं इसे अल्पविराम में बदलता हूं,, यह काम करता है। उम्मीद है कि यह किसी की मदद करेगा।

+0

यह मेरे लिए मुद्दा था, धन्यवाद। –

3

कोड पर इस मुद्दे से ऊपर की वजह से

msg.To.Add(new MailAddress("txtEmail.Text")); 
हुई हो सकता है

आप स्पष्ट है कि यहाँ "txtEmail.Text" स्ट्रिंग के रूप में प्रकट होता है हो सकता है लेकिन नहीं डाक पते जिसे करने के लिए मेल है भेजने जा करने के लिए । तो कोड अनुचित string.As के उपयोग के कारण

msg.To.Add(new MailAddress(txtEmail.Text)); 

और कभी कभी की तरह "निर्दिष्ट स्ट्रिंग प्रपत्र एक ई-मेल एड्रेस के लिए आवश्यक में नहीं है" त्रुटि भी हो सकता है के साथ प्रतिस्थापित किया जाना चाहिए यहां तक ​​कि मैं इसका सामना करना पड़ा

मूल रूप से मैं एएसपी.Net का उपयोग कर ईमेल भेजने के कार्य में काम कर रहा था। मेरे लिए मुख्य मुद्दा कई उपयोगकर्ताओं को मेल भेज रहा था। सबसे पहले, मैंने डेटाबेस से ईमेल पता पुनर्प्राप्त किया और ";" का उपयोग किया ताकि एकाधिक ईमेल पते को अलग किया जा सके। चूंकि एकाधिक उपयोगकर्ताओं को ईमेल भेजते समय, नियमित आधार पर हम अर्धविराम का उपयोग करते हैं i.e. ";"

सब कुछ ठीक लग रहा था लेकिन संकलन के बाद मुझे त्रुटि मिली "निर्दिष्ट स्ट्रिंग ई-मेल पते के लिए आवश्यक रूप में नहीं है"।

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

विवरण के लिए देखें: http://kopila.com.np

धन्यवाद!

0

मैं एक समस्या है जहाँ मैं यह पहले से ही प्राप्तकर्ता और प्रेषक के साथ संदेश का निर्माण कर रहा था, लेकिन इसे निम्नलिखित त्रुटि दिखाई:

The specified string is not in the form required for an e-mail address

समस्याग्रस्त कोड इस प्रकार किया गया था के रूप में:

MailMessage objMsg = new MailMessage(); 
objMsg.From = new MailAddress(regEmail.Text.ToString()); 
objMsg.To.Add(new MailAddress("[email protected]")); 
:
MailMessage objMsg = new MailMessage(regEmail.Text.ToString(), "[email protected]"); 

मैं इस के साथ कि कोड की जगह समस्या का समाधान हो

यह आपके उपयोगकर्ता नियंत्रण में एक रेगुलर एक्सप्रेशन सत्यापनकर्ता का उपयोग सुनिश्चित पता मान्य है बनाने के लिए उपयोगी है, आप एएसपी के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:

<asp:RegularExpressionValidator ID="regex1" ControlToValidate="regEmail" ErrorMessage="Please enter a valid email address" ValidationExpression="^[\w-\.][email protected]([\w-]+\.)+[\w-]{2,4}$" ValidationGroup="regGroup" runat="server" Display="None" SetFocusOnError="True"></asp:RegularExpressionValidator> 

या यदि आप इसकी पुष्टि करना पसंद करते हैं सी # में तो आप इस रूप में भी एस Fadhel अली ने कहा उपयोग कर सकते हैं:

public static bool IsValidEmail(String Email) 
{ 
    if(Email != null && Email != "") 
     return Regex.IsMatch(Email, @"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"); 
    else 
     return false; 
} 
0

यह निम्न स्वरूप में होना चाहिए।

Dim myMail As New Net.Mail.MailMessage(New MailAddress(strFrom), New MailAddress(strTo)) 
संबंधित मुद्दे