2011-06-16 13 views
28

मैं एक जीमेल खाते का उपयोग कर एक पुष्टिकरण ईमेल भेजने की कोशिश कर रहा हूं। मैंने चारों ओर देखा है और कुछ भी स्पष्ट नहीं है। कोई त्रुटि या कुछ भी है, यह सिर्फरेल के साथ जीमेल smtp 3

भेज dosn't मैं initalizer के रूप में इस राशि:

ActionMailer::Base.delivery_method = :smtp 
ActionMailer::Base.perform_deliveries = true 
ActionMailer::Base.raise_delivery_errors = true 


ActionMailer::Base.smtp_settings = { 
    :address    => "smtp.gmail.com", 
    :port     => 587, 
    :domain    => "gmail.com", 
    :user_name   => "<address>@gmail.com", 
    :password    => "<password>", 
    :authentication  => "plain", 
    :enable_starttls_auto => true 
} 

ActionMailer::Base.default_url_options[:host] = "localhost:3000" 
+1

ईमेल भेजते समय आपका कंसोल आउटपुट क्या है? –

उत्तर

5

आपको जांचना चाहिए कि [email protected] वास्तव में ईमेल भेजा है। जीमेल के एसएमटीपी सर्वर के माध्यम से सत्यापन ईमेल भेजते समय हमें अतीत में इसके साथ समस्याएं थीं, क्योंकि थोक अंत में भेजना बिल्कुल नहीं भेज रहा था।

मेरा सुझाव है कि आप [email protected] में लॉग इन करें और सत्यापित करें कि कोई समस्या नहीं है और ईमेल भेजे गए हैं।

यदि नहीं, तो आप आउटगोइंग ईमेल भेजने के लिए Send Grid जैसी सेवा आज़मा सकते हैं।

वैकल्पिक रूप से, आप अपने सर्वर को देख सकते हैं। या यदि आप विकास में हैं, तो log/development.log पर एक नज़र डालें। मुझे पूरा यकीन है कि आप अपने लॉग में देख सकते हैं कि यह वास्तव में मेल भेजने की कोशिश कर रहा है।

समस्या यह है कि Google आपके स्थानीय आईपी पते पर भरोसा नहीं करता है और आपके मेल वितरित नहीं होंगे (स्पैम निर्देशिका तक भी नहीं)। इसके आसपास काम करने का कोई तरीका नहीं है लेकिन एक सफेद सूचीबद्ध सर्वर का उपयोग कर रहा है।

आप अपने ऐप को हेरोकू जैसे उत्पादन सर्वर में तैनात करके और वहां परीक्षण करके इसे आजमा सकते हैं।

8

ऐड gemfile को tlsmail

gem 'tlsmail' 

रन:

bundle install 

config/envirnoments/development.rb दायर करने के लिए

YourApplicationName::Application.configure do 
    require 'tlsmail' 
     Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE) 
     ActionMailer::Base.delivery_method = :smtp 
     ActionMailer::Base.perform_deliveries = true 
     ActionMailer::Base.raise_delivery_errors = true 
     ActionMailer::Base.smtp_settings = { 
      :address => "smtp.gmail.com", 
      :port => "587", 
      :domain => "gmail.com", 
      :enable_starttls_auto => true, 
      :authentication => :login, 
      :user_name => "<addreee>@gmail.com", 
      :password => "<password>" 
     } 

    config.action_mailer.raise_delivery_errors = true 
+8

सर्वर को पुनरारंभ करना न भूलें;) –

+3

रीस्टार्ट सर्वर ..... आह ... धन्यवाद! –

64

आप tlsmail मणि की जरूरत नहीं है इन सेटिंग्स को जोड़ने कम से कम रेल के साथ 3.2

यह सब पराक्रमी-गाइड ActionMailer configuration for gmail

+0

बहुत बढ़िया, जानना अच्छा है। मुझे सिरदर्द का एक गुच्छा बचा रहा है। सर उठाने के लिए धन्यवाद! – LearningRoR

+0

कोई समस्या नहीं;) अब मुझे रेल गाइड में लगभग हर चीज – brutuscat

+8

में खोजने के लिए उपयोग किया गया है, जाहिर है, 'डोमेन' [वैकल्पिक] (http://bit.ly/QAAPPv) है, हालांकि आप नहीं जानते कि इसे पढ़ने से [डॉक्स] (http://am.rubyonrails.org/)। –

0
config.action_mailer.delivery_method = :smtp 
config.action_mailer.smtp_settings = { 
    :address    => "smtp.gmail.com", 
    :port     => 587, 
    :domain    => 'baci.lindsaar.net', 
    :user_name   => '<username>', 
    :password    => '<password>', 
    :authentication  => 'plain', 
    :enable_starttls_auto => true } 

<username> अपने वास्तविक उपयोगकर्ता नाम में भरने के लिए इसका मतलब है से पर्याप्त

config.action_mailer.delivery_method = :smtp 
config.action_mailer.smtp_settings = { 
    :address    => "smtp.gmail.com", 
    :port     => 587, 
    :domain    => 'baci.lindsaar.net', 
    :user_name   => '<username>', 
    :password    => '<password>', 
    :authentication  => 'plain', 
    :enable_starttls_auto => true } 

हो जाएगा? तो <password>

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