save it into file firstImage img=...
int width = img.getWidth(null);
int height = img.getHeight(null);
BufferedImage bi = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphics g = bi.getGraphics();
g.drawImage(img,0,0,width,height,null);
g.dispose();
File f = new File("c:\\images\\myimage.png");
ImageIO.write(bi, "png", f);
int width = img.getWidth(null);
int height = img.getHeight(null);
BufferedImage bi = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphics g = bi.getGraphics();
g.drawImage(img,0,0,width,height,null);
g.dispose();
File f = new File("c:\\images\\myimage.png");
ImageIO.write(bi, "png", f);
像OUTLOOK,FOXMAIL等客户端邮件接收器都是可以显示图片的。
mail.china.com 的邮件WEB 端也可以直接显示图片的。
如果你要直接编程实现图片直接显示。
网上有好多现成的资料,
好像是<meta> 这儿一设置,再把附件内容读到当前页面就可以了。
生成html格式的文件
然后再以附件的形式发过去
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;public class HtmlImageExample {
public static void main (String args[]) throws Exception {
String host = args[0];
String from = args[1];
String to = args[2];
String file = args[3]; // Get system properties
Properties props = System.getProperties(); // Setup mail server
props.put("mail.smtp.host", host); // Get session
Session session = Session.getDefaultInstance(props, null); // Create the message
Message message = new MimeMessage(session); // Fill its headers
message.setSubject("Embedded Image");
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // Create your new message part
BodyPart messageBodyPart = new MimeBodyPart(); // Set the HTML content, be sure it references the attachment
String htmlText = "<H1>Hello</H1>" +
"<img src=\"cid:memememe\">"; // Set the content of the body part
messageBodyPart.setContent(htmlText, "text/html"); // Create a related multi-part to combine the parts
MimeMultipart multipart = new MimeMultipart("related"); // Add body part to multipart
multipart.addBodyPart(messageBodyPart); // Create part for the image
messageBodyPart = new MimeBodyPart(); // Fetch the image and associate to part
DataSource fds = new FileDataSource(file);
messageBodyPart.setDataHandler(new DataHandler(fds)); // Add a header to connect to the HTML
messageBodyPart.setHeader("Content-ID","<memememe>"); // Add part to multi-part
multipart.addBodyPart(messageBodyPart); // Associate multi-part with message
message.setContent(multipart); // Send message
Transport.send(message);
}
}使用:
java HtmlImageExample SMTP.Server from@address to@address filename