2010-08-09 15 views
5

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

ऐसा प्रतीत नहीं होता है कि एक्शनमेलर इसे जाने से समर्थन करता है, लेकिन क्या कोई प्लगइन या शायद किसी प्रकार का पैच है, जो ऐसा कर सकता है?

उत्तर

2

मैं सफलता के साथ निम्न कर रहा हूँ:

module FilteredMailer 

    def self.included(base) 
    base.class_eval do 
     alias_method :create_mail_orig, :create_mail 

     def create_mail 
     recipients(filter_out_recipients(recipients)) 
     create_mail_orig 
     end 
    end 
    end 

    private 

    def filter_out_recipients(recipients) 
    ... 
    end 
end 

आप अपने सभी मेलर्स में इस मॉड्यूल शामिल करने के लिए की जरूरत है। यह रेल 2.3.8 में काम करता है, मुझे नहीं पता कि यह रेल 3 में काम करता है या नहीं।

1

sanitize_email मणि पर एक नज़र डालें - यह इसके लिए एक अच्छा समाधान है।

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

0

mail_safe मणि देखें। यह कुछ हद तक sanitize_email मणि के समान है, लेकिन सामान्य रूप से श्वेतसूची वाले डोमेन/ईमेल के लिए ईमेल भेजने की अनुमति देता है। और this blog post (मेरा नहीं) दोनों sanitize_email और mail_safe रत्न विन्यास और उपयोग दोनों को शामिल करता है।

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