# Java 发送电子邮件示例
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,
忍不住分享一下给大家。点击跳转到网站
学习总结
1、掌握 JAVA入门到进阶知识(持续写作中……)
2、学会Oracle数据库入门到入土用法(创作中……)
3、手把手教你开发炫酷的vbs脚本制作(完善中……)
4、牛逼哄哄的 IDEA编程利器技巧(编写中……)
5、面经吐血整理的 面试技巧(更新中……)
下面是一个使用JavaMail API发送简单电子邮件的示例。为了运行这个代码,你需要在项目中添加JavaMail库,并确保你有访问SMTP服务器的权限。
依赖
首先,确保你已经导入了JavaMail库。如果你使用的是Maven项目,可以在pom.xml
中添加以下依赖:
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
示例代码
import javax.mail.*;
import javax.mail.internet.*;
import java.util.Properties;
public class SendEmail {
// 方法:发送邮件
public static void send(String from, String password, String to, String subject, String body) {
// SMTP服务器的主机名和端口(这里以Gmail为例)
String host = "smtp.gmail.com";
int port = 587;
// 设置系统属性
Properties properties = System.getProperties();
properties.put("mail.smtp.host", host);
properties.put("mail.smtp.port", port);
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.starttls.enable", "true");
// 获取默认的Session对象
Session session = Session.getDefaultInstance(properties, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(from, password);
}
});
try {
// 创建MIME邮件对象
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(subject);
message.setText(body);
// 发送消息
Transport.send(message);
System.out.println("邮件发送成功");
} catch (MessagingException mex) {
mex.printStackTrace();
System.out.println("发送失败: " + mex.getMessage());
}
}
// 主方法
public static void main(String[] args) {
// 邮件发送者的邮箱地址和密码
String from = "your-email@gmail.com";
String password = "your-password";
// 收件人的邮箱地址
String to = "recipient-email@example.com";
// 邮件主题和内容
String subject = "测试邮件";
String body = "这是通过JavaMail API发送的一封测试邮件。";
// 调用send方法发送邮件
send(from, password, to, subject, body);
}
}
注意事项
- 安全性:在实际应用中,不要直接在代码中硬编码邮箱密码。考虑使用环境变量或安全的配置管理工具。
- SSL/TLS:根据你的SMTP服务器设置,可能需要启用SSL或TLS加密通信。
- 认证:某些邮箱服务提供商(如Gmail)可能要求你启用“不太安全的应用”的访问权限,或者使用应用专用密码。
- 错误处理:上面的代码包含了基本的异常处理,但在生产环境中你应该实现更健壮的错误处理逻辑。
请根据自己的需求调整代码,并确保遵守邮箱服务提供商的使用条款和隐私政策。
请注意,上述代码中的`your-email@gmail.com`、`your-password`、`recipient-email@example.com`等信息应替换为实际的值。此外,由于安全原因,建议不要在代码中直接存储明文密码,而是使用更安全的方法来管理凭证。
# <font color=#56aaa>往期文章</font>
[ 第一章:日常_JAVA_面试题集(含答案)](https://wenfeng.blog.csdn.net/article/details/109253627)
[ 第二章:日常_JAVA_面试题集(含答案)](https://wenfeng.blog.csdn.net/article/details/108773049)
 [平安壹钱包JAVA面试官:请你说一下Mybatis的实现原理](https://blog.csdn.net/Feng_wwf/article/details/117460385)
 [Java必备面试-热点-热门问题精华核心总结-推荐](https://blog.csdn.net/Feng_wwf/article/details/116524563)
[ 往期文章大全……](https://blog.csdn.net/Feng_wwf)
![在这里插入图片描述](https://img-blog.csdnimg.cn/b2246eb64888442e94b341f853ee4daf.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0Zlbmdfd3dm,size_16,color_FFFFFF,t_70)
**<font color=#c7a>一键三连 ~一键三连~ 一键三连~</font>**
# [更多内容,点这里❤](https://wenfeng.blog.csdn.net/)