最近搞了个给outlook发邮件的功能,废话不多说
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import java.util.ResourceBundle;
/**
* @Author 风飘无殇
* @Date 2022/6/16
* @Version 1.0
*/
public class SendEamil {
static ResourceBundle db = ResourceBundle.getBundle("druid");
//邮箱服务器地址
static String host = db.getString("host");
//发件人邮箱
static String from_USER_ADDRESS = db.getString("from_USER_ADDRESS");
//发件人邮箱名(去掉@及以后的)
static String from_USER_NAME = db.getString("from_USER_NAME");
//发件人邮箱密码(不是登录密码)
static String password = db.getString("emailPassword");
public static String sendSMTPMail(List toList, String text, String title) {
String message = "";
HtmlEmail email = new HtmlEmail();
try{
email.setHostName(host);
//编码集的设置
email.setCharset("gbk");
//收件人的邮箱,这是多个收件人,如果是单个,把数组换成String的,再把循环去掉就行
for (int i = 0;i<jsonArray.size();i++){
email.addTo(toList.get(i).toString());
}
//发送人的邮箱
email.setFrom(from_USER_ADDRESS, "发件人名称改这个就行");
email.setAuthentication(from_USER_NAME,password);
email.setSubject(title);
//要发送的信息
email.setMsg(text);
//发送
email.send();
message = "发送成功!";
} catch (EmailException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return message;
}
}
上面的是代码,用maven导入依赖:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.3</version>
</dependency>
代码读取的druid配置
host = 填邮箱服务器的ip地址
from_USER_ADDRESS = xxx@xx.com
from_USER_NAME = xxx
emailPassword = password
这样这个工具类就可以发送邮件了