6
class SupportMailer < ActionMailer::Base 
    default :from => "[email protected]" 

    def welcome_email(ticket) 
    case ticket.game 
    when "gameone" 
     @ticket = ticket 
     headers["Reply-to"] = "email1+#{ticket.token}@gmail.com" 
     headers["Return-Path"] = "email1+#{ticket.token}@gmail.com" 
     mail(:from => "[email protected]", :to => ticket.email, :subject => "Welcome to 1 Support Ticket") 
    when "gametwo" 
     @ticket = ticket 
     headers["Reply-to"] = "email2+#{ticket.token}@gmail.com" 
     headers["Return-Path"] = "email2+#{ticket.token}@gmail.com" 
     mail(:from => "[email protected]", :to => ticket.email, :subject => "Welcome to 2 Support Ticket") 
    when "gamethree" 
     @ticket = ticket 
     headers["Reply-to"] = "email3+#{ticket.token}@gmail.com" 
     header["Return-Path"] = "email3+#{ticket.token}@gmail.com" 
     mail(:from => "[email protected]", :to => ticket.email, :subject => "Welcome to 3 Support Ticket") 
    end 
    end 
end 

मैंने अपना डिफ़ॉल्ट सेट किया है: से, मुझे नहीं पता कि मैं यह संदेश क्यों प्राप्त करता हूं, मैं भी हूं इसे हेडर के माध्यम से सेट करने का प्रयास करने का कोई फायदा नहीं हुआ।एक संदेश भेजने के लिए एक प्रेषक (रिटर्न-पथ, प्रेषक या प्रेषक) प्राप्त करना जारी रखें

यहाँ मेरा सेटिंग

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

मैं सिर्फ इतना है कि यह फोन कर रहे हैं, SupportMailer.support_response(@message).deliver

मैं इसे कैसे ठीक कर सकता हूँ?

+0

हेडर निश्चित रूप से आवश्यक नहीं हैं; कोड सही दिखता है, और आपके मामले में 'डिफ़ॉल्ट' से 'कॉल' विधि में कॉल के मान से ओवरराइड किया जाता है। मैं अपस्ट्रीम देखता हूं जहां डिलीवरी! विधि को कहा जाता है, या शायद पर्यावरण फ़ाइलों में। डिलीवरी के बाद पहले परीक्षणों में से एक त्रुटि आई है! smtp मॉड्यूल में विधि। –

+0

मैंने अपने नियंत्रक में देखा है। यह ठीक दिखता है। और मेरी विन्यास ठीक दिखती है। मैं उन्हें –

+0

पोस्ट करूंगा मैंने इस लाइन को 'हेडर "रिटर्न-पथ" => "[email protected]" विधियों को जोड़ा है और अब यह कम से कम एक प्राप्तकर्ता (टू, सीसी या बीसीसी) के बारे में शिकायत कर रहा है। एक संदेश भेजने की आवश्यकता है, ऐसा लगता है कि 'मेल (...) 'यह पैरामीटर नहीं उठा रहा है। –

उत्तर

3

मुझे लगता है कि आपके पास केस स्टेटमेंट के लिए कोई डिफ़ॉल्ट मामला नहीं है। यदि आप मेलर क्लास में अपनी विधियों के अंदर "मेल" विधि को कॉल करना कभी समाप्त नहीं करते हैं, तो आपको वह त्रुटि मिल जाएगी। अपने केस स्टेटमेंट को उस स्थान पर ले जाने का प्रयास करें जहां आप SupportMailer को कॉल करते हैं, हो सकता है कि प्रत्येक मामले के लिए विधियां हों। इस तरह आप कभी भी SupportMailer को कॉल नहीं करते हैं जब तक आप पहले से ही सही टिकट गेम निर्धारित नहीं कर लेते हैं।

+3

यह सही है। आदर्श रूप से मेलर से तर्क खींचें। अगर आप नहीं चाहते हैं, तो आप हमेशा ऐसा कर सकते हैं: 'self.message.perform_deliveries = false' अगर आप डिलीवरी को रद्द करने का निर्णय लेते हैं, तो इसके रूप में वापसी न करें निष्पादन जारी रखेंगे और एक ही त्रुटि फेंक देंगे। – brupm

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