2008-12-10 13 views
8

ई-मेल के माध्यम से अधिसूचना के साथ एक ऐप पर काम करना। मैं उत्पादन सर्वर और ग्राहकों को ई-मेल भेजने के साथ परीक्षण चलाने के लिए चाहता हूं। कुछ साल पहले मुझे याद है कि कोई व्यक्ति हमारे एक्सचेंज सर्वर को खराब ई-मेल लूप के साथ ला रहा है और दोहराना पसंद नहीं करेगा ...ईमेल कार्यक्षमता का परीक्षण करने का अच्छा तरीका

देव सेटअप के लिए कोई सुझाव? वर्तमान में लगता है कि एक साधारण एसएमटीपी सर्वर नौकरी करेगा लेकिन मैं उस जगह से परिचित नहीं हूं। मुझे सर्वर पर भेजे गए सभी ईमेल देखने की क्षमता की आवश्यकता होगी लेकिन उन्हें कभी वितरित नहीं किया जाना चाहिए।

धन्यवाद।

उत्तर

18

Papercut आप जो खोज रहे हैं उसके लिए एकदम सही फिट है। यह पिछले कुछ महीनों से सार्वजनिक रूप से उपलब्ध है। मैं इसे एक महीने के लिए इस्तेमाल कर रहा हूं। ईमेल कार्यक्षमता का परीक्षण करने में कोई आसान नहीं हो सका।

  1. पेपरकट डाउनलोड करें।
  2. रन पेपरकट, इसे चलाने के दौरान यह आपके ट्रे में बैठता है।
  3. अपने एप्लिकेशन के smtp होस्ट को मशीन चलाने वाले पेपरकट पर कॉन्फ़िगर करें।
  4. देखें पेपरकट ईमेल प्राप्त करें और सामग्री देखें।
  5. जब आप पूरा कर लेंगे। पेपरकट बंद करें।
+5

इसके अलावा, वातावरण को व्यवस्थित करने के लिए, पेपरकट में dummysmtp.com पर एक वेब संस्करण है। यह आपको एक एसएमटीपी यूआरएल देता है और दो घंटे के लिए संदेश बरकरार रखता है। – bdukes

+0

@bdukes कूल, अच्छा जोड़ा! –

+0

लिंक टूटा हुआ है :(http://papercut.codeplex.com आज़माएं? –

0

क्यों न केवल ईमेल फ़ाइल को टेक्स्ट फ़ाइल में थूकें और किसी भी कॉल को मेल सर्वर से डिस्कनेक्ट करें?

1

आपकी ईमेल तंत्र क्या है, इस पर निर्भर करता है कि एक और विकल्प टेस्टमेल बनाना होगा। (पीई, पीएचपी, एस) स्क्रिप्ट जो प्रदान किए गए सभी तर्कों को रिकॉर्ड करती है और घटना समय टिकटों के साथ उन्हें टैग टेबल में डंप करती है। यह सुरुचिपूर्ण नहीं है, लेकिन डीबगिंग के लिए करेगा। ट्रिक सभी इस बात पर निर्भर करता है कि आप ईमेल कैसे भेजते हैं।

उसी लाइन के साथ, यदि आप smtp का उपयोग करते हैं और sendmail नहीं भेजते हैं, तो एक गेटो ऐप लिखता है जो कुछ उच्च श्रेणी पोर्ट नंबर पर सुनता है और केवल सही मूल्यों के साथ बेवकूफ प्रतिक्रिया देता है।

5

पोस्टफिक्स या सेंडमेल जैसे किसी भी प्रमुख यूनिक्स/लिनक्स मेल सर्वर में किसी भी वितरण तंत्र के बजाय किसी फ़ाइल को वितरित किए गए उपनाम को सेट करना बहुत आसान है। परीक्षण के दौरान, आप उस फ़ाइल को पूंछ कर सकते हैं यह देखने के लिए कि जब आप इसकी अपेक्षा करते हैं तो मेल भेज रहा है। आपके परीक्षण खत्म हो जाने के बाद, आप इसे फिर से निर्देशित कर सकते हैं कि इसे वास्तव में कहां जाना है।

+0

मैं इसे बड़े परीक्षण/देव पर्यावरण के हिस्से के रूप में देखने जा रहा हूं। धन्यवाद! –

1

आपके प्रश्न ने पर्यावरण का वर्णन नहीं किया है, लेकिन यदि आप ओओ भाषा (जैसे जावा) का उपयोग कर रहे हैं तो आप निर्भरता इंजेक्शन का उपयोग कर सकते हैं। दो कार्यान्वयन के साथ MessageSender इंटरफ़ेस लिखें; एक (EmailMessageSender) वास्तव में ईमेल भेजता है, जबकि अन्य (FileMessageSender) संदेश को स्ट्रिंग में कैप्चर करता है।

अलगाव में EmailMessageSender लिखें और परीक्षण करें; एक बार यह सत्यापित हो जाने पर, इसे शेल्फ पर रखें।

MessageSender के खिलाफ सिस्टम के अन्य हिस्सों को लिखें और FileMessageSender के एक (इंजेक्शन) उदाहरण का उपयोग करके उनका परीक्षण करें। (यदि FileMessageSender "प्रेषित संदेश" सामग्री को पुनर्प्राप्त करने की भी अनुमति देता है, तो आप इसे यूनिट परीक्षण में उपयोग कर सकते हैं।)

एक बार जब आप बाकी सिस्टम को सत्यापित कर लेंगे, तो इसे ठीक से इंजेक्शन के माध्यम से (फिर से इंजेक्शन के माध्यम से) तैनात करें। EmailMessageSender का कॉन्फ़िगर किया गया उदाहरण।

1

आप Mailtrap का उपयोग कर सकते हैं। आप इसे अपने स्टेजिंग सर्वर या विकास सर्वर पर सेट कर सकते हैं।इसका उपयोग करना आसान है और आप उत्पादन ईमेल पते का भी उपयोग कर सकते हैं। सभी ईमेल मेलट्रैप के ईमेल इनबॉक्स में फंस जाएंगे। सेटअप करना आसान है।

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