首先当然是到官网去下载javamail的jar包了;放置到工程中
接下来当然就是代码了,下面是我自己写的一个demo,
package com.mail;
import java.util.Date;
import java.util.Properties;import javax.activation.DataHandler;
import javax.activation.DataSource;import javax.activation.FileDataSource;import javax.mail.BodyPart;import javax.mail.Message;import javax.mail.Multipart;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeBodyPart;import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeMultipart;import javax.mail.internet.MimeUtility;public class TestMail {
private static String affix = ""; // 附件地址 private static String affixName = ""; // 附件名称 public static void sendMail(String fromMail, String user, String password, String toMail, String mailTitle, String mailContent) throws Exception { Properties pro = new Properties(); //可以加载一个配置文件 // 使用smtp:简单邮件传输协议 String smtpHostName = "smtp." + fromMail.split("@")[1]; pro.put("mail.smtp.host", smtpHostName);//存储发送邮件服务器的信息 pro.put("mail.smtp.auth", "true");//同时通过验证 Session session = Session.getInstance(pro);//根据属性新建一个邮件会话 session.setDebug(true); //有他会打印一些调试信息。 MimeMessage message = new MimeMessage(session);//由邮件会话新建一个消息对象 message.setFrom(new InternetAddress(fromMail));//设置发件人的地址 message.setRecipient(Message.RecipientType.TO, new InternetAddress(toMail));//设置收件人,并设置其接收类型为TO message.setSubject(mailTitle);//设置标题 //设置信件内容 // 向multipart对象中添加邮件的各个部分内容,包括文本内容和附件 Multipart multipart = new MimeMultipart();// 设置邮件的文本内容
BodyPart contentPart = new MimeBodyPart(); contentPart.setText("邮件的具体内容在此"); multipart.addBodyPart(contentPart); // 添加附件 BodyPart messageBodyPart = new MimeBodyPart(); DataSource source = new FileDataSource(affix); // 添加附件的内容 messageBodyPart.setDataHandler(new DataHandler(source)); // 添加附件的标题 // 这里很重要,通过下面的MimeUtility编码的转换可以保证你的中文附件标题名在发送时不会变成乱码 messageBodyPart.setFileName(MimeUtility.encodeText(affixName)); multipart.addBodyPart(messageBodyPart); message.setContent(multipart);// message.setText(mailContent); //发送 纯文本 邮件 todo // message.setContent(mailContent, "text/html;charset=gbk"); //发送HTML邮件,内容样式比较丰富 message.setSentDate(new Date());//设置发信时间 message.saveChanges();//存储邮件信息 //发送邮件 Transport transport = session.getTransport("smtp"); // Transport transport = session.getTransport(); transport.connect(user, password); //这里的密码可能是发件人的登录密码,也可能是对应邮箱服务器的授权码 transport.sendMessage(message, message.getAllRecipients());//发送邮件,其中第二个参数是所有已设好的收件人地址 transport.close(); } public static void main(String[] args) throws Exception { sendMail("", "", "", "", "", ""); } }如有帮助,不胜荣幸;