To complete the Java Bulk Mail feature, you must first add the Mail.jar and Activation.jar packages
Here is an example of the message: import Java.io.file;import java.util.properties;import Java.util.vector;import javax.mail.internet.mimeutility;/*** Send Message Class * @author Shi Peng * @version 2016.10.19**/public class Mailsenderinfo {// The IP and port of the server sending the message is private string Mailserverhost;private string mailserverport = "25";//the address of the sender of the message is private string fromaddress ///Email recipient's address private string[] toaddress;//login Mail sending server username and password private string Username;private string password;// Whether you need authentication private Boolean validate = false;//message subject private string subject;//The text content of the message private string content;//The file name of the message attachment privat E String fileName = "";//attachment file collection private vector filename = new vector ();/*** get mail Session properties * @return */public Properties Getpropertie S () {Properties p = new Properties ();p. put ("Mail.smtp.host", This.mailserverhost);p. Put ("Mail.smtp.port", This.mailserverport);p. Put ("Mail.smtp.auth", validate? "True": "false"); return p;} Public String Getmailserverhost () {return mailserverhost;} public void Setmailserverhost (String mailserverhost) {this.mailserverhost = mailsErverhost;} Public String Getmailserverport () {return mailserverport;} public void Setmailserverport (String mailserverport) {this.mailserverport = Mailserverport;} public Boolean isvalidate () {return validate;} public void Setvalidate (Boolean validate) {this.validate = validate;} Public String getfromaddress () {return fromaddress;} public void setfromaddress (String fromaddress) {this.fromaddress = fromaddress;} Public String GetPassword () {return password;} public void SetPassword (String password) {this.password = password;} Public string[] Gettoaddress () {return toaddress;} public void Settoaddress (string[] toaddress) {this.toaddress = toaddress;} Public String GetUserName () {return userName;} public void Setusername (String userName) {this.username = UserName;} Public String Getsubject () {return subject;} public void Setsubject (String subject) {this.subject = subject;} Public String getcontent () {return content;} public void SetContent (String textcontent) {this.content = textcontent;} Public String GETfilename () {return fileName;} public void Setfilename (String fileName) {this.filename = FileName;} Public Vector GetFile () {return file;} public void Setfile (Vector file) {this.file = file;} /**** Method Description: Convert the theme to Chinese * input parameter: string strtext* return type: */public string Transferchinese (String strText) {try {strText = Mimeutilit Y.encodetext (New String (Strtext.getbytes (), "GB2312"), "GB2312", "B"); catch (Exception e) {e.printstacktrace ();} return strText;}} ——————————————————— Import javax.mail.authenticator;import javax.mail.passwordauthentication;/*** e-Mail Authenticator * @ Author Shi Peng * @version 2016.10.19**/public class Myauthenticator extends authenticator{string username=null; String Password=null;public myauthenticator () {}public Myauthenticator (string Username, string password) { This.username = Username;this.password = password;} Protected Passwordauthentication getpasswordauthentication () {return new passwordauthentication (userName, password);}} ——————————————————————— Import Java.io.file;import Java.util.date;import JAva.util.enumeration;import Java.util.properties;import Java.util.vector;import Javax.activation.DataHandler; Import Javax.activation.filedatasource;import Javax.mail.address;import Javax.mail.bodypart;import Javax.mail.message;import Javax.mail.messagingexception;import Javax.mail.multipart;import javax.mail.Session; Import Javax.mail.transport;import Javax.mail.internet.internetaddress;import Javax.mail.internet.MimeBodyPart; Import Javax.mail.internet.mimemessage;import Javax.mail.internet.mimemultipart;public class SimpleMailSender {/** * Send messages in text format * @param mailinfo messages to be sent */public Boolean sendtextmail (Mailsenderinfo mailinfo) {// Determine if identity authentication is required myauthenticator authenticator = null; Properties Pro = Mailinfo.getproperties (); if (Mailinfo.isvalidate ()) {//If authentication is required, create a password validator authenticator = new Myauthenticator (Mailinfo.getusername (), Mailinfo.getpassword ());} Constructs a sessionsession sendmailsession = Session.getdefaultinstance (pro,authenticator) for sending messages based on the mail session properties and password validator; try {// Create a mail message based on sessionMessage MailMessage = new MimeMessage (sendmailsession);//create Mail Sender address authenticatoraddress from = new InternetAddress ( Mailinfo.getfromaddress ());//Set the sender of the mail message Mailmessage.setfrom (from);//Create the recipient address of the message and set it to the mail message in string[] mailtoaddress = Mailinfo.gettoaddress (); int len = mailtoaddress.length; Address to[] = new Internetaddress[len]; for (int i=0;i<len;i++) {To[i] = new internetaddress (Mailtoaddress[i]);} The Message.RecipientType.TO property indicates that the recipient's type is to//to for the primary recipient, CC for CC, and Bcc for the secret cc. Mailmessage.setrecipients (message.recipienttype.to,to);//Set the subject of the mail message Mailmessage.setsubject (Mailinfo.getsubject () );//Set the time Mailmessage.setsentdate (new Date ()) to send the mail message, or//set the main content of the mail message string mailcontent = Mailinfo.getcontent (); Mailmessage.settext (mailcontent);//Send mail Transport.send (mailmessage); return true;} catch (Messagingexception ex) {ex.printstacktrace ();} return false;} /** *//*** send mail in HTML format * @param mailinfo message messages to be sent */public Boolean sendhtmlmail (Mailsenderinfo mailinfo) {// Determine if identity authentication is required myauthenticator authenticator = null; PropeRties Pro = Mailinfo.getproperties ();//If authentication is required, create a password validator if (Mailinfo.isvalidate ()) {authenticator = new Myauthenticator (Mailinfo.getusername (), Mailinfo.getpassword ());} Constructs a sessionsession sendmailsession = Session.getdefaultinstance (pro,authenticator) for sending messages based on the mail session properties and password validator; try {// Create a mail message based on session MailMessage = new MimeMessage (sendmailsession);//create mail Sender address from = new InternetAddress ( Mailinfo.getfromaddress ());//Set the sender of the mail message Mailmessage.setfrom (from);//Create the recipient address of the message and set it to the mail message in string[] mailtoaddress = Mailinfo.gettoaddress (); int len = mailtoaddress.length; Address to[] = new Internetaddress[len]; for (int i=0;i<len;i++) {To[i] = new internetaddress (Mailtoaddress[i]);} The Message.RecipientType.TO property indicates the recipient's type is to//mailmessage.setrecipient (Message.RecipientType.TO, to); Mailmessage.setrecipients (message.recipienttype.to,to);//Set the subject of the mail message Mailmessage.setsubject (Mailinfo.getsubject () );//sets the time mailmessage.setsentdate the mail message is sent (new Date ());//The Minimultipart class is a container class that contains objects of the MimeBodyPart type MultipaRT Mainpart = new Mimemultipart ();//Create a mimebodypartbodypart HTML containing HTML content = new MimeBodyPart ();// Set HTML content html.setcontent (Mailinfo.getcontent (), "text/html; Charset=utf-8″); Mainpart.addbodypart (HTML);//Add attachment to multipart vector file = Mailinfo.getfile (); String fileName = Mailinfo.getfilename (); Enumeration efile = File.elements (); while (Efile.hasmoreelements ()) {MimeBodyPart mdpfile = new MimeBodyPart (); fileName = Efile.nextelement (). toString (); Filedatasource FDS = new Filedatasource (fileName), Mdpfile.setdatahandler (New DataHandler (FDS));//This method can solve garbled problem string fileName1 = new String (Fds.getname (). GetBytes (), "iso-8859-1"); Mdpfile.setfilename (fileName1); Mainpart.addbodypart (Mdpfile);} File.removeallelements ();//Set Minimultipart object to message content mailmessage.setcontent (Mainpart);//Send mail Transport.send ( MailMessage); return true;} catch (Exception ex) {ex.printstacktrace ();} return false;}} ———————————————————————————— –import java.io.file;import Java.util.vector;import com.sun.mail.util.MailSSLSocketFaCtory;public class SendMail {public static void main (string[] args) {try {mailsenderinfo mailinfo = new Mailsenderinfo (); M Ailsslsocketfactory SF = new Mailsslsocketfactory (); Sf.settrustallhosts (true);//Set mail server type smtp.qq.com Smtp.exmail.qq.commailInfo.setMailServerHost ("smtp.qq.com");//Set the port number 25mailinfo.setmailserverport ("587");// Sets whether to verify Mailinfo.setvalidate (TRUE);//set user name, password, sender address Mailinfo.setusername ("1909083200"); Do not bring @qq.commailinfo.setpassword ("DOLSGBVWTTTTCHHD");//This is the authorization code obtained in the mailbox Mailinfo.setfromaddress ("[email Protected] "); This must be completed/*** attachment */vector file = new Vector (); File F1 = new file ("D:/1.txt"); File.add (F1); mailinfo.setfile (file);/*** recipient mailbox * [email protected]*/string[] mailtoaddress = {"[email protected]"}; mailinfo.settoaddress (mailtoaddress); Mailinfo.setsubject ("Test"); Mailinfo.setcontent ("Registered address Baidu");//This class mainly to send mail simplemailsender SMS = new Simplemailsender ();//Sms.sendtextmail ( Mailinfo)///Send stylistic format if (Sms.sendhtmlmail (Mailinfo)) {System.out.println ("Mail Send true!”);} Send HTML format else{system.out.println ("Mail send false!");}} catch (Exception e) {e.printstacktrace ();}}} The above realized the javamail of the mass delivery function.
161013, Java implementation of bulk mail with attachments