O que é bota de primavera
O Spring Boot é uma estrutura projetada para simplificar o processo inicial de configuração e desenvolvimento de construção de aplicações de mola. Essa estrutura usa métodos de configuração específicos, para que os desenvolvedores não precisem definir configurações de caldeira.
Os benefícios da bota da primavera
1. Configuração simples;
2. Codificação simples;
3. implantação simples;
4. Monitoramento simples;
Visão geral
A Spring Boot integra um servidor de email e o uso da Spring Boot pode facilmente obter o envio de email; Classifique o recente envio de e -mail e precauções para a inicialização da primavera;
Dependências do pacote Maven
<Depencency> <PuerpId> org.springframework.boot </frugiD> <TRATIFACTID> Spring-boot-starter-Mail </ArtifactId> </Dependency>
Configuração da inicialização da primavera
spring.mail.host = smtp.servie.comspring.mail.username = nome de usuário // Endereço de email do remetente spring.mail.password = senha // para caixa de correio qq, a senha se refere ao código de autorização do remetente spring.mail.properties.mail.smtp.auth = Truespring.mail.mail.mail.mail.mail.smtp.mtp. #Se para ativar a transmissão criptografada, use o item de verificação do protocolo spring.mail.properties.mail.smtp.starttls.required = fasle #whester para ativar a transmissão criptografada.
Implementação do código da primavera
pacote com.dbgo.webServicedemo.email; importar org.springframework.beans.factory.annotation.autowired; importar org.springframework.core.io.filesystemResource; importação org.springframework.mail.javamail.javamailsender; org.springframework.mail.javamail.mimemessageHelper; importar org.springframework.tereotype.component; importar javax.mail.messagingException; import javax.mail.internet.mimemessage; importar) Javamailsender; public void sendSimpleMail () {MIMEMESSAGE MENSAGE = NULL; tente {message = javamailsender.createmimemessage (); MimemessageHelper Helper = New MimemessageHelper (Mensagem, True); helper.setFrom ("[email protected]"); helper.setto ("[email protected]"); Helper.SetSubject ("Título: Enviar conteúdo HTML"); StringBuffer sb = new StringBuffer (); sb.append ("<h1> title grande-h1 </h1>") .append ("<p style = 'cor:#f00'> palavra vermelha </p>") .append ("<p style = 'text-align: direita'> direita </p>"); helper.Settext (sb.toString (), true); FilesystemResource fileSystemResource = new FileSystemResource (novo arquivo ("d: /76678.pdf")) helper.addattachment ("fatura eletrônica", fileSystemResource); javamailsender.send (mensagem); } catch (MessagingException e) {E.PrintStackTrace (); }}}Envie e-mails sob a inicialização da primavera:
Dependências do pacote Maven
<Dependences> <pendency> <voundid> com.sun.mail </foupidId> <ArtifactId> javax.mail </artifactId> <versão> 1.5.2 </versão </dependency> </dependências>
Exemplo de código Demo1
pacote com.justin.framework.core.utils.email; importar java.io.file; importar java.io.fileInputStream; importar java.io.filenotfoundException; import java.io.fileoutStream; import java.io.ioxception; import java.io.IlutSTream; Java.util.date; importar java.util.properties; importar javax.Activation.datahandler; importar javax.activation.datasource; importar javax.activation.filedataSource; import javax.mail.address; importMax.; javax.mail.message.recipientType; importar javax.mail.message.recipientType; importar javax.mail.messagingException; importar javax.mail.mail.tansportmatication; importação; javax.mail.internet.mimebodypart; importar javax.mail.internet.mimemessage; importar javax.mail.internet.mimemultipart; importar javax.mail.internet.mimeutility;/*** Use o protocol smorl para enviar email*/public sendeMailcode: // SMTP Mail Server Private final Static String host = "Mail.tdb.com"; // Smtp Mail Server Padrate Port Private Final Static String Port = "25"; // se deve exigir autenticação private final estática string is_auth = "true"; // se deve habilitar o modo de depuração (Ativar o modo de depuração para imprimir a mensagem de resposta de uma pergunta e responder quando o cliente e o servidor interagem) private Static String is_enabled_debug_mod = "true"; // String estática privada do remetente de = "[email protected]"; // String estática privada do destinatário para = "[email protected]"; String estática privada sendUserName = "[email protected]"; String estática privada sendUserpwd = "new*2016"; // Inicialize as informações da sessão que se conectam ao servidor de correio Propriedades estáticas privadas Props = NULL; estático {props = new Properties (); props.setProperty ("Mail.enable", "True"); props.setProperty ("Mail.transport.protocol", protocolo); props.setProperty ("Mail.smtp.host", host); props.setProperty ("Mail.smtp.port", porta); props.setProperty ("Mail.smtp.auth", is_auth); // dependendo da situação, props.setProperty ("Mail.debug", is_enabled_debug_mod); } / *** Enviar e -mail simples e correio* / public estático boolean sendTextMail (string para, int code) lança Exceção {try {// Criar session Instância do objeto session1 = session.getDefaultInstance (props); // Crie MIMEMESSAGE Instância do objeto MIMEMESSAGE MENSAGEM = NOVA MIMEMESSAGE (SESSÃO1); // Defina o remessamento do remetente.SetFrom (new InternetAddress (de)); // Defina a mensagem de assunto do e -mail. // Defina a mensagem do destinatário.SetRecipient (receptorype.to, novo internetddress (to)); // Defina a mensagem de envio do tempo.SetSentDate (new Date ()); // Defina o conteúdo do texto simples como a mensagem de texto de email.settext ("Seu código de verificação é:"+código+"! O código de verificação é válido por 10 minutos. Por favor, receba novamente depois que ele expirar!"+"Sociedade de mecanismo de combustão interna da China"); // salvar e gerar a mensagem final de conteúdo de email.saveChanges (); // Obtenha o transporte de transporte de objeto de instância de transporte = session1.getTransport (); // Abra o Connection Transport.Connect ("Meijiajiang2016", ""); // passa o objeto de mensagem para o objeto de transporte e envie a mensagem transport.sendMessage (message, message.getAllRecipients ()); // fechar o conexão transport.close (); retornar true; } catch (Exceção e) {e.printStackTrace (); retornar falso; }} public static void main (string [] args) lança Exceção {sendHtmlemail ("[email protected]", 8888); } / *** Envie um email html simples* / public estático boolean sendhtmlemail (string para, int code) lança a exceção {// crie session objeto instância session1 = session.getInstance (props, new myauthenticator ()); // Crie MIMEMESSAGE Instância do objeto MIMEMESSAGE MENSAGEM = NOVA MIMEMESSAGE (SESSÃO1); // Defina a mensagem de assunto do e -mail.SetSubject ("Registro do mecanismo de combustão interna"); // Definir mensagem do remessamento do remetente (new InternetRdress (de)); // defina envio de tempo message.setsEntDate (new Date ()); // Definir Message.setRecipients (receptorype.to, InternetAddress.Parse (to)); // Defina o conteúdo HTML no corpo de email, especifique o tipo MIME como TIPO TEXT/HTML e especifique o caractere que codifica como GBK message.setContent ("<Div Style = 'Width: 600px; Margin: 0 Auto'> <H3 Style = 'cor:#003e64; text-align: <Centro'> Interna '> <H3 Style =' cor:#003e64; text-align: center; '> interna> Caro Usuário: </p> <P Style = 'TEXT-INDENTE: 2EM'> você está registrando uma conta de combustão interna. Sociedade </p> </div> "," text/html; charset = utf-8 "); // defina o apelido de remetente personalizado string nick = ""; tente {nick = javax.mail.internet.mimeutility.encodeText ("China Internal Combustion Engine Society"); } Catch (UnsupportEdEncodingException e) {E.PrintStackTrace (); } message.setFrom (new InternetAddress (nick+"<"+de+">")); // salvar e gerar a mensagem final de conteúdo de email.saveChanges (); // Enviar email, tente {transport.send (mensagem); retornar true; } catch (Exceção e) {e.printStackTrace (); retornar falso; }} / *** Envie HTML Mail com imagens incorporadas* / public static void sendHtmlwithinnerImageEmail () lança MessagingException {// Crie a sessão de sessões de objeto session = session.getDefaultInstance (props, new MyAuthenticator ()); // Crie email Content Mimemessage Message = new Mimemessage (sessão); // Assunto do correio e especifique o formato de codificação message.SetSubject ("HTML Mail com imagens incorporadas", "UTF-8"); // remessa de remessa.setFrom (new InternetAddress (de)); // Message.setRecipients (receptorype.to, InternetAddress.Parse (to)); // cc message.setRecipient (receptorype.cc, new InternetAddress ("[email protected]")); // Secret Send (não exibido na lista de destinatários de email) message.setRecipient (receptorype.bcc, new InternetAddress ("[email protected]")); // Enviar time message.setsEntDate (new Date ()); // Crie um objeto Mimemultipart com subtipo MIME "Relacionado" Mimemultipart MP = new Mimemultipart ("Relacionado"); // Crie um objeto MimeBodyPart representando o corpo e adicione -o ao objeto Mimemultipart criado anteriormente MimeBodyPart htmlPart = new MimeBodyPart (); mp.addbodypart (htmlPart); // Crie um objeto MimeBodyPart representando recursos de imagem e adicione -o ao objeto Mimemultipart criado anteriormente MimeBodyPart ImagePart = new MimebodyPart (); mp.addbodyPart (ImagePart); // Defina o objeto Mimemultipart com o conteúdo de toda a mensagem da mensagem.SetContent (MP); // Defina a imagem incorporada DataSource DataSource DS = new FileDataSource (novo arquivo ("Resource/Firefoxlogo.png"); Datahandler DH = new Datahandler (DS); ImagePart.SetDatahandler (DH); ImagePart.setContentId ("Firefoxlogo.png"); // Defina o número de conteúdo a ser usado para outras referências do corpo de email // Crie um objeto Mimemultipart com o subtipo MIME "Alternative" e sirva como o conteúdo de email do objeto HTMLPart criado anteriormente Mimemultipart htmlmultipart = new Mimemultipart ("Alternative"); // Crie um objeto MimeBodyPart representando o corpo HTML MimeBodyPart htmlBodyPart = new MimeBodyPart (); // onde Cid = Androidlogo.gif é a imagem dentro da mensagem de referência, ou seja, ImagePart.setContentId ("Androidlogo.gif"); método htmlbodypart.setContent ("<span style = 'cor: vermelho;'> Este é um email html com imagens incorporadas !!! <img src =/" cid: firefoxlogo.png/"/> </span>", "text/html; charset = utf-8"); htmlmultipart.addbodypart (htmlbodypart); htmlpart.setContent (htmlmultipart); // salvar e gerar a mensagem final de conteúdo de email.saveChanges (); // Enviar correio transport.send (mensagem); } / *** Envie uma mensagem HTML completa com imagens incorporadas, anexos, vários destinatários (exibindo o nome da caixa de correio), prioridade por e-mail e recibo de leitura* / public static void sendmultiLeeMail () lança exceção {string charset = "utf-8"; // Especifique o formato de codificação chinês // Crie sessão de objeto de instância session session = session.getInstance (props, new myauthenticator ()); // Crie MIMEMESSAGE Instância do objeto MIMEMESSAGE MENSAGE = new Mimemessage (sessão); // Defina a mensagem do tópico.SetSubject ("Use Javamail para enviar teste de correio combinado misto"); // Defina o remessamento do remetente do remetente (novo internetDresco (de, "Sina Teste Email", Charset)); // Definir Message.setRecipients (RECENCEIROTYPE.TO, NOVO ENDEREÇO [] {// Parâmetro 1: Endereço de email, Parâmetro 2: Nome (somente o nome é exibido no cliente que recebe, não o endereço de email), parâmetro 3: Nome string chinês que codifica o novo InternetAddress ("[email protected]" Zhang, Zhang String Sank Sann InternetAddress ("[email protected]", "li si_163", charset),}); // Definir CC Message.SetRecipient (receptorype.cc, new InternetAddress ("[email protected]", "wang wu_gmail", charset)); // Definir Message.setRecipient (receptorype.bcc, new InternetAddress ("[email protected]", "zhao liu_qq", charset)); // defina envio de tempo message.setsEntDate (new Date ()); // Defina o resposta (o destinatário padrão é fornecido quando o destinatário responde a este email) message.setReplyTo (InternetAddress.Parse ("/" " + Mimeutility.Encodetext (" Tian Qi ") +"/"<[email protected]"); // Defina prioridade (1: Emergência 3: Normal 5: Low) message.setheader ("X-prioridade", "1"); // Solicite um recibo de leitura (o destinatário solicitará que o remetente responda ao ler o email, indicando que o email foi recebido e foi lido) Mensagem.setheader ("Disposição-notificação-to", de); // Crie um objeto Mimemultipart com o subtipo MIME "MIXED", indicando que este é um tipo de email de combinação misto Mimemultipart MailContent = new Mimemultipart ("Mixed"); message.setContent (MailContent); // anexo MimeBodyPart Anex1 = new MimeBodyPart (); MimeBodyPart Anex2 = new MimeBodyPart (); // Conteúdo MimeBodyPart Mailbody = new MimeBodyPart (); // Adicione anexo e conteúdo ao correio em correio.addbodypart (anexo1); MailContent.addbodyPart (Anex2); MailContent.AddbodyPart (Correio); // Anexo 1 (use a estrutura JAF para gerar o corpo de correio) DataSource DS1 = new FileDataSource ("Resource/Earth.bmp"); Datahandler dh1 = new Datahandler (DS1); Anex1.setFilename (Mimeutility.EncodeText ("Earth.bmp")); anexe1.setDatahandler (DH1); // Anexo 2 DataSource DS2 = new FileDataSource ("Recurso/Como aprender C Language Well.txt"); Datahandler dh2 = new Datahandler (DS2); anex2.setDatahandler (DH2); ATCHEL2.SETFILENAME (Mimeutility.EncodeText ("Como aprender a idioma c bem.txt")); // Corpo de email (imagem incorporada + texto html) Mimemultipart Body = new Mimemultipart ("Relacionado"); // O corpo de email também é uma combinação, e o relacionamento combinado precisa ser especificado emailbody.setContent (corpo); // O corpo de email consiste em html e imagens mimebodypart imgPart = new MimeBodyPart (); MimeBodyPart htmlPart = new MimeBodyPart (); body.adddbodyPart (imgPart); body.adddbodyPart (htmlPart); // DataSource da imagem da imagem de texto ds3 = new FileDataSource ("Resource/Firefoxlogo.png"); Datahandler DH3 = novo Datahandler (DS3); imgpart.setDatahandler (DH3); imgpart.setContentId ("firefoxlogo.png"); // html email Conteúdo Mimemultipart htmlmultipart = new Mimemultipart ("Alternative"); htmlpart.setContent (htmlmultipart); MimeBodyPart htmlContent = new MimeBodyPart (); htmlcontent.setContent ("<span style = 'cor: vermelho'> Este é o email que enviei com o java e -mail! htmlmultipart.addbodypart (htmlContent); // salve o conteúdo da mensagem e modifique message.saveChanges (); /*Arquivo emml = buildemlfile (mensagem); sendmailforeml (EML);*/ // Envie Mail Transport.send (mensagem); }/*** Gere um arquivo EML para o conteúdo de email* @param mensagem email Content*/public static file Buildemlfile (mensagem Mensagem) lança mensagens de MessagingException, filenotfoundException, ioexception {arquivo file = novo arquivo ("c: //" + mimeutility.decodeText (message.getSubject ()) +. message.writEto (new FileOutputStream (FILE)); arquivo de retorno; } / *** Enviar arquivo de email gerado localmente* / public static void sendmailforeml (arquivo emml) lança a exceção {// obtenha sessão de sessão de e -mail session = session.getInstance (props, new myauthenticator ()); // Obtenha conteúdo de email, ou seja, o arquivo EML gerado antes de ocorrer inputStream is = new FileInputStream (EML); Mensagem Mimemessage = New Mimemessage (sessão, IS); // Envie o email transport.send (mensagem); } / *** Envie informações de autenticação ao servidor de email* / classe estática myauthenticator estende o autenticador {private string userrername = ""; private string senha = ""; public myauthenticator () {super (); this.password = sendUserpwd; this.UserName = sendUserName; } public myauthenticator (nome de usuário da string, senha de string) {super (); this.UserName = Nome de usuário; this.password = senha; } @Override Protected PasswordAuthentication getPasswordAuthentication () {Return New PasswordAuthentication (nome de usuário, senha); }}}
Exemplo de código Demo2:
pacote com.justin.framework.core.utils.email; importar java.util.hashset; importar java.util.properties; importar java.util.set; import javax.activation.datahandler; import javax.activation.filed.filatece; import.mailfled; javax.mail.message; importar javax.mail.multipart; importar javax.mail.session; importar javax.mail.Transport; importar javax.mail.internet.internetaddress; import javax.mail.internet.mimepodyPart; importação javax.mail; javax.mail.internet.mimemultipart; importar javax.mail.internet.mimeutility; public class MailManagerutils {// Envie email public static boolean sendmail (email email) {string steden = e -mail.getSubject (); String content = email.getContent (); String [] recruits = email.getRecievers (); String [] Copyright = email.getCopyTo (); String attBody = email.getAttBody (); String [] attBodys = email.getAttBodys (); if (recievers == null || collecters.length <= 0) {return false; } tente {Properties props = new Properties (); props.setProperty ("Mail.enable", "True"); props.setProperty ("Mail.protocal", "SMTP"); props.setProperty ("Mail.smtp.auth", "true"); props.setProperty ("Mail.User", "[email protected]"); props.setProperty ("Mail.pass", "New ***"); Props.SetProperty ("Mail.smtp.host", "Mail.tdb.com"); props.setProperty ("Mail.smtp.from", "[email protected]"); props.setProperty ("Mail.smtp.FromName", "TDBVC"); // Crie um programa para se comunicar com a sessão do servidor de correio MailConnection = session.getInstance (adereços, nulo); Mensagem msg = new Mimemessage (MailConnection); // Defina o remetente do remetente do remetente e do destinatário = new InternetAddress (props.getProperty ("Mail.smtp.from")); // múltiplos destinatários msg.setFrom (remetente); SET <LeetAddress> touserset = new HashSet <LeetAddress> (); // Validade da caixa de correio Validação para (int i = 0; i <receptores.Length; i ++) {if (Recievers [i] .Trim (). Matches ("^// W+([-+.] // w+)*@// w+([-.] //+)+$)) {touserSt.ad.d ( }} msg.setRecipients (message.recipientType.to, touserset.toArray (novo internetDress [0])); // Definir cc if (copyTo! = Null) {Set <ConetAddress> copyTouset = new HashSet <LeetAddress> (); // Validade de email válida para (int i = 0; i <copyTo.Length; i ++) {if (copyTo [i] .Trim (). Matches ("^// W+([-+.] // W+)*@// w+([-.] // W+)+$") {copyToserSet.add ([-. }} // msg.setRecipients (message.recipientType.cc, (endereço []) internetAddress.parse (copyto)); msg.setRecipients (message.recipientType.cc, copyTouset.toArray (new InternetAddress [0])); } // Defina o assunto de email msg.setsubject (Mimeutility.EncodeText (sujeito, "UTF-8", "B")); // Chineses Glebled Code Problem // Defina o conteúdo de email BodyPart messageBodyPart = new MimeBodyPart (); MessageBodyPart.SetContent (Content, "Text/html; charset = utf-8"); // Multipart de Multipart Chineses = New Mimemultipart (); multipart.addbodyPart (MessageBodyPart); msg.setContent (multipart); / ***************************************** para (string filepath: filepath) {// Defina o anexo da letra (use o arquivo na máquina local como anexo) MDP do corpo) MDP = new MimeBodyPart (); FILEDATASOURCE FDS = new FileDatasource (filepath); Datahandler DH = new Datahandler (FDS); mdp.setFilename (Mimeutility.EncodeText (fds.getName ())); mdp.setDatahandler (DH); multipart.addbodyPart (MDP); } // Coloque o MTP como o conteúdo do objeto de mensagem msg.setContent (multipart); }; if (attbodys! = null) {for (string filepath: Attbodys) {// Defina o anexo da letra (use o arquivo na máquina local como anexo) MDP do BodyPart = new MimeBodyPart (); FILEDATASOURCE FDS = new FileDatasource (filepath); Datahandler DH = new Datahandler (FDS); mdp.setFilename (Mimeutility.EncodeText (fds.getName ())); mdp.setDatahandler (DH); multipart.addbodyPart (MDP); } // Coloque o MTP como o conteúdo do objeto de mensagem msg.setContent (multipart); }; /*************************************************** System.out.println ("Enviar email ..."); Transferência de transporte = MailConnection.GetTransport (Props.getProperty ("Mail.protocal")); // Nome do servidor de email, nome de usuário, senha trans.connect (props.getProperty ("Mail.smtp.host"), props.getProperty ("Mail.user"), props.getProperty ("Mail.pass"); trans.sendMessage (msg, msg.getAllRecipients ()); System.out.println ("Envie e -mail com sucesso!"); // Fechar o canal if (trans.isconnected ()) {trans.close (); } retornar true; } catch (Exceção e) {System.err.println ("Email Send Faille!" + E); retornar falso; } finalmente {}} // O remetente, o destinatário e o titular da resposta possuíam código chinês no email, res é o endereço obtido // o método de codificação padrão de http é iso8859_1 // para envio de endereços que contêm chinês, use o MIMEUTILIDADE. getChineseFrom (String res) {string de = res; tente {if (from.startswith ("=? gb") || de.startswith ("=? gb") || de.startswith ("=? utf")) {de = mimeutility.DecodeText (de); } else {de = new String (de.getBytes ("ISO8859_1"), "GBK"); }} catch (Exceção e) {e.printStackTrace (); } retornar de; } // Converta para GBK que codifica a string estática pública tochinese (string strvalue) {try {if (strvalue == null) retornar null; else {strvalue = new String (strvalue.getBytes ("iso8859_1"), "gbk"); retornar strvalue; }} catch (Exceção e) {return null; }} public static void main (string [] args) {email email = new email (); Email.SetRecievers (new String [] {"[email protected]"}); email.SetSubject ("teste de teste"); email.setContent ("teste de teste"); sendmail (email); }}Resumir
O acima é o conteúdo inteiro deste artigo. Espero que o conteúdo deste artigo tenha certo valor de referência para o estudo ou trabalho de todos. Se você tiver alguma dúvida, pode deixar uma mensagem para se comunicar. Obrigado pelo seu apoio ao wulin.com.