19

कभी-कभी जब मैं विकास कर रहा हूं, मेरे पास इंटरनेट कनेक्शन नहीं है। जहाँ भी मेरे ऐप एक ईमेल भेज माना जाता है कि यह एक त्रुटि में परिणाम है:विकास में एक्शनमेलर को कैसे अक्षम करें?

getaddrinfo: nodename nor servname provided, or not known 

वहाँ जहां मैं एक config मूल्य बदल सकते हैं बस कोशिश नहीं ActionMailer बनाने के लिए एक सरल और त्वरित तरीका वास्तव में एक ई-मेल भेजने और नहीं करने के लिए है एक त्रुटि फेंक दो? हो सकता है कि विकास वातावरण में कुछ ऐसा हो। या किसी अन्य तरीके से मैं फेंकने वाली त्रुटि से बच सकता हूं और जहां भी मैं एक्शनमेलर को कॉल करता हूं, मेरा कोड गुजर रहा है?

मैं रेल 3.1

उत्तर

47

उपयोग कर रहा हूँ यह आम बात है सिर्फ रेल मेल त्रुटियों को अनदेखा करते हैं। अपने config/environments/development.rb फ़ाइल में जोड़ने के लिए, हटाएं या संशोधित:

config.action_mailer.perform_deliveries = false 

प्रलेखन यहाँ http://edgeguides.rubyonrails.org/action_mailer_basics.html#action-mailer-configuration

तुम भी करने के लिए वितरण पद्धति सेट कर सकते हैं देखें::

# Don't care if the mailer can't send 
config.action_mailer.raise_delivery_errors = false 

आप भी इस सेट कर सकते हैं परीक्षण, लेकिन मैंने वास्तव में कोशिश नहीं की है कि

config.action_mailer.delivery_method = :test 
+1

पूरी तरह से काम करता है! – alik

10

यदि आप अपने रेल ऐप को प्रारंभ करने के बाद मेल डिलीवरी अक्षम करना चाहते हैं (माइग्रेशन के दौरान नमूना डेटा बनाते समय, आदि):

ActionMailer::Base.perform_deliveries = false 
संबंधित मुद्दे