Dieser Artikel teilt den spezifischen Code des Java -Web -STMP -Sendens von E -Mails mit Anhängen als Referenz. Der spezifische Inhalt ist wie folgt
öffentliche Klasse mailfilesendutils {private Eigenschaften Requisiten; // System Property Private Sitzung; // Mail -Sitzungsobjekt private mimemessage mimememsg; // MIME Mail -Objekt Private Multipart MP; // Multipart -Objekt, E -Mail -Inhalt, Titel, Anhang und andere Inhalte werden dazu hinzugefügt, und dann wird das Mimemessage -Objekt generiert/** * Konstruktor * @param */public MailFileSendutils () {props = system.getProperties (); props.put ("mail.smtp.auth", "false"); Session = Session.getDefaultInstance (Props, NULL); Session.setDebug (true); mimememsg = neue Mimemessage (Sitzung); MP = neuer Mimemultipart (); } /** * Konstruktor * @param SMTP Mail sendutils (String SMTP, String -Benutzername, String -Kennwort) {props = system.getProperties (); props.put ("mail.smtp.auth", "true"); props.put ("mail.smtp.host", SMTP); props.put ("Benutzername", Benutzername); props.put ("Passwort", Passwort); Session = Session.getDefaultInstance (Props, NULL); Session.setDebug (true); mimememsg = neue Mimemessage (Sitzung); MP = neuer Mimemultipart (); } /*** E -Mail senden* /public boolean sendmail (String von, String [] to, String -Betreff, String -Inhalt, String -Dateiname) {try {// Setzen Sie den Absender mimememsg.setfrom (neue InternetAdress (von)); // Setzen Sie den Empfänger für (int i = 0; i <to.Length; i ++) {mimememsg.setRecipients (message } // CC // für (int i = 0; i <copyto.length; i ++) {// mimememsg.setRecipients (Message.RecipientType.cc, InternetAddress.Parse (Copyto [i])) festlegen; //} // das Thema mimememsg.setsubject (Subjekt) festlegen; // Setzen Sie den Text bodypart bp = new mimebodypart (); bp.setContent (Inhalt, "text/html; charSet = utf-8"); mp.addbodypart (BP); // Anhang bp = new mimebodypart (); FieleDataSource -Dateien = new farrEedataSource (Dateiname); bp.setDatahandler (New Datahandler (Abstellungen)); bp.setFileName (mimeutility.encodEText (fileeds.getName (), "utf-8", "b"); mp.addbodypart (BP); Mimemsg.SetContent (MP); mimememsg.savechanges (); // E -Mail senden 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 ("password")); Transport.SendMessage (Mimememsg, Mimemsg.getRecipients (Message.RecipientType.to)); // transport.SendMessage (Mimememsg, Mimemsg.getRecipients (Message.ReciPientType.cc)); Transport.close (); } else {transport.send (mimememsg); } System.out.println ("Mail -Senden erfolgreich"); } catch (MessagingException e) {// Todo automatisch generierter Catch-Block e.printstacktrace (); } catch (unportedenCodingException e) {// todo automatisch generierter Catch-Block e.printstacktrace (); } Return true; }// public void toSendMail(SendMailParam sendMailParam){// MailFileSendUtils email = new MailFileSendUtils(sendMailParam.getSmtp(), sendMailParam.getUsername(), sendMailParam.getPassword());// email.sendMail(sendMailParam.getFrom(), sendMailParam.getTo(), sendmailparam.getSubject (), sendmailparam.getContent (), sendmailparam.getFilepath ()); //} public static void main (String [] args) {String SMTP = "SMTP.ExMail.qq.com"; String username = "E -Mail -Konto senden"; String password = "E -Mail -Passwort senden"; String von = "E -Mail senden"; String [] to = {"E -Mail -Adresse, um E -Mail zu erhalten"}; // String [] copyto = {"CCC -E -Mail -Adresse"}; String -Betreff = "Subjekt 6"; String content = "mail content 6"; String Dateiname = "Angehängte Datei"; MailFileSendutils -E -Mail = neue MailFilesendutils (SMTP, Benutzername, Passwort); // E -Mail.sendmail (von, bis, Copyto, Betreff, Inhalt, Dateiname); E -Mail.Sendmail (von, an, Betreff, Inhalt, Dateiname); }}(Anhang: SSL -Version)
öffentliche Klasse mailfilesendutils {private Eigenschaften Requisiten; // System Property Private Sitzung; // Mail -Sitzungsobjekt private mimemessage mimememsg; // MIME Mail -Objekt Private Multipart MP; // Multipart -Objekt, E -Mail -Inhalt, Titel, Anhang und andere Inhalte werden dazu hinzugefügt, und dann wird das Mimemessage -Objekt generiert/** * Konstruktor * @param */public MailFileSendutils () {props = system.getProperties (); props.put ("mail.smtp.auth", "false"); Session = Session.getDefaultInstance (Props, NULL); Session.setDebug (true); mimememsg = neue Mimemessage (Sitzung); MP = neuer Mimemultipart (); } /** * Konstruktor * @param SMTP Mail sendutils (String SMTP, String -Benutzername, String -Passwort) {Security.addProvider (new com.sun.net.ssl.internal.ssl.provider ()); endgültige String ssl_factory = "javax.net.ssl.sslsocketfactory"; props = system.getProperties (); MailsSlsocketFactory sf = null; try {sf = new MailsSlsocketFactory (); } catch (GeneralSecurityException e) {} Sf.setTrustallHosts (true); props.put ("mail.smtp.auth", "true"); props.put ("mail.smtp.host", SMTP); props.put ("mail.smtp.socketfactory.class", ssl_factory); props.put ("mail.smtp.socketfactory.fallback", "false"); props.put ("mail.smtp.ssl.enable", "true"); props.put ("mail.smtp.port", "465"); props.put ("mail.smtp.ssl.socketfactory", sf); // props.put ("Benutzername", Benutzername); // props.put ("Passwort", Passwort); Session = Session.getInstance (Props, New Authenticator () {@Override Protected PasswordAuthentication getPasswordAuthentication () {Neue PasswordAuthentication zurückgeben (Benutzername, Passwort);}}); Session.setDebug (true); mimememsg = neue Mimemessage (Sitzung); MP = neuer Mimemultipart (); } /*** E -Mail senden* /public boolean sendmail (String von, String [] to, String -Betreff, String -Inhalt, String -Dateiname) {try {// Setzen Sie den Absender mimememsg.setfrom (neue InternetAdress (von)); // Setzen Sie den Empfänger für (int i = 0; i <to.length; i ++) {mimememsg.setRecipients (message } // CC // für (int i = 0; i <copyto.length; i ++) {// mimememsg.setRecipients (message.recipientType.cc, InternetAddress.Parse (Copyto [i]); // Setzen Sie den Text bodypart bp = new mimebodypart (); bp.setContent (Inhalt, "text/html; charSet = utf-8"); mp.addbodypart (BP); // Anhang bp = new mimebodypart (); FieleDataSource -Dateien = new farrEedataSource (Dateiname); bp.setDatahandler (New Datahandler (Abstellungen)); bp.setFileName (mimeutility.encodEText (fileeds.getName (), "utf-8", "b"); mp.addbodypart (BP); Mimemsg.SetContent (MP); mimememsg.savechanges (); // mail 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 ("password")); Transport.SendMessage (Mimemsg, Mimemsg.getRecipients (Message.RecipientType.to)); // transport.sendMessage (mimememsg, mimememsg.getRecipients (Message.RecipientType.cc)); Transport.close (); } else {transport.send (mimememsg); } System.out.println ("Mails erfolgreich gesendet"); } catch (MessagingException e) {e.printstacktrace (); } catch (unportedenCodingException e) {e.printstacktrace (); } Return true; } public boolean tosendmail (sendmailparam sendmailparam) {MailFilesendutils mail = new MailFilesendutils (sendmailparam.getsmtp (), sendmailparam.getUername (), sendmailparam.getPassword ()); E -Mail.Sendmail (sendmailparam.getfrom (), sendmailparam.getto (), sendmailparam.getSubject (), sendmailparam.getContent (), sendmailparam.getFilepath ()); zurückkehren; } // public static void main (String [] args) {// String SMTP = "SMTP.MxHichina.com"; // String username = "E -MailBox"; // String password = "E -Mail -Passwort"; // String von = "Wer sendet"; // String [] an = {"Send an Who"}; "huawei";// String content = "email content 6666";// String filename = "gdt-3583118353-ad-20170823.xls";// MailFileSendUtils email = new MailFileSendUtils(smtp, username, password);//// email.sendMail(from, to, copyto, subject, content, filename);// E -Mail.Sendmail (von, an, Betreff, Inhalt, Dateiname); //}} Im Projekt kommentiere ich die Hauptmethode und verwende dann Tosendmail (sendmailparam sendmailparam).
Das hier definierte Sendmailparam lautet:
öffentliche Klasse SendmailParam {private String SMTP; privater String -Benutzername; privates Zeichenfolgenkennwort; private Zeichenfolge von; // Absender private String [] bis; // Empfänger // String [] Copyright = {"[email protected]"}; private Zeichenfolge Betreff; // E -Mail -Betreff privater Zeichenfolge Inhalt; // E -Mail -Inhalt private Zeichenfolge Filepath; // Pfad, um die Datei public sendmailparam () {this.smtp = "SMTP.Exmail.qq.com"; // Beispiel This.username = "E -Mail -Konto"; this.Password = "E -Mail -Passwort"; this.from = "E -Mail"; this.subject = ""; this.content = ""; this.filepath = ""; } public String getMtp () {return SMTP; } public void setsmtp (String SMTP) {this.smtp = SMTP; } public String getUnername () {return userername; } public void setUnername (String -Benutzername) {this.username = userername; } public String getPassword () {Kennwort zurückgeben; } public void setPassword (String -Passwort) {this.password = password; } public String getfrom () {return from; } public void setfrom (String von) {this.from = from; } public String [] getto () {return to; } public void setto (string [] to) {this.to = to; } public String getUntject () {return thema; } public void setSubject (String -Subjekt) {this.subject = Subjekt; } public String getContent () {return content; } public void setContent (String -Inhalt) {this.content = content; } public String getFilePath () {return filepath; } public void setfilepath (String filepath) {this.filepath = filepath; }}Maven -Abhängigkeitspaket
<Depopenty> <gruppe> javax.mail </Groupid> <artifactId> mail </artifactId> <version> 1.4.7 </Version> </abhängig>
Gradle -Abhängigkeitspaket
Kompilieren Sie "javax.mail: mail: 1.4.7"
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.