Java发送邮件的简单实现

使用Oracle官方的JavaMail进行实现,JavaMail下载地址:https://java.net/projects/javamail/pages/Home
将下载好的jar包添加到工程路径中就OK了,我使用的是最新的1.5.2版本的javax.mail.jar。

关于邮件协议可参考:什么是POP3、SMTP和IMAP?
下面的示例中是通过我的新浪邮箱([email protected])给QQ邮箱([email protected]不知道是谁的邮箱)发邮件,下面给出实现代码:

import java.util.Date;
import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.MimeMessage;

public class SimpleMail {
    public static void main(String[] args) {
        Properties props = new Properties();
        //这里使用smtp协议发送邮件,我的新浪邮箱是.cn的不是.com的,所以smtp服务器为smtp.sina.cn
        props.put("mail.smtp.host", "smtp.sina.cn");
        Session session = Session.getInstance(props, null);

        try {
            MimeMessage msg = new MimeMessage(session);
            //设置发件人邮箱
            msg.setFrom("[email protected]");
            //设置收件人邮箱
            msg.setRecipients(Message.RecipientType.TO, "[email protected]");
            //设置主题
            msg.setSubject("This is a test");
            //设置日期
            msg.setSentDate(new Date());
            //设置正文内容
            msg.setText("How are you?\nThis is a test, please do not reply!");
            //发送邮件,参数为邮件信息,发件人邮箱和发件人邮箱密码
            Transport.send(msg, "[email protected]", "这里是发件人的密码");
        } catch (MessagingException mex) {
            System.err.println("Send failed! Exception: " + mex);
        }
    }
}

JavaMail中比较重要的的类是Session、Store和Folder。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。