Ich möchte eine E-Mail mit einem angehängten Bild senden und dieses Bild in HTML einbetten. Als Quelle für Tag, Was soll ich schreiben und gibt es fehlende Header-Teile wie einen content_type?Senden von E-Mails mit eingebettetem Bild in Ruby
Wenn ich einen echten Test mache, sende ich eine Mail an mein Google Mail Konto. Ich kann sehen, dass es einen Anhang mit dem Namen "unbenannt" gibt und ich konnte das Bild nicht anzeigen, selbst wenn ich es herunterlade.
Gem: Pony
require 'pony'
Pony.override_options = { :via => :test }
Pony.mail(
:to => '[email protected]',
:from => '[email protected]',
:subject => 'test123',
:body => "<h1><strong>Dear X, check the newsletter ,<br></strong></h1> <img src='attached image' />",
:attachments => {"happy_image.jpg" => File.read("happy_image.jpg")}
)
puts Mail::TestMailer.deliveries
Ausgang:
Date: Tue, 06 Dec 2016 17:23:05 +0300
From: [email protected]
To: [email protected]
Message-ID: <[email protected]>
Subject: test123
Mime-Version: 1.0
Content-Type: multipart/mixed;
boundary="--==_mimepart_5846c9caf15a_5983c9fd8989e5";
charset=UTF-8
Content-Transfer-Encoding: 7bit
----==_mimepart_5846c9caf15a_5983c9fd8989e5
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
<h1><strong>Dear X, check the newsletter ,<br></strong></h1> <img src='' />
----==_mimepart_5846c9caf15a_5983c9fd8989e5
Content-Type: image/jpeg;
filename=happy_image.jpg
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename=happy_image.jpg
Content-ID: <[email protected]>
/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQE
BQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/
2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU
FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAHiAuMDASIAAhEBAxEB/8QA
HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUF
BAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkK
FhcYGQ==
----==_mimepart_5846c9caf15a_5983c9fd8989e5--
Hallo, ich habe diese Methode schon ausprobiert, aber wenn ich Mail anzuzeigen, zeigt es reine String mit img-Tag wie „“ –
Ah. Sie müssen den Inhaltstyp in der Kopfzeile auf HTML setzen, sonst wird er als Text behandelt. Wenn Sie Ihre ursprüngliche Frage betrachten, scheint der Inhaltstyp derzeit als "text/plain" eingestellt zu sein. Ich habe die Frage aktualisiert, um dies hinzuzufügen. –
Wie Sie gesagt haben, habe ich Header-Option hinzugefügt, aber das Ergebnis ist das gleiche für mich. Wie diese reine Schnur ''