- 需要引入mail.jar,邮件发送工具包.
- 将发件人,收件人,用户名密码写入配置文件(config.properties),便于后期修改.
fromEmail=zhangsan@163.com toEmail=lisi@qq.com emailName=username emailPassword=userpass
- 编码发邮件工具类EmailUtil,并进行测试.
package com.email; import java.io.InputStream; import java.util.Date; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; /** * 简单的邮件发送 * * @author Administrator * */ public class EmailUtils { public static void main(String[] args) throws Exception { Properties prop = new Properties(); InputStream in = EmailUtils.class.getResourceAsStream("config.properties"); prop.load(in); EmailUtils.sendMail(prop.getProperty("fromEmail"), prop.getProperty("toEmail"), prop.getProperty("emailName"), prop.getProperty("emailPassword"), "11111111", "1111111"); } /** * 发送邮件 (暂时只支持163邮箱发送) * @param fromEmail 发送邮箱 * @param toEmail 接收邮箱 * @param emailName 163邮箱登录名 * @param emailPassword 密码 * @param title 发送主题 * @param centent 发送内容 * @throws Exception */ public static void sendMail(String fromEmail,String toEmail,String emailName,String emailPassword,String title, String centent) throws Exception { Properties properties = new Properties();// 创建Properties对象 properties.setProperty("mail.transport.protocol", "smtp");// 设置传输协议 properties.put("mail.smtp.host", "smtp.163.com");// 设置发信邮箱的smtp地址 properties.setProperty("mail.smtp.auth", "true"); // 验证 Authenticator auth = new AjavaAuthenticator(emailName, emailPassword); // 使用验证,创建一个Authenticator Session session = Session.getDefaultInstance(properties, auth);// 根据Properties,Authenticator创建Session Message message = new MimeMessage(session);// Message存储发送的电子邮件信息 message.setFrom(new InternetAddress(fromEmail)); message.setRecipient(Message.RecipientType.TO, new InternetAddress( toEmail));// 设置收信邮箱 // 指定邮箱内容及ContentType和编码方式 message.setContent(centent, "text/html;charset=utf-8"); message.setSubject(title);// 设置主题 message.setSentDate(new Date());// 设置发信时间 Transport.send(message);// 发送 System.out.println("发送成功"); } } // 创建传入身份验证信息的 Authenticator类 class AjavaAuthenticator extends Authenticator { private String user; private String pwd; public AjavaAuthenticator(String user, String pwd) { this.user = user; this.pwd = pwd; } @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(user, pwd); } }
- 当console输出:发送成功,然后就等待邮箱接收邮件.
java邮件发送Demo工具
最新推荐文章于 2023-08-21 17:42:47 发布