2012-10-14 32 views
38

मैं रूबी https://github.com/mikel/mailरूबी के मेल मणि के साथ smtp के माध्यम से ईमेल कैसे भेजें?

के लिए mail मणि उपयोग कर रहा हूँ मैं एक smtp सर्वर के माध्यम से एक ई-मेल कैसे भेजूं? मैं पता और बंदरगाह कैसे निर्दिष्ट करूं? और जीमेल के लिए मुझे किन सेटिंग्स का उपयोग करना चाहिए?

README गीथब पर केवल स्थानीय सर्वर द्वारा भेजे गए उदाहरण देता है।

उत्तर

88

http://lindsaar.net/2010/3/15/how_to_use_mail_and_actionmailer_3_with_gmail_smtp

से Gmail के माध्यम से बाहर भेजने के लिए, आपको आईआरबी को खोलने और प्रकार तो यह आज़माने के लिए सही मान के लिए Mail::SMTP वर्ग विन्यस्त करने की जरूरत,, निम्नलिखित:

require 'mail' 

options = { :address    => "smtp.gmail.com", 
      :port     => 587, 
      :domain    => 'your.host.name', 
      :user_name   => '<username>', 
      :password    => '<password>', 
      :authentication  => 'plain', 
      :enable_starttls_auto => true } 



Mail.defaults do 
    delivery_method :smtp, options 
end 

अंतिम ब्लॉक Mail.defaults पर कॉल करता है जो हमें अब से बनाए गए सभी मेल ऑब्जेक्ट्स के लिए वैश्विक वितरण विधि सेट करने की अनुमति देता है। पावर उपयोगकर्ता टिप, आपको वैश्विक विधि का उपयोग करने की आवश्यकता नहीं है, आप किसी भी व्यक्तिगत Mail::Message ऑब्जेक्ट पर delivery_method को सीधे परिभाषित कर सकते हैं और प्रति ईमेल अलग-अलग डिलीवरी एजेंट हैं, यह उपयोगी है यदि आप ऐसे एप्लिकेशन का निर्माण कर रहे हैं जिसमें विभिन्न सर्वर वाले एकाधिक उपयोगकर्ता हैं अपने ईमेल को संभालना।

Mail.deliver do 
       to '[email protected]' 
     from '[email protected]' 
  subject 'testing sendmail' 
     body 'testing sendmail' 
end 
+0

धन्यवाद सिमोन ने –

+0

उपरोक्त काम किया। और मिकेल के लिए बहुत धन्यवाद। – orde

+3

मुझे निम्न त्रुटि मिल रही है: '/usr/local/rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/net/smtp.rb:960:in 'check_auth_response': 534- 5.7.14 janosrusiczki

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