Java Email jar包下载地址:JavaMail API
https://www.oracle.com/java/technologies/javamail.html
JavaMail 右侧下载,选择jar包下载
API文档参考:JavaMail API documentation
https://javaee.github.io/javamail/docs/api/
或直接引用:
<!-- https://mvnrepository.com/artifact/javax.mail/javax.mail-api -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
发送一封简单的Email
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.MimeMessage;
import java.util.Date;
import java.util.Properties;/*** @author : HMF* @ClassName javaEmail* @description 发送邮件测试* @date: 2022/3/12 11:04**/public class javaEmail {public static void main(String[] args){// 发件人电子邮箱String fromUser="hmf@xxx.com";String passwd="xxx";// 收件人电子邮箱String toUser="xxx@qq.com";//获取系统属性Properties pros=new Properties();pros.setProperty("mail.transport.protocol", "smtp");// 使用的协议pros.setProperty("mail.smtp.host", "smtp.exmail.qq.com");// 发件人的邮箱的SMTP服务器地址pros.setProperty("mail.smtp.auth", "true");// 需要请求认证//设置邮件服务器Session session=Session.getInstance(pros);try{//创建默认的MimeMessage 对象MimeMessage msg=new MimeMessage(session);//set Frommsg.setFrom(fromUser);//set Tomsg.setRecipients(Message.RecipientType.TO, toUser);//设置标题头msg.setSubject("JavaMail hello world example");//设置发送日期msg.setSentDate(new Date());//设置消息体msg.setText("发送邮件,Hello, world!\n");//发送消息Transport.send(msg, fromUser, passwd);System.out.println("Sent message successfully...");}catch (MessagingException mex){System.out.println("send failed,exception: "+mex);}}
}
邮件示例:
发送带有附件的Email
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;
import java.util.Date;
import java.util.Properties;/*** @author : HMF* @ClassName javaEmail* @description 发送邮件测试* @date: 2022/3/12 11:04**/public class javaEmail {public static void main(String[] args){// 收件人电子邮箱String toUser="xxx@qq.com";// 发件人电子邮箱String fromUser="hmf@xxx.com";String passwd="xxx";//获取系统属性Properties pros=new Properties();pros.setProperty("mail.transport.protocol", "smtp");// 使用的协议pros.setProperty("mail.smtp.host", "smtp.exmail.qq.com");// 发件人的邮箱的SMTP服务器地址pros.setProperty("mail.smtp.auth", "true");// 需要请求认证//设置邮件服务器Session session=Session.getInstance(pros);try{//创建默认的MimeMessage 对象MimeMessage msg=new MimeMessage(session);//设置发件人msg.setFrom(fromUser);//设置接收人msg.setRecipients(Message.RecipientType.TO, toUser);//Subject: 邮件主题msg.setSubject("这是邮件的主题", "UTF-8");//创建多重消息MimeMultipart multipart = new MimeMultipart();// 创建消息部分BodyPart messageBody = new MimeBodyPart();// 消息messageBody.setText("发送邮件,带附件,HelloWorld!\n");// 设置文本消息部分multipart.addBodyPart(messageBody);//***以下部分为携带附件代码***MimeBodyPart file1 = new MimeBodyPart();String filename = "data.csv";DataSource source = new FileDataSource(filename);file1.setDataHandler(new DataHandler(source));file1.setFileName(filename);multipart.addBodyPart(file1);//***附件代码部分***//发送完整消息msg.setContent(multipart,"UTF-8");//设置发送时间msg.setSentDate(new Date());//发送邮件Transport.send(msg, fromUser, passwd);System.out.println("Sent message successfully...");}catch (MessagingException mex){System.out.println("send failed,exception: "+mex);}}
}
邮件示例:
参考:https://www.runoob.com/java/java-sending-email.html