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();