2013-08-24 3 views
22

मैं निम्नलिखित मेलर विन्यास के साथ 4 आवेदन एक रेल मिला:ArgumentError: एक संदेश भेजने के लिए पते के लिए एक एसएमटीपी आवश्यक है। करने के लिए, सीसी संदेश smtp_envelope_to सेट करें, या गुप्त प्रतिलिपि पता

config.action_mailer.delivery_method = :smtp 
    config.action_mailer.default_url_options = { host: 'myhost.com' } 
    config.action_mailer.perform_deliveries = true 

    config.action_mailer.smtp_settings = { 
    :enable_starttls_auto => true, 
    :address   => 'smtp.myhost.com', 
    :port    => 587, 
    :domain    => 'myhost.com', 
    :authentication  => :login, 
    :enable_starttls_auto => false, 
    :tls     => false, 
    :openssl_verify_mode => 'none', 
    :ssl => false, 
    :user_name   => "myusername", 
    :password   => "mypassword" 
    } 

हर बार जब मैं एक परीक्षण मेलर सेटअप के साथ एक मेल भेजने के लिए प्रयास करें:

class TestMailer < ActionMailer::Base 

    default :from => "[email protected]" 

    def welcome_email 
    mail(:to => "[email protected]", :subject => "Test mail", :body => "Test mail body") 
    end 
end 

TestMailer.welcome_email.deliver 

ArgumentError: An SMTP To address is required to send a message. Set the message smtp_envelope_to, to , cc, or bcc address.

क्या यह संभव है मैं भूल जाते हैं कि स्थापित करने के लिए कुछ:

मैं इस अपवाद मिला है।? और मैं "smtp_envelope_to" के लिए एक विन्यास विकल्प

उत्तर

26

त्रुटि संदेश एसएमटीपी लिफाफा बारे में नहीं है नहीं मिल सकता है, लेकिन इस बारे में:

An SMTP To address is required to send a message

बाकी सिर्फ एक सामान्य संदेश है। आपके [email protected] में कुछ काम नहीं कर रहा है। क्या आप वास्तविक, काम करने वाले पते का उपयोग करते हैं? यदि नहीं, तो एक के साथ प्रयास करें।

+3

Thx मेरी विफलता एक smtp पते का ओवरराइडिंग था जो इसे शून्य ओओ – bulleric

2

:to => '[email protected]' यह आपके असफल माहौल में कैसा है? यदि यह एक हार्डकोडेड ईमेल पता नहीं है, तो सुनिश्चित करें कि टू-एड्रेस वाला एक चर रिक्त नहीं है।

आपको स्पष्ट रूप से Mail::Message#smtp_envelope_to सेट करने की आवश्यकता नहीं है। यह अपने प्राप्तकर्ताओं से अनुमान लगा सकता है, यानी। Mail::Message#destinations (+ सीसी + बीसीसी) में, लेकिन ऐसा लगता है कि इसमें कोई भी नहीं है।

+0

पर सेट किया गया सरल सुझाव और बिल्कुल मेरी समस्या को ठीक करने के लिए। मेरा APP_CONFIG मान मेरे SMTP 'डिफ़ॉल्ट में से गुजरता है: '' nil' लौटा रहा था। – skplunkerin

4

यदि आप sidekiq + actionmailer का उपयोग करते हैं। हैश का उपयोग कर ईमेल भेजते समय सावधान रहें। मैं इस तरह की कुछ कर रहा था MyWorker.perform_async ("var1", {ईमेल: '[email protected]', var2: 'test1234'})

मैंने अपने सिर को कुछ घंटों तक टक्कर लगी, यह क्यों फेंक रहा है उपरोक्त त्रुटि। क्योंकि perform_menthod हैश में [ईमेल] शून्य है। आपको ईमेल प्राप्त करने के लिए हैश ["ईमेल"] का उपयोग करने की आवश्यकता है। मुझे नहीं पता, कारण। लेकिन इससे मुझे इस त्रुटि से छुटकारा पाने में मदद मिली।

+4

शायद ऑफटॉप के लिए खेद है, लेकिन कारण है कि आपको हैश ['ईमेल'] का उपयोग करना है, रेडिस में सीरियलाइजेशन प्रक्रिया का धन्यवाद है। साइडकीक जेएसओएन दस्तावेज़ बनाता है, यह स्वचालित रूप से सभी चाबियाँ तारों में परिवर्तित करता है। –

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