admin管理员组文章数量:1559391
Java实现QQ邮箱发送邮件的功能
1.登录QQ邮箱
2.打开账号与安全
3.生成授权码
4.得到授权码
5.maven配置
如果你使用Maven,可以在pom.xml中添加依赖。
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
6.java代码实现
代码示例:
package com.kelai.mail;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
public class SendEmail {
public static void main(String[] args) {
// 发件人邮箱和授权码
final String username = "1234@qq";
final String password = "authorization_code";
// 收件人邮箱
String to = "5678@qq";
// 设置邮件服务器的属性
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.qq"); // 指定SMTP服务器
props.put("mail.smtp.port", "465"); // QQ邮箱的SMTP端口
props.put("mail.smtp.auth", "true"); // 启用认证
props.put("mail.smtp.ssl.enable", "true"); // 使用SSL加密连接
props.put("mail.smtp.socketFactory.class", "javax.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");
props.put("mail.smtp.socketFactory.port", "465");
// 创建会话对象
Session session = Session.getInstance(props, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
// 创建邮件消息
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(username)); // 设置发件人
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // 设置收件人
message.setSubject("23点52分通知邮件"); // 设置邮件主题
message.setText("这是一份来自Java程序的通知邮件。"); // 设置邮件正文
// 发送邮件
Transport.send(message);
System.out.println("邮件已成功发送!");
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
请注意,你需要将1234@qq替换为你的QQ邮箱地址,authorization_code替换为开启SMTP服务时获得的授权码。根据实际需求,你可以修改邮件的主题和正文内容。
7.执行代码
查看邮箱收件箱
注意事项
- 可能会报错javax.mail.AuthenticationFailedException: 535 Login Fail. Please enter your authorization code to login.
- password一定不能是QQ邮箱的密码,是授权码!!!
以上内容中的SMTP服务器地址、端口号等配置针对的是QQ邮箱,不同邮箱服务商可能会有所不同,请根据实际情况调整。
版权声明:本文标题:【Java遵循SMTP协议调用JavaMail API实现通过腾讯邮箱(QQ邮箱)发送邮件的功能】 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1727421658a1113650.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论