Este artigo compartilha o código específico do Java Web STMP enviando e -mails com anexos para sua referência. O conteúdo específico é o seguinte
public class MailFileSendUtils {Propriedades privadas Propas de propriedades; // sessão de sessão privada de propriedade do sistema; // objeto de sessão de correio MIMEMESSAGE MIMEMSG; // Objeto de correio MIME MP MULTUTAR PRIVADO; // Objeto multipart, conteúdo de email, título, anexo e outros conteúdos são adicionados a ele e, em seguida, o objeto Mimemessage é gerado/** * construtor * @param */public MailFileSendUtils () {Props = System.getProperties (); props.put ("Mail.smtp.auth", "false"); session = session.getDefaultInstance (adereços, nulo); session.setDebug (true); MIMEMSG = new Mimemessage (sessão); mp = new Mimemultipart (); } / * * props.put ("Mail.smtp.auth", "true"); props.put ("Mail.smtp.host", smtp); props.put ("nome de usuário", nome de usuário); props.put ("senha", senha); session = session.getDefaultInstance (adereços, nulo); session.setDebug (true); MIMEMSG = new Mimemessage (sessão); mp = new Mimemultipart (); } /*** Enviar email* /public boolean sendmail (string de, string [] para, string sujeito, conteúdo da string, string filename) {try {// Defina o remetente Mimemsg.setFrom (new InternetAddress (de)); // Defina o destinatário para (int i = 0; i <to.Length; i ++) {Mimemsg.SetRecipients (message.recipientType.to, InternetAddress.parse (para [i])); } // Defina cc // para (int i = 0; i <copyto.length; i ++) {// Mimemsg.setRecipients (message.recipientType.cc, internetAddress.parse (copyto [i])); //} // Defina o tópico Mimemsg.SetSubject (sujeito); // defina o texto BodyPart bp = new MimeBodyPart (); bp.setContent (conteúdo, "text/html; charset = utf-8"); mp.addbodypart (BP); // Definir anexo bp = new MimeBodyPart (); Arquivos arquivados de turma = new FileDataSource (nome do arquivo); bp.setDatahandler (New Datahandler (arquivado)); bp.setFilename (Mimeutility.EncodeText (fileds.getName (), "UTF-8", "B")); mp.addbodypart (BP); Mimemsg.SetContent (MP); MIMEMSG.SAVECHANGES (); // Envie email if (props.get ("Mail.smtp.auth"). Equals ("true")) {Transport Transport = session.gettransport ("smtp"); transport.connect ((string) props.get ("Mail.smtp.host"), (string) props.get ("nome de usuário"), (string) props.get ("senha")); Transport.SendMessage (MIMEMSG, MIMEMSG.GETRECIPIENTES (MENSAGEM.RECIPIENTTYPE.TO)); // Transport.sendMessage (MIMEMSG, MIMEMSG.GetRecipients (Message.recipientType.cc)); transport.close (); } else {transport.send (Mimemsg); } System.out.println ("Mail enviando com sucesso"); } Catch (MessagingException e) {// TODO BLOCO DE CAPAGEM AUTOMENTADO E.PRINTSTACKTRACE (); } Catch (UnsupportEdEnCodingException e) {// TODO BLOCO DE CATAGEM AUTOGERATO E.PRINTSTACKTRACE (); } retornar true; } // public void toseendmail (sendmailparam sendmailparam) {// MailFileSendUtils email = new MailFileSendUtils (sendmailparam.getsmtp (), // email.sendMail (sendmailParam.GeTPassword (); sendmailparam.getsubject (), sendmailparam.getContent (), sendmailparam.getFilePath ()); //} public static void main (string [] args) {string smtp = "smtp.exmail.qq.com"; String userName = "Enviar conta de email"; String senha = "Envie a senha de email"; String de = "Enviar email"; String [] para = {"endereço de email para receber email"}; // string [] copyTo = {"endereço de email do CCC"}; String sujeito = "sujeito 6"; String Content = "Conteúdo do correio 6"; String filename = "arquivo anexado"; MailFileSendUtils email = novo MailFileSendUtils (SMTP, nome de usuário, senha); // email.sendmail (de, para, copyto, sujeito, conteúdo, nome do arquivo); email.sendmail (de, para sujeito, conteúdo, nome do arquivo); }}(Anexo: versão SSL)
public class MailFileSendUtils {Propriedades privadas Propas de propriedades; // sessão de sessão privada de propriedade do sistema; // objeto de sessão de correio MIMEMESSAGE MIMEMSG; // Objeto de correio MIME MP MULTUTAR PRIVADO; // Objeto multipart, conteúdo de email, título, anexo e outros conteúdos são adicionados a ele e, em seguida, o objeto Mimemessage é gerado/** * construtor * @param */public MailFileSendUtils () {Props = System.getProperties (); props.put ("Mail.smtp.auth", "false"); session = session.getDefaultInstance (adereços, nulo); session.setDebug (true); MIMEMSG = new Mimemessage (sessão); mp = new Mimemultipart (); } / * * Final String ssl_factory = "javax.net.ssl.sssocktFactory"; Props = System.getProperties (); MailSslSocketFactory sf = null; tente {sf = new MailSslSocketFactory (); } catch (generalalSecurityException 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 ("nome de usuário", nome de usuário); // props.put ("senha", senha); session = session.getInstance (Props, new Authenticator () {@Override Protected PasswordAuthentication getPasswordAtHentication () {return wastwreadAuthentication (nome de usuário, senha);}}); session.setDebug (true); MIMEMSG = new Mimemessage (sessão); mp = new Mimemultipart (); } /*** Enviar email* /public boolean sendmail (string de, string [] para, string sujeito, conteúdo da string, string filename) {try {// Defina o remetente Mimemsg.setFrom (new InternetAddress (de)); // Defina o receptor para (int i = 0; i <to.length; i ++) {Mimemsg.setRecipients (message.recipientType.to, InternetAddress.parse (para [i])); } // Defina cc // para (int i = 0; i <copyto.length; i ++) {// Mimemsg.SetRecipients (message.recipientType.cc, internetAddress.parse (copyTo [i])); //} // definir tópico mimemsg.SetSjject (súdito); // defina o texto BodyPart bp = new MimeBodyPart (); bp.setContent (conteúdo, "text/html; charset = utf-8"); mp.addbodypart (BP); // Definir anexo bp = new MimeBodyPart (); Arquivos arquivados de turma = new FileDataSource (nome do arquivo); bp.setDatahandler (New Datahandler (arquivado)); bp.setFilename (Mimeutility.EncodeText (fileds.getName (), "UTF-8", "B")); mp.addbodypart (BP); Mimemsg.SetContent (MP); MIMEMSG.SAVECHANGES (); // Enviar e -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 ("nome de usuário"), (string) props.get ("senha")); Transport.SendMessage (MIMEMSG, MIMEMSG.GETRECIPIENTS (MENSOW.RECIPIENTTYPE.TO)); // transport.sendMessage (MIMEMSG, MIMEMSG.GETRECIPIENTS (MENSOW.RECIPIENTTYPE.CC)); transport.close (); } else {transport.send (Mimemsg); } System.out.println ("e -mails enviados com sucesso"); } catch (MessagingException e) {E.PrintStackTrace (); } Catch (UnsupportEdEncodingException e) {E.PrintStackTrace (); } retornar true; } public boolean toseendmail (sendmailparam sendmailparam) {MailFileSendUtils email = new MailFileSendUtils (sendmailparam.getsmtp (), sendmailparam.getUsername (), sendmailparam.getpassword ()); email.sendmail (sendmailparam.getFrom (), sendmailparam.getto (), sendmailparam.getSubject (), sendmailparam.getContent (), sendmailparam.getFilePath ()); retornar true; } // public static void main (string [] args) {// string smtp = "smtp.mxhichina.com"; // string userName = "emailBox"; // string senha = "email senha"; // string de = "quem se enviará"; "huawei"; // string content = "conteúdo de email 6666"; // string filename = "gdt-3583118353-ad-20170823.xls"; // e-mailfileSendUtils e-mails = e-mailfilefileSendUtils (smtp, username, senha); ////// e-mails. email.sendmail (de, para sujeito, conteúdo, nome do arquivo); //}} No projeto, comentar o método principal e depois uso o TOSENDMAIL (Sendmailparam sendmailparam).
O sendmailparam definido aqui é:
classe pública sendmailparam {private string smtp; Nome de usuário privado de string; senha de sequência privada; string privada de; // remetente private string [] para; // receptor // string [] copyright = {"[email protected]"}; String private Assunto; // email Assunto Private String Content; // Email Content Private String filepath; // caminho para obter o arquivo público sendmailparam () {this.smtp = "smtp.exmail.qq.com"; // exemplo this.username = "conta de email"; this.password = "Senha de email"; this.from = "email"; this.subject = ""; this.content = ""; this.FilePath = ""; } public String getStmtp () {return smtp; } public void Setsmtp (String smtp) {this.smtp = smtp; } public string getUserName () {return userName; } public void setUserName (string userName) {this.username = nome de usuário; } public string getPassword () {return senha; } public void setPassword (string senha) {this.password = senha; } public string getFrom () {return of; } public void setFrom (string de) {this.from = de; } public String [] getTo () {retornar a; } public void Setto (string [] para) {this.to = para; } public string getSBject () {retornar sujeito; } public void Setsubject (String sujeito) {this.subject = sujeito; } public string getContent () {return content; } public void setContent (String content) {this.content = content; } public string getFilePath () {return filepath; } public void setFilePath (string filepath) {this.FilePath = filepath; }}pacote de dependência do Maven
<Depencency> <GrupidId> javax.mail </frugiD> <stifactId> Mail </ArtifactId> <versão> 1.4.7 </sipers> </dependency>
pacote de dependência gradle
Compilar "Javax.mail: Mail: 1.4.7"
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.