需求是使用Java写一个简单的邮箱发送程序。
注意需要到QQ邮箱的设置-账户中开启服务。
package org.example;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;
public class Main {
public static void main(String[] args) {
try{
Email email=new SimpleEmail();
String username="2351925363@qq.com";
String receiver="2351925363@qq.com";
String password="QQ邮箱验证码";
String subject="编程练习4";
String message="这是2021155015-叶茂林自编写邮件发送程序,从邮箱2351925363@qq.com发送的邮件,请查收";
email.setHostName("smtp.qq.com");
email.setSmtpPort(587);
email.setAuthentication(username,password);
email.setFrom(username);
email.addTo(receiver);
email.setSubject(subject);
email.setMsg(message);
email.send();
}catch (EmailException e){
e.printStackTrace();
}
}
}
段代码是一个简单的Java程序,用于通过邮件发送消息。让我们逐行分析它:
-
package org.example;
:这个代码文件位于org.example
包中。 -
导入了三个类库:
org.apache.commons.mail.Email
:用于表示电子邮件对象。org.apache.commons.mail.EmailException
:用于处理邮件相关的异常。org.apache.commons.mail.SimpleEmail
:用于创建简单的邮件对象。
-
创建了一个名为
Main
的公共类。 -
在
main
方法中进行邮件发送操作:- 创建一个
SimpleEmail
对象,并将其赋值给email
变量。 - 设置发件人的邮箱用户名、密码、主机名和端口号。
- 设置收件人的邮箱地址。
- 设置邮件的主题和内容。
- 调用
email.send()
方法发送邮件。
- 创建一个
-
使用
try-catch
块来捕获可能抛出的EmailException
异常,并在出现异常时打印堆栈跟踪信息。
总体来说,这段代码使用了Apache Commons Email库来实现邮件发送功能。需要注意的是,代码中直接暴露了发件人的邮箱用户名和密码,这不安全。在实际应用中,建议将敏感信息存储在安全的方式下,例如配置文件或环境变量中。