如何使用java自带的功能发送邮件?
由于个人使用的工具是 IntelliJ IDEA和QQ邮箱 所有下面的内容就围绕这两个工具来进行介绍。。
1.首先 你要在你的项目里面导入如下两个jar包。
然后 打开IDEA新建一个项目
此时发现,刚才导入的并无法向其他文件夹一样展开,这表明了没有对这个包添加项目依赖关系,
这个地方只选择文件夹就可以了 不需要选中jar文件
按照以上步骤 做完之后,就发现包可以展开了,这就完成了第一步。
2. 打开QQ邮箱,设置->账户设置 打开下图界面。因为第三方邮件发送服务需要开启QQ邮箱的服务并提供授权码才能呢完成
这里前两个服务 默认是关闭的 开启就可以 。。 注意 在开启第一个服务时 它会让你使用手机发送短信进行验证,并且成功之后会提供一个授权码给你,要保存好这个授权码。。
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了 。然后运行一下就会大力出奇迹啦。
本教程个人感觉简单易懂 如果还有不明白的地方 送你一张图 哈哈哈哈哈