O email está na vida cotidiana. Este artigo apresenta principalmente o método de Java de enviar e -mails com base no SMTP. Ele analisa as habilidades relevantes dos e -mails de envio da Java com base no serviço SMTP. Tem certo valor de referência. Amigos que precisam podem se referir a ele.
1. Escreva uma classe MailSendProper para encapsular as propriedades necessárias
importar java.util.properties; public class MailSendProper {Private String host; // porta de sequência privada ip do servidor de correio de envio; // Número da porta do servidor de correio de envio String privada sendAddress; // Endereço do remetente de correio Private String RECEVEDDRESS; // Endereço do destinatário do correio Nome de usuário de string privado; // Faça login para enviar o nome de usuário da caixa de correio; // Faça login para enviar a senha de caixa de correio Private boolean isValidate = true; // se a autenticação é necessária sujeito de sequência privada; // Email Title Private String Content; // Email Content public String getSBject () {Return Assuje; } public void Setsubject (String sujeito) {this.subject = sujeito; } public string getContent () {return content; } public void setContent (String content) {this.content = content; } public string gethost () {return host; } public void sethost (string host) {host = host; } public string getport () {return porta; } public void Setport (porta String) {porta = porta; } public string getSEndAddress () {return sendAddress; } public void setSendAddress (String sendAddress) {sendAddress = sendAddress; } public string getReCeIVEdDress () {return recebeEdDress; } public void setReCeIVeadDress (string receiveaddress) {receiveaddress = receiveaddress; } 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 boolean isisValidate () {return isValidate; } public void setIsValidate (boolean isValidate) {this.isValidate = isValidate; } Propriedades públicas getProperties () {Properties Properties = new Properties (); Properties.put ("Mail.smtp.host", this.host); Properties.put ("Mail.smtp.port", this.port); Propriedades.put ("Mail.smtp.auth", isValidate? "true": "false"); propriedades de retorno; }}2. Escreva um emailMessage para encapsular as informações de envio
classe pública emailMessage {private string title; contexto privado de string; String private ToEmail; public emailMessage () {super (); } public emailMessage (título da string, contexto da string, string toMail) {super (); this.title = title; this.Context = context; this.ToEmail = TOEMAIL; } public string gettitle () {return título; } public void Settitle (título da string) {this.title = title; } public string getContext () {return context; } public void setContext (String context) {this.Context = context; } public string getToEmail () {return toeMail; } public void Settoemail (string toMail) {this.toEmail = TOEMAIL; }}3. Escreva uma classe de verificador de senha de e -mail MailAtTorney
importar javax.mail.authenticator; importar javax.mail.passwordauthentication; public class MailAtttorney estende o autenticador {private string userrName; senha de sequência privada; public MailATTORNEY (Nome de usuário da String, String senha) {this.username = nome de usuário; this.password = senha; } // Substitua a senha protegida protegida getPasswordAthentication () {retorna nova senha da senha (nome de usuário, senha); }}4. Escreva uma classe de ferramenta de correio MailSend
importar java.util.date; importar javax.mail.address; importar javax.mail.message; importar javax.mail.session; importar javax.mail.Transport; import javax.mail.internet.internetDdress; {public static boolean MailTest (MailSendProper MailSender) {Advogado MailAttorney = NULL; if (MailSender.isisValidate ()) {// Determine se a autenticação de identidade é necessária Advogada = new MailAtTorney (MailSender.getUserName (), MailSender.getPassword ()); } // Construa uma sessão de visualização para enviar caixa de correio com base nos atributos da sessão da caixa de correio e no validador de senha. Sessão session = session.getInstance (MailSender.getProperties (), advogado); // Crie uma mensagem de correio com base na mensagem da sessão MailMessage = new Mimemessage (sessão); tente {// Crie o endereço do remetente do endereço da caixa de correio de = new InternetAddress (MailSender.getSendAddress ()); // Defina o remetente da mensagem de correio MailMessage.SetFrom (de); // Crie o endereço para receber isso da mensagem de email e configurá -lo como o endereço da mensagem de email para = new InternetAddress (MailSender.GetReCeIVeadDress ()); MailMessage.SetRecipient (message.recipientType.to, para); MailMessage.SetSubject (MailSender.getSubject ()); // defina o título de correio MailMessage.SetSentDate (new Date ()); // Defina o tempo de envio MailMessage.Settext (MailSender.getContent ()); // defina o correio de conteúdo transport.send (MailMessage); retornar true; } catch (Exceção e) {e.printStackTrace (); retornar falso; }} public estático boolean sendEmail (mensagem de emailMessage) {MailSendProper Mail = new MailSendProper (); Mail.Sethost ("Smtp.126.com"); // Protocolo de transmissão de email simples do SMTP, o número da porta padrão é 25, Mail.SetPort ("25"); Mail.SetIsValidate (true); // requer autenticação Mail.setUserName (""); // Defina o nome de usuário de login Mail.setPassword (""); // Defina a senha do remetente Mail.SetSendAddress (""); // Defina o endereço de envio deste remetente e o nome de usuário do login são o mesmo email.setReCeIVEADDRESS (message.getToEmail ()); // Defina o endereço do destinatário Mail.SetSubject (message.getTitle ()); // defina o título da caixa de correio Mail.setContent (message.getContext ()); // Defina o conteúdo da caixa de correio Return Mailtest (Mail); }}Nota: O endereço de email usado deve estar ativado para que o serviço POP3/SMTP seja enviado com sucesso. Diferentes endereços de email e endereços de email têm diferentes protocolos de transmissão, como:
Email QQ: o protocolo de transmissão SMTP é smtp.qq.com porta 25
O protocolo de transmissão POP3 é pop3.qq.com Porta 110
5. Teste de método de uso
public static void main (string [] args) {emailMessage message = new emailMessage (); String code = string.valueof (math.random ()). Substring (3, 9); // gerar código de código de verificação.Settitle ("Verificação de email"); // email título message.setContext ("Olá, querido usuário, seu código de verificação é"+código+"."); // Envie um e -mail para conteúdo message.setToEmail ("[email protected]"); // quem enviar para system.out.println (MailSend.sendEmail (mensagem)? "SendSuccess": "SendFailed");}Espero que este artigo seja útil para que todos aprendam a programação Java.