这里用java代码编写发送邮件我采用jar包,需要先点击这里下载三个jar包:这三个包分别为:additionnal.jar;activation.jar;mail.jar。这三个包缺一不可,如果少添加或未添加均会报下面这个错误:
Caused by: java.lang.ClassNotFoundException: javax.activation.DataHandler
Caused by: java.lang.ClassNotFoundException: myjava.awt.datatransfer.Transferable
下面演示:
一.下载并导入jar包
1.下载jar包
点击这里去网站下载jar包
分别点击这三个位置进入
按这个流程分别下载好三个jar包。
2.导入jar包
导入jar包到项目流程:
(1)复制三个jar包,在项目中创建一个lib文件把这三个jar包粘贴上去:具体流程见下面步骤
第一步:鼠标右键文件点击NEW,点击Directory新建一个lib文件。
第二步:复制粘贴三个jar包到lib文件下
第三步:同时选中这三个jar包鼠标右键,点击下面的Add as library...
二.写代码
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class EmailSender {
public static void main(String[] args) {
// 设置邮件服务器的属性
Properties properties = new Properties();
//SMTP服务器地址
properties.put("mail.smtp.host", "smtp.qq.com");
properties.put("mail.smtp.port", "25");
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.starttls.enable", "true");
// 获取邮件会话对象
Session session = Session.getInstance(properties, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("your_email@example.com", "your_password");
}
});
try {
// 创建邮件消息对象
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("your_email@example.com"));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("recipient_email@example.com"));
message.setSubject("Test Email");
message.setText("Hello, this is a test email sent using JavaMail API!");
// 发送邮件
Transport.send(message);
System.out.println("Email sent successfully!");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
为了便于理解,这里我解释下上面代码部分内容怎么填写
smtp.example.com
、your_email@example.com
、your_password
和recipient_email@example.com
替换为实际的SMTP服务器地址、发件人邮箱、授权码和收件人邮箱。SMTP服务器地址,实际上是代收发服务器地址,是由邮箱服务商提供的。例如,常见的QQ邮箱的SMTP服务器地址为smtp.qq.com,端口号为25;搜狐邮箱的SMTP服务器地址为smtp.sohu.com;HotMail邮箱的SMTP服务器地址为smtp.live.com。需要注意的是,不同的服务商SMTP服务器地址可能会有所不同,具体地址应向各自的邮件服务提供商查询。
网易邮箱的SMTP服务器地址是smtp.163.com。发送邮件时,您可以使用以下SMTP服务器地址和端口号进行配置:smtp.163.com(端口:25)
上面图片的授权码获取流程
使用QQ邮箱发送邮件需要开启SMTP服务,具体操作步骤如下:
- 登录QQ邮箱网页版(https://mail.qq.com/)。
- 点击右上角的设置图标,选择“账户”。
- 在“账户”页面中,找到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”,点击“开启服务”按钮。
- 在弹出的窗口中,选择“SMTP服务”并点击“确定”。
把这个授权码粘贴到上面代码
然后运行代码即可!