1、取得系统Properties,并配置
Properties props = System.getProperties();
props.setProperty("mail.transport.protocol", "smtp"); // smtp协议
props.setProperty("mail.smtp.host", m_server); // 服务器地址
props.setProperty("mail.smtp.port", "" + m_port); // 端口号
props.setProperty("mail.smtp.auth", "true"); //// 认证信息
2、将取得Session
javax.mail.Session sess = javax.mail.Session.getDefaultInstance(props);
3、实例MimeMessage类,然后设置收件人、主题、发件日期
MimeMessage msg = new MimeMessage(sess);
msg.setFrom(new InternetAddress(m_from)); // 发件人
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(m_to)); //收件人
msg.setSubject(m_subject); //主题
msg.setSentDate(new Date()); //发件日期
4、向MimeMessage中添加文本内容及附件
MimeMultipart content = new MimeMultipart();// 文本内容
MimeBodyPart part = new MimeBodyPart(); //part还需要加入头,类型之类的属性
content.addBodyPart(part);
part = new MimeBodyPart(); //这里是加入附件
FileDataSource fds = new FileDataSource(filename);
part.setDataHandler(new DataHandler(fds));
part.setFileName(MimeUtility.encodeText(fds.getName()));
content.addBodyPart(part);
msg.setContent(content); //设置并保存
msg.saveChanges();
5、使用Session取得Transport
Transport trans = sess.getTransport();
6、使用Transport连接服务器
trans.connect(m_server, m_user, m_pass);
7、发送邮件并关闭
trans.sendMessage(msg, InternetAddress.parse(m_to));
trans.close();