मेरे छोटे ऐप पर नए साइन अप किए गए उपयोगकर्ताओं को साइट पर पहुंच प्राप्त करने से पहले व्यवस्थापक (मुझे) द्वारा अनुमोदित किया जाना चाहिए। मैं अपने उपयोगकर्ता मॉडल में after_create :send_admin_email
के साथ विकास में ऐसे ईमेल उत्पन्न करने में सफल रहा हूं जो बहुत अच्छा काम करता है। मेरी समस्या यह है कि मैं अपने परीक्षणों (फैक्ट्रीगर्ल का उपयोग करके) के दौरान कई उपयोगकर्ताओं को उत्पन्न कर रहा हूं और प्रत्येक परीक्षण उपयोगकर्ता ने एक वास्तविक ईमेल भेज दिया है। मेरे परीक्षण चलाना जनवरी में गुड़ डालने जैसा है और मुझे अपने इनबॉक्स में भेजे गए सैकड़ों ईमेल हटाना होगा। मैं इसे कैसे बंद कर सकता हूं?एक्शनमेलर परीक्षण मोड में वास्तविक ईमेल भेज रहा है! - कैसे बंद करें?
Rails Guides में Action Mailer Basics मुझसे कहता है कि "डिफ़ॉल्ट रूप से कार्रवाई मेलर परीक्षण परिवेश में ईमेल भेजने नहीं है। वे सिर्फ ActionMailer :: Base.deliveries सरणी में जुड़ जाते हैं।"
इसके अलावा, config/environments/test.rb
में मुझे मिल गया है:
config.action_mailer.delivery_method = :test
यही होने config/environment.rb
में के अलावा है:
# Configuration for using SendGrid on Heroku
ActionMailer::Base.smtp_settings = {
:address => 'smtp.sendgrid.net',
:port => '587',
:authentication => :plain,
:user_name => 'app[my app number]@heroku.com',
:password => '[something super secret]',
:domain => '[let's get this party started!.com]',
:enable_starttls_auto => true
}
ActionMailer::Base.delivery_method = :smtp
मुझे यकीन है कि मैं कुछ सरल और बुनियादी याद कर रहा हूँ कर रहा हूँ। मैंने चारों ओर और संबंधित प्रश्नों की खोज की है और पोस्ट एक्शनमेलर वास्तव में ईमेल भेजने का परीक्षण करने के तरीके से निपटते हैं।
किसी भी विचार या सहायता के लिए अग्रिम में नम्र कृतज्ञता।
अनुपूरक: Is it possible to turn off ActionMailer emails when cucumber testing is happening on development? पर मिले समान प्रश्न के उत्तर के बाद मैं पागलपन भेजने वाले ईमेल को रोकने में सक्षम था। फिर भी, मुझे कई rspec फ़ाइलों में ActionMailer::Base.delivery_method = :test
जोड़ना पड़ा। क्या मैं इसे वैश्विक रूप से बंद कर सकता हूं? किसी के पास क्या हो रहा है पर कोई विचार है?
उन सभी ईमेल के साथ, मैंने अपने 200/दिन को भेजें ग्रिड द्वारा अनुमत किया। मैंने पाया है [वास्तव में Sendgrid का उपयोग नहीं करने वाली सुविधाओं को कैसे लिखें?] (Https://groups.google.com/group/heroku/browse_thread/thread/7a4044f299ccf1fc/a0d687041fd97389?pli=1) जो कहता है कि 'एक्शनमेलर :: Base.delivery_method =: smtp 'in' config/environment.rb' में 'config.action_mailer.delivery_method = ओवरराइडिंग है' कॉन्फ़िगरेशन/वातावरण/test.rb 'में' test' 'मैंने' एक्शनमेलर :: Base.delivery_method 'को स्थानांतरित कर दिया है =: smtp 'कॉन्फ़िगरेशन/वातावरण/development.rb' और' config/वातावरण/production.rb' में जो काम कर सकता है। कल अपडेट करें। उसके नोटोक के प्रेषक निर्देशों के बारे में उस नोट के लिए – BenU