स्थानीय मेल सर्वर (hMailServer) के माध्यम से ईमेल भेजने के लिए .NET में SmtpClient
और MailMessage
classes का उपयोग करके, मुझे वर्तमान में भेजे गए संदेश के Message-ID
शीर्षलेख मान प्राप्त करने का कोई तरीका नहीं मिला।क्या SmtpClient के साथ भेजे गए ईमेल संदेश का "संदेश-आईडी" कैप्चर करना संभव है?
पीछे
मैं प्रोग्राम के रूप में जो संदेश वितरण योग्य नहीं हैं ट्रैक करने के लिए कोशिश कर रहा हूँ, इसलिए मैं गंतव्य एसएमटीपी सर्वर है कि एक निश्चित संदेश को खारिज कर दिया से उत्तरों को पहचानने के लिए एक रास्ता खोजने के लिए विचार।
अब मैंने Message-ID
एसएमटीपी हेडर वैल्यू को याद रखने और इस आईडी के लिए इनकमिंग मेल को पार्स करने के बारे में सोचा था।
संदेश भेजने के बाद मैंने Headers
collection का निरीक्षण करने का प्रयास किया है, लेकिन मुझे कोई Message-ID
नहीं मिला।
मेरा प्रश्न
यह Message-ID
हैडर मूल्य है कि मेरे एसएमटीपी सर्वर एक MailMessage
उदाहरण भेजने के दौरान कहते हैं प्राप्त करने के लिए संभव है?
अद्यतन 2012-05-27
प्रति this example मैं सफलतापूर्वक मैन्युअल अपने दम पर एक Message-ID
उत्पन्न करने के लिए, बस भेजने से पहले की कोशिश की है के रूप में।
मेरे सभी उदाहरण अब तक काम करते हैं, इसलिए लगता है कि यह मेरे प्रश्न का समाधान है।
मुझे पूरा यकीन है कि आईडी को SMTP सर्वर द्वारा असाइन किया गया है, और SMTP प्रोटोकॉल क्लाइंट को उस मान को वापस लौटने का निर्दिष्ट नहीं करता है। इसके आस-पास एक तरीका बीसीसी को आपके द्वारा नियंत्रित खाते में एक ही संदेश होगा, और उस संदेश से संदेश आईडी निकालें ... यह मानते हुए कि संदेश आईडी प्रारंभिक SMTP सर्वर पर एक बार उत्पन्न होती है। एक और संभावना ईमेल पर कस्टम "एक्स-टैग" जोड़ना है। –
धन्यवाद, @ जेरेमीहोलोवाक्स - मैंने पहले ही एक कस्टम टैग जोड़ने की कोशिश की है (हालांकि "एक्स-" उपसर्ग के साथ नहीं) ऐसा लगता है कि संदेश को अग्रेषित करने या जवाब देने पर यह टैग खो गया है। –
दुर्भाग्यवश प्रति http://stackoverflow.com/questions/7095104/how-to-confirm-that-mail-has-been-delivered- या- इसके लिए बुलेटप्रूफ विधि नहीं है। –