2012-03-06 8 views
6

यह मेरा पहला quesiton है, लेकिन मैं जो करने की कोशिश कर रहा हूं वह रेल या दो पंक्तियों का उपयोग करके रेल कंसोल में अनुलग्नक के साथ मेल भेजता है। मैं की तरह एक वर्ग का दृष्टांत करना चाहते हैं न ..एक्शनमेलर का उपयोग कर रेल 3.0 में अनुलग्नक के साथ मेल भेजें :: एक या दो पंक्तियों में बेस

वर्ग मेलर < ActionMailer :: बेस ... अंत

मैं इसे इस तरह से कोशिश करना चाहते हैं:

m=ActionMailer::Base.mail(:to => "[email protected]", :from => "[email protected]", :subject=>"test from zip", :content_type=>"multipart/mixed") 
m.attachments['file.zip']={:mime_type => "application/zip", :data=>File.read("#{Rails.root}/tmp/test.zip")} 
m.deliver 

यह एक भेज देंगे ईमेल, लेकिन अटैचमेंट नामक अटैचमेंट, जिसे अनजिप नहीं किया जा सकता है। ऐसा लगता है कि यह संलग्नक के लिए डेटा को सही ढंग से पार्स नहीं कर रहा है। अगर मैं कच्चे ईमेल पर देखने के लगाव सामग्री इस तरह दिखता है:

-- 
Date: Tue, 06 Mar 2012 06:59:42 -0800 
Mime-Version: 1.0 
Content-Type: application/zip; 
charset=UTF-8 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment; 
filename=file.zip 
Content-ID: <[email protected]> 

UEsDBBQAAAAIAE9iZUBSMYOwkKgZANRakgAQABUAbG9hbl9kZXRhaWxzLmNz 
dlVUCQADlh9VT0QfVU9VeAQA6APoA8xdW3PiuLZ+37+Ch6ldZ1dZGUvyNW/c 
EwKBQLiENze4gytgZ9tmMplff5YMlgQWmV1tk5qufiAkwV8trcu3bko/8sLa 
m/+p9dmLJPXSfaI1oyR4Df21Non28crPvt+MfS/117Uo5C+9VKu/v8fRH4e3 
O0HobWte9g68gHdaQfJjHyeHb4/9/+79JPu9XbQPU22y2kTRVuv74dqPa7G/ 
... 

1) यह भी एक ईमेल pony मणि की तरह कुछ का उपयोग कर बाहर के साथ, इस तरह एक अनुलग्नक के साथ भेजने के लिए संभव है

+0

क्या आपने अपनी समस्या का समाधान किया? मेरे पास वही है ... – Lichtamberg

+0

क्षमा करें, बस यह टिप्पणी देखकर, नहीं, मुझे इसे काम करने के लिए कभी नहीं मिला, मैं बस एक वर्ग (कक्षा MyMailer harrya

उत्तर

2

यह अनुमान है कि यह

एसओ पोस्ट Invalid filename in email (ActionMailer) के मुताबिक ऐसा लगता है कि एक्शनमेलर स्वचालित रूप से फ़ाइलों से जानकारी एकत्र करने की इच्छा रखता है, जो कुछ कंसोल से अनुपलब्ध है।

मैं ने कहा कि निम्नलिखित, गंदा, यद्यपि (पर्याप्त मेरी प्रयोजनों के लिए) काम करता है कंसोल से:

File.open("magical_elephant_potato.txt", 'w') {|f| f.write("Heyyyy youuu!") } 
m=ActionMailer::Base.mail(:to => "[email protected]", :from => "[email protected]", :subject=>"Behold my MEP attache", :content_type=>"multipart/mixed") 
m.attachments['magical_elephant_potato.txt']=File.read("magical_elephant_potato.txt") 
m.deliver 
FileUtils.rm('magical_elephant_potato.txt') 

कि देखते हुए लेखन और सांत्वना काम करता है, शायद के माध्यम से फ़ाइलों को हटाने ActionMailer द्वारा आवश्यक फ़ाइलें लिखा जा सकता है , तब हटा दिया गया? हम यहां चिपचिपा काम-आसपास के इलाके में जा रहे हैं। एक समस्या यह है कि एक्शनमेलर उचित मेलर व्यू की तलाश करेगा, लेकिन हम मेलर फाइलों को देखने के लिए एक्शनमेलर को कैसे और कैसे बता सकते हैं? (जैसा कि, फ़ाइल नाम)

जानकारी के लिए सही ढंग से एन्कोड नहीं किया जा रहा है, मुझे लगता है कि समस्या यह है कि इसे कुछ शीर्षलेख जानकारी के साथ 'noname' फ़ाइल में लपेटा जा रहा है। डेटा की संभावना बरकरार है, मेरे उदाहरण के साथ के रूप में मैं मिलता है:

-- 
Date: Tue, 08 Jan 2013 11:08:57 +0000 
Mime-Version: 1.0 
Content-Type: text/plain; 
charset=UTF-8; 
filename=magical_elephant_potato.txt 
Content-Transfer-Encoding: 7bit 
Content-Disposition: attachment; 
filename=magical_elephant_potato.txt 
Content-ID: <[email protected]> 

Heyyyy youuu! 

---- 

: जब मैं एक पाठ संपादक के साथ 'कोई नाम नहीं' खोलें।

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