2008-08-27 12 views
10

मैं चाहता हूं कि मेरा प्रोग्राम मुझे त्रुटि रिपोर्ट ईमेल करने में सक्षम हो। मैं उपयोगकर्ता नाम/पासवर्ड/एसएमटीपी सर्वर/आदि हार्ड कोडिंग के बिना ऐसा कैसे कर सकता हूं। कोड में? (ऐसा करने से उपयोगकर्ताओं को कार्यक्रम को कम करने और इस ईमेल खाते को लेने की अनुमति मिल जाएगी।)एक पूर्ववर्ती खाते का उपयोग कर किसी प्रोग्राम _without_ से ईमेल कैसे भेजें?

मुझे बताया गया है कि आप पोर्ट 25 के साथ टेलनेटिंग के साथ कुछ सामान कर सकते हैं, लेकिन मैं विवरण पर बहुत अस्पष्ट हूं। Google पर अधिकांश कोड स्निपेट मानते हैं कि आपके पास एक पूर्ववर्ती खाता है, जो इस स्थिति में काम नहीं करता है।

मैं .NET v3.5 (विशेष रूप से सी #) का उपयोग कर रहा हूं, लेकिन मुझे लगता है कि विचार अधिकांश भाषाओं में समान हैं। जब तक आप महसूस करते हैं कि मैं इसे ऑफ़लाइन ऐप के लिए कर रहा हूं, और मुझे PHP कोड या कुछ के साथ आपूर्ति न करें, हमें ठीक होना चाहिए।

उत्तर

8

जब तक आपका खाता gmail.com पर है, तो gmail-smtp-in.l.google.com को अपने प्रोग्राम में आउटगोइंग SMTP-server के रूप में सेट करें। उस सर्वर का उपयोग करते समय आपको जीमेल-खातों को ईमेल भेजने के लिए पासवर्ड प्रदान करने की आवश्यकता नहीं है।

+0

यदि आप हैं: पता एक जीमेल पता नहीं है? उस स्थिति के लिए कुछ अच्छे विकल्प क्या हैं? – greg7gkb

1

यदि कार्यक्रम आपको सीधे ईमेल करना है, तो उसे किसी भी तरह की जानकारी प्राप्त करनी होगी, इसलिए एक निर्धारित हमलावर भी उस जानकारी को प्राप्त कर सकता है।

क्या आपने कहीं एक साधारण http फॉर्म या वेब सेवा होस्ट करने पर विचार किया है, ताकि आप एप्लिकेशन से वहां की गई जानकारी पोस्ट कर सकें (प्रमाणीकरण आवश्यक नहीं है), और या तो इसे मैन्युअल रूप से बाद में देखने के लिए सहेजें, या ईमेल भेजें उस सर्वर से?

7

मैं कनेक्ट करने के लिए एक webservice बनाउंगा। इस webservice को आपके प्रोग्राम द्वारा प्रदान किए जाने वाले डेटा के आधार पर ईमेल भेजना चाहिए। सभी संवेदनशील पहुंच-डेटा webservice पक्ष पर रखा जाता है, इसलिए यह सुरक्षित है।

0

मुझे लगता है कि सबसे अच्छी योजना कुछ नियंत्रण (सामान्य मामले में, एक वेब फ़ॉर्म) में त्रुटि नियंत्रण को आपके नियंत्रण में चलाना होगा, जो तब एक ईमेल भेज सकता है (या इसे किसी अन्य उचित तरीके से लॉग इन कर सकता है) ।

यदि ईमेल भेजना अंतिम उपयोगकर्ता के लिए लाभ का माना जाता है, तो दूसरा विकल्प होगा कि उपयोगकर्ता अपना स्वयं का एसएमटीपी सर्वर (और यदि आवश्यक हो तो उपयोगकर्ता नाम/पासवर्ड) दर्ज करें - यूनिक्स सिस्टम पर, आप संभवतः बस उपयोग कर सकते हैं sendmail और उपयोगकर्ता को भरोसेमंद कॉन्फ़िगर करने के लिए भरोसा करते हैं। मैं एक ऐसे सिस्टम पर काम करता था जिसने सिस्टम के निर्धारित कार्यों की उपयोगकर्ता रिपोर्ट भेजने के लिए इस दृष्टिकोण का उपयोग किया था, और यह काफी अच्छा काम करता था।

-1
MailMessage msg = new MailMessage("[email protected]", "[email protected]"); 
msg.Subject = "Check it out!"; 
msg.Body = "Visit stackoverflow.com!"; 
SmtpClient client = new SmtpClient("some.smtp.server", 25); 
client.Send(msg); 
0

आपको बस इतना करना आईएसपी के SMTP सर्वर जानते हुए भी आप उपयोग कर रहे हैं क्योंकि जब आप अपने खुद के आईएसपी के SMTP सर्वर का उपयोग, आप मेल-रिले स्पैम ऐसा करने से आप जा सकते हैं के रूप में नहीं माना जाता है की जरूरत है बिना किसी प्रमाणीकरण के।

दुर्भाग्य से, यह हमेशा संभव नहीं है कि जानकारी आसानी से प्राप्त करने के लिए है या वहाँ कुछ छोटे अपवाद जो आप गुमनाम रूप में लॉग इन करने के लिए जब आप एक कंपनी में विनिमय का उपयोग कर रहे पसंद नहीं जाने देंगे ...

पहले तो मैंने सोचा है अपनी सूचनाओं को एन्क्रिप्ट करने और रनटाइम के दौरान उन्हें डिक्रिप्ट करने के बारे में लेकिन यह अभी भी नेटवर्क कार्ड को स्नीफ करके उपलब्ध होगा। हालांकि आप किसी वेबसाइंस के साथ कहीं भी गठबंधन कर सकते हैं जो आपके लिए डिक्रिप्ट और मेलिंग करेगा (या सीधे वेब सेवा को जानकारी भेजें, जिसे आप कभी भी पसंद करते हैं) जैसा कि पहले से ही दूसरों द्वारा सुझाया गया है।

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