Senden von E-mail zusammen mit embedded-image mit Hilfe von javamail
Möchte ich um E-mail senden, zusammen mit einem eingebetteten Bild. Für die, die ich verwendet haben Sie den code unten. Seine nicht vollständige code. Sein ein Teil des Codes
Multipart multipart = new MimeMultipart("related");
//Create the message part
BodyPart messageBodyPart;
messageBodyPart = new MimeBodyPart();
messageBodyPart.setText(msgBody); //msgbody contains the contents of the html file
messageBodyPart.setHeader("Content-Type", "text/html");
multipart.addBodyPart(messageBodyPart);
//add file attachments
DataSource source;
File file = new File("D:/sample.jpeg");
if(file.exists()){
//add attachment
messageBodyPart = new MimeBodyPart();
source = new FileDataSource(file);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(file.getName());
messageBodyPart.setHeader("Content-ID", "<BarcodeImage>");
messageBodyPart.setDisposition("inline");
multipart.addBodyPart(messageBodyPart);
}
//Put parts in message
msg.setContent(multipart);
Transport.send(msg);
Problem, das ich bin vor ist, kann ich die mail bekommen, kann aber nicht acle, um zu sehen, das Bild.. Ihr nicht erhalten-Anzeige in der E-mail.
Unten ist mein Teil der html-Datei
<img src=\"cid:BarcodeImage\" alt="Barcode" width="166" height="44" align="right" />
Helfen Sie mir bitte, warum das Bild nicht immer angezeigt in der mail und warum es nicht in den Anhang??
- haben Sie überprüft, die Anlage hinzufügen " - block wird immer aufgerufen, dh. dass die Datei existiert?
- ja, seine Ausführung.. ich habe sop Linien n geprüft.., der block wird ausgeführt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hab ich stolperte auf den ähnliches problem.
Folgenden Beitrag hat mir sehr geholfen:
So senden Sie E-Mail mit eingebetteten Bildern, die mit Java
Der wichtigste Teil des Codes ist:
Funktion generateCID() zurückgeben müssen eindeutige Zeichenfolge.
Zum Beispiel:
Ändern Sie die "relative", um "alternative", dann erhalten Sie das Bild als Anhang.
Versuchen Sie, entfernen Sie die folgende Zeile:
messageBodyPart.setDisposition(MimeBodyPart.INLINE)
Ändern
new MimeMultipart("related");
zunew MimeMultipart();
(und Optionalmsg.setContent(multipart);
zumsg.setContent(multipart,"multipart/related");
)Auch stellen Sie sicher, dass Sie ändern
img src=\"cid:BarcodeImage\"
zuimg src="cid:BarcodeImage"
.Sollte es dann funktionieren.