Este artículo comparte el código específico de Java Web STMP que envía correos electrónicos con archivos adjuntos para su referencia. El contenido específico es el siguiente
Public Class MailFilesEdutils {Props de propiedades privadas; // Propiedad del sistema Sesión de sesión privada; // Correo de la sesión Objeto privado Mimemessage Mimemsg; // Mime Mail Object private Multipart mp; // Objeto multipart, contenido de correo electrónico, título, archivos adjuntos y otro contenido se agregan a él y luego se genera el objeto Mimemessage/** * constructor * @param */public MorreFilesEndUtils () {props = system.getProperties (); propssput ("mail.smtp.auth", "falso"); sesión = session.getDefaultInstance (Props, NULL); session.setDebug (verdadero); mimemsg = new Mimemessage (sesión); mp = new mimemultipart (); } /** * constructor * @param smtp mail sendUtils (string smtp, string username, string contraseña) {props = system.getProperties (); propssput ("mail.smtp.auth", "verdadero"); propssput ("mail.smtp.host", smtp); propssput ("nombre de usuario", nombre de usuario); propssput ("contraseña", contraseña); sesión = session.getDefaultInstance (Props, NULL); session.setDebug (verdadero); mimemsg = new Mimemessage (sesión); mp = new mimemultipart (); } /*** Enviar correo electrónico* /public boolean sendmail (cadena desde, cadena [] a, string Sujeto, String Content, String FileName) {try {// Establezca el remitente mimemsg.setFrom (nuevo Internetaddress (from)); // Establezca el destinatario para (int i = 0; i <to.length; i ++) {mimemsg.setRecipients (Message.RecipientType.to, Internetaddress.parse (a [i])); } // establecer cc // for (int i = 0; i <copyto.length; i ++) {// mimemsg.setRecipients (message.recipientType.cc, internetaddress.parse (copyto [i])); //} // Establezca el tema mimemsg.setsubject (sujeto); // Establecer el texto Bodypart BP = new MimeBodyPart (); bp.setContent (contenido, "text/html; charset = utf-8"); MP.AddBodyPart (BP); // establecer el archivo adjunto bp = new MimeBodyPart (); Archivos de FileDataSource = new FileDataSource (nombre de archivo); bp.setDatahandler (nuevo Datahandler (archivado)); bp.setFileName (mimeUtility.EncodeText (ssileds.getName (), "utf-8", "b")); MP.AddBodyPart (BP); mimemsg.setContent (MP); mimemsg.savechanges (); // Enviar correo electrónico if (props.get ("mail.smtp.auth"). Equals ("true")) {transport transport = session.getTransport ("smtp"); transport.connect (((string) props.get ("mail.smtp.host"), (string) props.get ("username"), (string) props.get ("contraseña")); transport.sendMessage (Mimemsg, mimemsg.getRecipients (Message.RecipientType.to)); // Transport.sendMessage (Mimemsg, Mimemsg.getRecipients (Message.RecipientType.cc)); transport.close (); } else {transport.send (mimemsg); } System.out.println ("Enviar correos con éxito"); } Catch (MessionGingException e) {// TODO Auto Generado Bloque E.PrintStackTrace (); } Catch (UnsupportedEnCodingException e) {// TODO Auto Generado Bloque E.PrintStackTrace (); } return verdadero; } // public void tosendMail (sendmailparam sendmailparam) {// mailFilesEndUtils Correo electrónico = new MailFilesEndUtils (sendmailParam.getSmtp (), sendmailparam.getUsername (), sendmail.getPassword ()); //sendmail (sendmailparam.getget (), sendMailParam.getTo sendmailparam.getSubject (), sendmailparam.getContent (), sendmailparam.getFilePath ()); //} public static void main (string [] args) {string smtp = "smtp.exmail.qq.com"; String UserName = "Enviar cuenta de correo electrónico"; String Password = "Enviar contraseña de correo electrónico"; Cadena de = "Enviar correo electrónico"; String [] to = {"Dirección de correo electrónico para recibir el correo electrónico"}; // string [] copyto = {"dirección de correo electrónico ccc"}; String subjunto = "Sujeto 6"; String Content = "Corre de contenido 6"; Cadena filename = "archivo adjunto"; MailFilesEndUtils Correo electrónico = nuevo MailFilesEndUtils (SMTP, nombre de usuario, contraseña); // email.sendMail (desde, a, copia, asunto, contenido, nombre de archivo); email.sendmail (de, a, asunto, contenido, nombre de archivo); }}(Anexo: versión SSL)
Public Class MailFilesEdutils {Props de propiedades privadas; // Propiedad del sistema Sesión de sesión privada; // Correo de la sesión Objeto privado Mimemessage Mimemsg; // Mime Mail Object private Multipart mp; // Objeto multipart, contenido de correo electrónico, título, archivos adjuntos y otro contenido se agregan a él y luego se genera el objeto Mimemessage/** * constructor * @param */public MorreFilesEndUtils () {props = system.getProperties (); propssput ("mail.smtp.auth", "falso"); sesión = session.getDefaultInstance (Props, NULL); session.setDebug (verdadero); mimemsg = new Mimemessage (sesión); mp = new mimemultipart (); } /** * constructor * @param smtp mail sendUtils (string smtp, string username, string contraseña) {Security.AddProvider (new com.sun.net.ssl.internal.ssl.provider ()); cadena final ssl_factory = "javax.net.ssl.sslsocketfactory"; props = system.getProperties (); MailsslsocketFactory sf = null; intente {sf = new MailsSlSocketFactory (); } catch (GeneralSecurityException e) {} sf.setTrustallHosts (true); propssput ("mail.smtp.auth", "verdadero"); propssput ("mail.smtp.host", smtp); props.put ("mail.smtp.socketfactory.class", ssl_factory); props.put ("mail.smtp.socketfactory.fallback", "falso"); propssput ("mail.smtp.ssl.enable", "verdadero"); propssput ("mail.smtp.port", "465"); props.put ("mail.smtp.ssl.socketfactory", sf); // props.put ("username", username); // props.put ("contraseña", contraseña); session = session.getInStance (props, new Authenticator () {@Override PassionAuthentAtation getPasswordAuthentication () {return New PassingAuthentication (nombre de usuario, contraseña);}}); session.setDebug (verdadero); mimemsg = new Mimemessage (sesión); mp = new mimemultipart (); } /*** Enviar correo electrónico* /public boolean sendmail (cadena desde, cadena [] a, string Sujeto, String Content, String FileName) {try {// Establezca el remitente mimemsg.setFrom (nuevo Internetaddress (from)); // Establezca el receptor para (int i = 0; i <to.length; i ++) {mimemsg.setRecipients (Message.recipientType.to, Internetaddress.parse (a [i])); } // Establecer cc // for (int i = 0; i <copyto.length; i ++) {// mimemsg.setRecipients (Message.recipientType.cc, Internetaddress.parse (copyto [i])); //} // Establecer topic mimemsg.setSubject (temas); // Establecer el texto Bodypart BP = new MimeBodyPart (); bp.setContent (contenido, "text/html; charset = utf-8"); MP.AddBodyPart (BP); // establecer el archivo adjunto bp = new MimeBodyPart (); Archivos de FileDataSource = new FileDataSource (nombre de archivo); bp.setDatahandler (nuevo Datahandler (archivado)); bp.setFileName (mimeUtility.EncodeText (ssileds.getName (), "utf-8", "b")); MP.AddBodyPart (BP); mimemsg.setContent (MP); mimemsg.savechanges (); // Enviar correo if (props.get ("mail.smtp.auth"). Equals ("true")) {transport transport = session.getTransport ("smtp"); transport.connect (((string) props.get ("mail.smtp.host"), (string) props.get ("username"), (string) props.get ("contraseña")); transport.sendMessage (Mimemsg, mimemsg.getRecipients (Message.RecipientType.to)); // transport.sendMessage (mimemsg, mimemsg.getRecipients (Message.RecipientType.cc)); transport.close (); } else {transport.send (mimemsg); } System.out.println ("Correos enviados correctamente"); } catch (MessionGingException e) {E.PrintStackTrace (); } catch (UnsupportedEncodingException e) {E.PrintStackTrace (); } return verdadero; } public boolean tosendmail (sendmailparam sendmailparam) {mailFilesEndUtils Correo electrónico = nuevo MailFilesEndUtils (sendmailparam.getSmtp (), sendmailparam.getUsername (), sendmailparam.getPassword ()); email.sendmail (sendmailparam.getFrom (), sendmailparam.getto (), sendmailparam.getSubject (), sendmailparam.getContent (), sendmailparam.getFilePath ()); devolver verdadero; } // public static void main (string [] args) {// string smtp = "smtp.mxhichina.com"; // string username = "correo electrónico"; // string contraseña = "contraseña de correo electrónico"; // string from = "who enviará"; // string [] a = {"Enviar a quién"}; /// copy [] copy [{{"CCC Correo electrónico" "huawei"; // string content = "contenido de correo electrónico 6666"; // string filename = "GDT-3583118353-Ad-20170823.xls; // mailFilesEntils Correo electrónico = nuevo MailFilesDutils (SMTP, username, contraseña); ///sendMail (de, de, tope, temas, contenido, contenido, contenido, contenido); email.sendmail (de, a, asunto, contenido, nombre de archivo); //}} En el proyecto, comento el método principal y luego uso tosendmail (sendmailparam sendmailparam).
El sendmailparam definido aquí es:
clase pública sendmailParam {String private smtp; nombre de usuario de cadena privada; contraseña de cadena privada; cadena privada de; // remitente cadena privada [] a; // destinatario // cadena [] copyright = {"[email protected]"}; Private String Sujeto; // Correo electrónico Contenido de cadena privada; // Correo electrónico Contenido privado FilePath; // ruta para obtener el archivo public sendmailParam () {this.smtp = "smtp.exmail.qqq.com"; // Ejemplo this.username = "cuenta de correo electrónico"; this.password = "contraseña de correo electrónico"; this.from = "correo electrónico"; this.subject = ""; this.content = ""; this.filepath = ""; } cadena pública getSmtp () {return smtp; } public void setsmtp (String Smtp) {this.smtp = smtp; } public String getUsername () {return UserName; } public void setUsername (String UserName) {this.Username = username; } public String getPassword () {return Password; } public void setPassword (String Password) {this.password = contraseña; } public String getFrom () {return de; } public void setFrom (string from) {this.from = from; } public String [] getTo () {return to; } public void setTo (string [] to) {this.to = a; } public String getSubject () {return Sujem; } public void setSubject (string stem) {this.subject = saters; } public String getContent () {return content; } public void setContent (contenido de cadena) {this.content = content; } public String getFilePath () {return filePath; } public void setFilePath (string filepath) {this.filePath = filePath; }}Paquete de dependencia de Maven
<Spendency> <MoupRoMID> javax.mail </groupid> <artifactid> mail </artifactid> <versión> 1.4.7 </versión> </dependencia>
Paquete de dependencia de gradle
compilar "javax.mail: correo: 1.4.7"
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.