2012-04-11 6 views
3

Ich weiß, dass Sie ein Bild als Anhang an eine E-Mail in Rails hinzufügen 3 mitBild von URL als Anhang in Rails 3

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

aber ist es eine Möglichkeit, ein Bild von einer URL zu befestigen und nicht einer, der lokal gespeichert wird? Ich möchte ein Bild, das auf S3 gespeichert ist, mit einer Büroklammer befestigen. Gibt es einen einfachen Weg dies zu tun oder muss ich zuerst das Bild herunterladen?

Antwort

0

Wenn Sie HTML verwenden, können Sie einfach ein Bild-Tag einfügen. Das einzige Problem dabei ist, dass die meisten E-Mail-Clients das Bild blockieren, bis der Benutzer Ihnen "vertraut".

Wenn Sie möchten, dass das Bild mit größerer Wahrscheinlichkeit angezeigt wird, laden Sie es am besten herunter und binden Sie es ein. Dies wird jedoch den Aufwand für das Herunterladen des Abbilds und das Senden an jeden E-Mail-Client erhöhen.

+0

Ja, ich bin nicht in der E-Mail einzubetten versucht. Ich sende eine E-Mail an mms und möchte sie als Anhang hinzufügen. – TenJack

+0

In diesem Fall bin ich mir ziemlich sicher, dass Sie das Bild herunterladen und dann senden müssen. –

6

müssen Sie

require 'open-uri' 

und dann tun

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