- MailCatcher एक ऐसा टूल है जो एक सरल SMTP सर्वर चलाता है और प्राप्त ईमेल को वेब इंटरफ़ेस में दिखाता है।
- ईमेल को
smtp://127.0.0.1:1025 पर भेजने के लिए सेट किया जा सकता है, और प्राप्त ईमेल को http://127.0.0.1:1080 पर देखा जा सकता है।
- मुख्य फीचर्स
- सभी ईमेल प्राप्त करके स्टोर करता है, और HTML, plain text तथा source version दिखाता है।
- HTML को फिर से लिखता है ताकि embedded images और links नई विंडो में खोले जा सकें।
- attachment सूची देता है और अलग-अलग डाउनलोड को सपोर्ट करता है।
- मूल ईमेल डाउनलोड करके उसे डिफ़ॉल्ट मेल क्लाइंट में देखा जा सकता है।
- command-line options के जरिए डिफ़ॉल्ट SMTP/HTTP IP और port settings बदली जा सकती हैं।
- WebSockets सपोर्ट करने वाले ब्राउज़र में ईमेल तुरंत दिखाई देते हैं, नहीं तो हर 30 सेकंड में अपडेट होते हैं।
- इसे बैकग्राउंड में daemon की तरह चलाया जा सकता है, और foreground में भी चलाया जा सकता है।
- PHP में आसानी से उपयोग के लिए
catchmail नाम का sendmail-जैसा कमांड देता है।
- संदेशों के बीच keyboard navigation को सपोर्ट करता है।
- इंस्टॉलेशन और उपयोग
gem install mailcatcher कमांड से इंस्टॉल किया जा सकता है, और mailcatcher कमांड से चलाया जाता है।
- ईमेल को
smtp://127.0.0.1:1025 पर भेजें और http://127.0.0.1:1080 पर देखें।
- command-line options को
mailcatcher --help से देखा जा सकता है।
- Bundler और RVM
- Gemfile में MailCatcher जोड़ने के बजाय, README में उपयोग विधि लिखने की सिफारिश की जाती है।
- RVM का उपयोग करने पर, gem conflict से बचने के लिए इसे अलग gemset में इंस्टॉल करने की सिफारिश की जाती है।
- Rails और PHP सेटिंग
- Rails में
environments/development.rb में SMTP settings जोड़कर इसका उपयोग किया जाता है।
- PHP में
php.ini या Apache settings में sendmail_path सेट करके इसका उपयोग किया जाता है।
- Django सेटिंग
- Django में
settings.py में email settings जोड़कर इसका उपयोग किया जाता है।
- API
- RESTful URL schema के जरिए JSON फ़ॉर्मेट में संदेश सूची डाउनलोड की जा सकती है।
- ध्यान देने योग्य बातें
- ईमेल प्रोसेसिंग फीचर बुनियादी है, और आवश्यकता के अनुसार संशोधित किया जा सकता है।
- यह UTF-8 encoding को पूरी तरह सपोर्ट नहीं करता, इसलिए उपयुक्त mail library का उपयोग करना पड़ सकता है।
- आगे की योजना
- अनुरोध पर ईमेल भेजने की सुविधा जोड़ना।
- CampaignMonitor की design guidelines और CSS support matrix के साथ compatibility testing.
1 टिप्पणियां
Hacker News टिप्पणियाँ
यह टूल उपयोगी है, लेकिन इसका maintenance बंद हो चुका है। MailHog का भी यही हाल है। MailPit, MailCrab, smtp4dev आधुनिक विकल्प हैं
maintainer अभी बहुत ज्यादा काम नहीं कर रहा है। क्योंकि यह टूल अब पूरा हो चुका है। सुधार की काफी गुंजाइश है, लेकिन इससे फीचर्स में बड़ा सुधार नहीं होगा। अगर कोई समस्या आती है, तो उसे ठीक किया जाता है
Mailpit Go में लिखा गया है, एक single static binary के रूप में चलता है, और बहुत कम resource usage रखता है। इसका सक्रिय रूप से maintenance हो रहा है
लोकल development environment में SMS messages को intercept करने वाले ऐसे ही किसी टूल की तलाश है। कंपनी Mailtrap का इस्तेमाल email preview टूल के रूप में कर रही है, और Twilio के जरिए भेजे जाने वाले SMS messages के लिए ऐसे ही किसी टूल की तलाश है। Twilio Dev Phone प्रोजेक्ट था, लेकिन उसका maintenance बंद हो चुका है
यह टूल development के लिए है, और mature स्थिति में है। पिछले 1 साल के भीतर Git activity हुई है। अगर कोई खास फीचर महत्वपूर्ण है, तो pull request भेजी जा सकती है या development के लिए donation पर विचार किया जा सकता है
मैंने हाल ही में smtp4dev इस्तेमाल करना शुरू किया है। लोकल development के लिए "mailtrap" समस्या को मैं पहले से सुलझी हुई समस्या मानता हूँ। इसे docker-compose फ़ाइल में जोड़ने के लिए 15 मिनट और 10 लाइनों के कोड की जरूरत पड़ी, और यह अच्छी तरह काम कर रहा है। Docker/Podman के जरिए service setup बहुत आसान है
मैं Rails app development के लिए Mailcatcher इस्तेमाल कर रहा हूँ, और इसका इस्तेमाल बहुत आसान है। मुझे नहीं लगता कि किसी और चीज़ की जरूरत है। @sj26 और contributors का धन्यवाद
मैंने MailCatcher इस्तेमाल किया था, लेकिन Arm मशीन पर जाने के बाद समस्या आई। अब Mailpit इस्तेमाल कर रहा हूँ, और इसका setup ज्यादा जटिल है। लगता है MailCatcher ने Arm समस्या हल कर ली है, इसलिए शायद मैं वापस उस पर जा सकता हूँ
मैं लंबे समय तक smtp-sink इस्तेमाल करता रहा, लेकिन टीम CLI की बजाय GUI टूल पसंद करती है, इसलिए Mailcatcher मिला। यह स्थिर है और अच्छी तरह काम करता है
$ smtp-sink -u nobody -R /tmp/smtp-sink -d "maildir/%Y-%m-%d/mail.%H.%M." 127.0.0.1:25 1024ऐसे टूल्स का सामान्य उपयोग उन दूसरे applications को test करना है जो email भेजते हैं। जानना चाहता हूँ कि क्या इसके और भी उपयोग हैं