JavaMail发送邮件

JavaMail发送邮件

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

你可能感兴趣的:(JavaMail发送邮件)