java使用mail.jar发送邮件

如何使用java自带的功能发送邮件?
由于个人使用的工具是 IntelliJ IDEA和QQ邮箱 所有下面的内容就围绕这两个工具来进行介绍。。
1.首先 你要在你的项目里面导入如下两个jar包。
java使用mail.jar发送邮件_第1张图片
然后 打开IDEA新建一个项目
java使用mail.jar发送邮件_第2张图片
此时发现,刚才导入的并无法向其他文件夹一样展开,这表明了没有对这个包添加项目依赖关系,
java使用mail.jar发送邮件_第3张图片
java使用mail.jar发送邮件_第4张图片
java使用mail.jar发送邮件_第5张图片这个地方只选择文件夹就可以了 不需要选中jar文件

按照以上步骤 做完之后,就发现包可以展开了,这就完成了第一步。

2. 打开QQ邮箱,设置->账户设置 打开下图界面。因为第三方邮件发送服务需要开启QQ邮箱的服务并提供授权码才能呢完成
java使用mail.jar发送邮件_第6张图片这里前两个服务 默认是关闭的 开启就可以 。。 注意 在开启第一个服务时 它会让你使用手机发送短信进行验证,并且成功之后会提供一个授权码给你,要保存好这个授权码。。

3. 地基打好了 现在开始建楼,IDEA新建一个类文件 输入以下代码

//发送消息类
//把发消息的代码 封装为一个类 使用的时候调用方法 传入邮件标题 邮件内容就可以了
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;

public class SendMessages {

    public static void Send(String tittle,String value) throws MessagingException{
        Properties properties = new Properties();
        properties.put("mail.transport.protocol", "smtp");// 连接协议
        properties.put("mail.smtp.host", "smtp.qq.com");// 主机名
        properties.put("mail.smtp.port", 465);// 端口号
        properties.put("mail.smtp.auth", "true");
        properties.put("mail.smtp.ssl.enable", "true");//设置是否使用ssl安全连接 ---一般都使用
        properties.put("mail.debug", "true");//设置是否显示debug信息 true 会在控制台显示相关信息
        //得到回话对象
        Session session = Session.getInstance(properties);
        // 获取邮件对象
        Message message = new MimeMessage(session);
        //设置发件人邮箱地址
        message.setFrom(new InternetAddress("********@qq.com"));
        //设置收件人地址
        message.setRecipients(MimeMessage.RecipientType.TO, new InternetAddress[]{new InternetAddress("********@qq.com")});
        //设置邮件标题
        message.setSubject(tittle);
        //设置邮件内容
        message.setText(value);
        //得到邮差对象
        Transport transport = session.getTransport();
        //连接自己的邮箱账户
        transport.connect("*********@qq.com", "*********");//密码为刚才得到的授权码
        transport.sendMessage(message, message.getAllRecipients());
    }
}
//******************************************分割线**************************************************
//******************************************分割线**************************************************
//测试类
import java.io.PrintWriter;
import java.io.StringWriter;
import javax.mail.MessagingException;

public class Test {
    public static void main(String[] args) throws MessagingException {
       try{

       }catch (Exception e){
		//以下代码是为了获取错误信息以及错误位置
           StringWriter sw = new StringWriter();
           PrintWriter pw = new PrintWriter(sw,true);
           e.printStackTrace(pw);
           pw.flush();
           sw.flush();
           //调用方法 传入参数 发送邮件
          SendMessages.Send("error",sw.toString());
       }
    }
}

上述代码 只需要改动我标记星号(******)的地方就OK了 。然后运行一下就会大力出奇迹啦。

本教程个人感觉简单易懂 如果还有不明白的地方 送你一张图 哈哈哈哈哈
java使用mail.jar发送邮件_第7张图片

你可能感兴趣的:(Java)