2013-04-25 7 views
8

मुझे डेविस के साथ एक साधारण रेल 3.2.7 ऐप मिला है जो कि सेंड्रिड के साथ हेरोोकू में तैनात है। यह सबकुछ के लिए हरोकू पर ठीक काम करता है, सिवाय इसके कि जब उसे पासवर्ड पुनर्प्राप्त करने की आवश्यकता होती है जिसके लिए एक ईमेल भेजने की आवश्यकता होती है। मैंने पढ़ी सभी पदों से मुझे संदेह है कि मैं मेल मापदंडों को गलत तरीके से स्थापित कर रहा हूं। किसी भी सुझाव की सराहना की जाती है।रेल में हेरोोक और सेंड्रिड के साथ डेविस ईमेल को कॉन्फ़िगर कैसे करें?

config/वातावरण/production.rb के लिए मैं

config.action_mailer.default_url_options = { :host => 'smtp.sendgrid.net'} 
config/initializers/devise.rb के लिए

मैं जोड़ा

config.mailer_sender = "[email protected]" 

और के लिए config/environments.rb मैं जोड़ा

जोड़ा
ActionMailer::Base.smtp_settings = { 
:address  => 'smtp.sendgrid.net', 
:port   => '587', 
:authentication => :plain, 
:user_name  => ENV['SENDGRID_USERNAME'], 
:password  => ENV['SENDGRID_PASSWORD'], 
:domain   => 'heroku.com', 
:enable_starttls_auto => true 
} 

उत्तर

8

तो, आपकी समस्या यह है कि आप गलत पर्यावरण चर का संदर्भ दे रहे थे। हेरोोक आपके SendGrid प्रमाण-पत्र ENV['SENDGRID_USERNAME'] और ENV['SENDGRID_PASSWORD'] में संग्रहीत करता है। आप अपने वास्तविक उपयोगकर्ता नाम और पासवर्ड का उपयोग मुख्य नाम के रूप में कर रहे थे।

यह काम करेगा:

ActionMailer::Base.smtp_settings = { 
    :address  => 'smtp.sendgrid.net', 
    :port   => '587', 
    :authentication => :plain, 
    :user_name  => ENV['SENDGRID_USERNAME'], 
    :password  => ENV['SENDGRID_PASSWORD'], 
    :domain   => 'heroku.com', 
    :enable_starttls_auto => true 
} 
+1

धन्यवाद Swift- यह काम करता है !! – user2284821

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