2012-04-11 36 views
3

我知道你可以作爲附件添加圖片後,在Rails 3的一封電子郵件,從URL添加圖片作爲Rails的附件3

def email_image(email) 
    attachments["img"] = File.read('/path to image') 
    mail(:to => email) 
end 

,但有沒有辦法從URL連接的圖像和沒有一個保存在本地?我想用回形針附上保存在S3上的圖像。有沒有簡單的方法來做到這一點,或者我需要先下載圖像?

回答

0

如果你使用html,那麼你可以插入一個圖片標籤。唯一的問題是,大多數電子郵件客戶端會阻止圖像,直到用戶「信任」您。

如果您希望圖像更有可能被顯示,那麼最好的辦法是下載並嵌入它。但是,這會增加下載圖像並將其發送到每個郵件客戶端的開銷。

+0

是的,我並不想將它嵌入在電子郵件中。我實際上是發送一封電子郵件給mms,並希望將其作爲附件加入。 – TenJack 2012-04-12 22:00:42

+0

在這種情況下,我敢肯定你必須下載圖像然後發送。 – 2012-04-13 08:20:16

6

需要

require 'open-uri' 

,然後做

attachments["filename"] = open(url-to-image).read