smtp协议: telnet smtp.qq.com 25 ehlo kevin
auth login
eGlhbmdqaWU1NUBxcS5jb20=
a2V2aW5feGlhbmc1NQ== mail from:<xiangjie55@qq.com>
rcpt to:<626852095@qq.com> data from:<kevin_xiang55@qq.com>
to:<626852095@qq.com>
subject:test xxxxxxxxxxxxxxxxxxxxxxxxxxx
. quit
邮件生成:
public class ImageMail { /**
* 带图片的邮件
*/
public static void main(String[] args) throws Exception { Session session = Session.getInstance(new Properties());
MimeMessage message = new MimeMessage(session); //设置邮件的基本信息
message.setFrom(new InternetAddress("xx@sina.com"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress("xx@sina.com"));
message.setSubject("test"); //准备邮件数据
//准备邮件正文数据
MimeBodyPart text = new MimeBodyPart();
text.setContent("xxxx<img src='cid:xxx.jpg'>xxxxxxxxx", "text/html"); //准备图片数据
MimeBodyPart image = new MimeBodyPart();
DataHandler dh = new DataHandler(new FileDataSource("src\\1.jpg"));
image.setDataHandler(dh);
image.setContentID("xxx.jpg"); //描述数据关系
MimeMultipart mm = new MimeMultipart();
mm.addBodyPart(text);
mm.addBodyPart(image);
mm.setSubType("related"); message.setContent(mm);
message.saveChanges(); message.writeTo(new FileOutputStream("c:\\1.eml"));
}
}
// 文字 附件 图片 混合右键
public class MixedMail { /**
* 最复杂的邮件
* @throws MessagingException
* @throws AddressException
*/
public static void main(String[] args) throws Exception { Session session = Session.getInstance(new Properties());
MimeMessage message = new MimeMessage(session); //设置邮件的基本信息
message.setFrom(new InternetAddress("xx@sina.com"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress("xx@sina.com"));
message.setSubject("测试"); //正文
MimeBodyPart text = new MimeBodyPart();
text.setContent("xxx这是女的xxxx<br/><img src='cid:aaa.jpg'>","text/html;charset=UTF-8"); //图片
MimeBodyPart image = new MimeBodyPart();
image.setDataHandler(new DataHandler(new FileDataSource("src\\3.jpg")));
image.setContentID("aaa.jpg"); //附件1
MimeBodyPart attach = new MimeBodyPart();
DataHandler dh = new DataHandler(new FileDataSource("src\\4.zip"));
attach.setDataHandler(dh);
attach.setFileName(dh.getName()); //附件2
MimeBodyPart attach2 = new MimeBodyPart();
DataHandler dh2 = new DataHandler(new FileDataSource("src\\波子.zip"));
attach2.setDataHandler(dh2);
attach2.setFileName(MimeUtility.encodeText(dh2.getName())); //描述关系:正文和图片
MimeMultipart mp1 = new MimeMultipart();
mp1.addBodyPart(text);
mp1.addBodyPart(image);
mp1.setSubType("related"); //描述关系:正文和附件
MimeMultipart mp2 = new MimeMultipart();
mp2.addBodyPart(attach);
mp2.addBodyPart(attach2); MimeBodyPart content = new MimeBodyPart(); //代表正文的bodypart
content.setContent(mp1);
mp2.addBodyPart(content);
mp2.setSubType("mixed"); message.setContent(mp2);
message.saveChanges(); message.writeTo(new FileOutputStream("c:\\3.eml")); }
}
邮件发送:
public class Sendmail { /**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception { Properties prop = new Properties();
prop.setProperty("mail.host", "smtp.163.com");
prop.setProperty("mail.transport.protocol", "smtp");
prop.setProperty("mail.smtp.auth", "true"); //创建session
Session session = Session.getInstance(prop);
session.setDebug(true); //通过session得到transport对象
Transport ts = session.getTransport(); //连上邮件服务器
ts.connect("smtp.163.com", "xiangjie012455", "012455"); //发送邮件
Message message = makeMessage(session);
ts.sendMessage(message, message.getAllRecipients());
ts.close();
} public static Message makeMessage(Session session) throws Exception, MessagingException{ MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("xiangjie012455@163.com"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress("kevin_xiang55@163.com"));
message.setSubject("test");
message.setContent("aaa", "text/html"); return message;
} }