java代码如下 import lombok.data; import javax.mail.message.recipienttype;import javax.mail.messagingexception;import javax.mail.session;import javax.mail.transport;import javax.mail.internet.internetaddress;import javax.mail.internet.mimemessage;import java.io.ioexception;import java.io.inputstream;import java.util.arraylist;import java.util.list;import java.util.properties; /** * created by tarzan liu on 2021/5/9. */public abstract class emailutil { private static final session session; private static final emailauthenticator authenticator; static { inputstream inputstream = null; try { inputstream = emailutil.class.getresourceasstream("/email.properties"); properties properties = new properties(); properties.load(inputstream); authenticator = new emailauthenticator(); string username = properties.getproperty("email.username"); authenticator.setusername(username); string password = properties.getproperty("email.password"); authenticator.setpassword(password); string smtphostname = "smtp." + username.split("@")[1]; properties.put("mail.smtp.auth", "true"); properties.put("mail.smtp.host", smtphostname); session = session.getinstance(properties, authenticator); } catch (exception e) { throw new runtimeexception("init error."); } finally { if (inputstream != null) { try { inputstream.close(); } catch (ioexception e) { e.printstacktrace(); } } } } private emailutil() { } /** * 群发邮件方法 */ private static void masssend(list<string> recipients, simpleemail email) throws messagingexception { mimemessage message = new mimemessage(session); message.setfrom(new internetaddress(authenticator.getusername())); internetaddress[] addresses = new internetaddress[recipients.size()]; for (int index = 0; index < recipients.size(); index ++) { addresses[index] = new internetaddress(recipients.get(index)); } message.setrecipients(recipienttype.to, addresses); message.setsubject(email.getsubject()); message.setcontent(email.getcontent(), "text/html;charset=utf-8"); transport.send(message); } /** * 发送邮件 */ public static void send(string recipient, simpleemail email) throws messagingexception { list<string> recipients = new arraylist<>(); recipients.add(recipient); masssend(recipients, email); } //可以单独建一个类 @data public static class simpleemail { private string subject; private string content; } public static void main(string[] args) throws exception { simpleemail simpleemail = new simpleemail(); simpleemail.setsubject("今天你学习了么?"); simpleemail.setcontent("今天你写博客了么"); send("1334512682@qq.com", simpleemail); }}
email.properties 系统邮箱配置
email.username=###@163.com
email.password=###
你的邮箱账号和密码,也可以省去配置文件,直接把账号密码写死在代码。
运行测试右键run 运行主方法。
将发送的邮箱绑定到微信上,还能实现微信提醒功能!
以上就是基于java如何实现简单的邮件群发功能?的详细内容。
