Carregue diretamente o código -fonte:
1. Informações básicas do email (são definidas diretamente para estática se for conveniente)
É melhor ser um Javabean
pacote com.lgf.email; importar java.util.date; classe pública emailMessage { /*** As informações de email podem ser definidas por si mesmo. * Por conveniência, ele está diretamente definido como estático*/ // e -mail a string estática pública para = "[email protected]"; // envie um e -mail para a string estática pública de = "[email protected]"; public static string from_name = "xxx"; // CC public static string cc = "[email protected]"; // Secreto envio de sequência estática pública bcc = "[email protected]"; // Tipo de email Public static string email_content = "text/planagem"; // Título do e -mail public static string email_subject = "Email de teste com javamail"; // Cabeçalho de e -mail Public Static String email_header = "Este é o cabeçalho do email"; // Content public static string email_body = "<a href =/" http://www.baidu.com/ "> este é um órgão de email </a>"; // servidor, por exemplo, qq, pode ser definido como smtp.qq.com String estática pública e -mail_host = "smtp.xxx.com"; // Envie tempo Public Data estática sendDate = new Date (); // é necessário verificar o nome de usuário e a senha public estática booleana validate = true; } 2. Verificação do servidor (que é o nome de usuário e a senha ao fazer login)
pacote com.lgf.email; importar javax.mail.authenticator; importar javax.mail.passwordAuthentication; / ** * Verificação do nome de usuário e senha * @author lgf * */ public class MailAuthenticator estende o autenticator {private string userrername = "xxxxx"; private string senha = "xxxxx"; public MailAuthenticator () {super (); } / *** Defina o nome de usuário e senha autenticados* / public MailAuthenticator (String UserName, String senha) {super (); this.UserName = Nome de usuário; this.password = senha; } Protected passwordAuthentication getPasswordAtHentication () {retorna nova senha etaThentication (this.userName, this.password); }} 3. Configure informações e etapas antes de enviar e -mails
pacote com.lgf.email; importar java.util.properties; importar javax.activation.datahandler; importar javax.activation.dataSource; importar javax.activation.filedataSource; importar javax.mail.address; importar javax.mail.authenticator; importar javax.mail.bodypart; importar javax.mail.message; importar javax.mail.multipart; importar javax.mail.session; importar javax.mail.transport; importar javax.mail.internet.internetaddress; importar javax.mail.internet.mimebodyPart; importar javax.mail.internet.mimemessage; importar javax.mail.internet.mimemultipart; importação com.lgf.sendemail.mailauthenticator; classe pública sendEmail { / *** Enviar correio normal* @THOWSECT Exception* / public void DosendNormalMail () {// Obtenha as propriedades do ambiente do sistema prop = new Properties (); Autenticator auth = null; // Determine se você precisa verificar se (emailMessage.validate) {// o nome de autenticação do servidor de email e o nome de usuário e a senha auth = new MailAuthenticator (); } // Adicione as informações necessárias Prop.put ("Mail.smtp.host", emailmessage.email_host); prop.put ("Mail.smtp.auth", "true"); // Defina a conversa e o servidor de email para sessão de comunicação session = session.getDefaultInstance (prop, auth); // exibe as informações de depuração na sessão do console.setDebug (true); // Defina a mensagem do objeto de email mensagem = new Mimemessage (sessão); tente {// Defina o email message.SetSubject (emailMessage.email_subject); // Defina a mensagem de título de email.setheader ("Header", emailMessage.email_header); // defina a mensagem de tempo de envio.setsentDate (emailMessage.senddate); // Defina o endereço do remetente e endereço do nome do nome = new InternetAddress (emailMessage.From, emailMessage.from_name); // Adicionar informações do remetente ao message.setFrom (endereço); // Defina o endereço do remetente Toaddress = new InternetAddress (emailMessage.to); // defina o endereço do destinatário message.setRecipient (message.recipientType.to, toaddress); // Defina vários endereços de destinatários // message.addrecipient (message.recipientType.to, new InternetAddress ("[email protected]")); // defina o formato de email message.setContent ("Content", emailMessage.email_content); // Definir o conteúdo do email deve ser message.Settext (emailMessage.email_body); // Defina o conteúdo da mensagem após a mensagem do formato do arquivo.settext (emailMessage.email_body); // Salvar as informações adicionadas acima message.SaveChanges (); // Enviar Mail System.out.println ("SendNormalEmail () Iniciar o envio de email ..."); Transport.send (mensagem); System.out.println ("Envie com sucesso!"); } catch (Exceção e) {System.out.println ("Error"); E.PrintStackTrace (); }} / *** Envie email formatado HTML* / public void Dosendhtmlmail () {// Obtenha as Propriedades do Ambiente do Sistema Prop = new Properties (); Autenticator auth = null; if (emailMessage.validate) {// Authentication de autenticação do servidor de email Nome de usuário e senha auth = new MailAuthenticator (); } // Adicione as informações necessárias Prop.put ("Mail.smtp.host", emailmessage.email_host); prop.put ("Mail.smtp.auth", "true"); // Configure conversas e servidores de email para sessão de comunicação session = session.getDefaultInstance (prop, auth); // Defina mensagem do objeto de email mensagem = new Mimemessage (sessão); tente {// Defina o email message.SetSubject (emailMessage.email_subject); // Defina a mensagem de título de email.setheader ("Header", emailMessage.email_header); // defina a mensagem de tempo de envio.setsentDate (emailMessage.senddate); // Defina o endereço do remetente e endereço do nome do nome = new InternetAddress (emailMessage.From, emailMessage.from_name); // Adicionar informações do remetente ao message.setFrom (endereço); // Defina o endereço do remetente Toaddress = new InternetAddress (emailMessage.to); // defina o endereço do destinatário message.setRecipient (message.recipientType.to, toaddress); // Defina vários endereços de destinatários // message.addrecipient (message.recipientType.to, new InternetAddress ("[email protected]")); // Defina o conteúdo da mensagem de envio como envio hmml // Defina o formato de email emailMessage.email_content = "text/html; charset = utf-8"; message.setContent (emailMessage.email_body, emailmessage.email_content); // Salvar as informações adicionadas acima message.SaveChanges (); // Enviar Mail System.out.println ("Dosendhtmlmail () Iniciar o envio de email ..."); Transport.send (mensagem); System.out.println ("Envie com sucesso!"); } catch (Exceção e) {System.out.println ("Error"); E.PrintStackTrace (); }} / *** Enviar e -mail com formato de anexo* / public void DosendattachmentMail () {// Obtenha as propriedades do ambiente do sistema prop = new Properties (); Autenticator auth = null; if (emailMessage.validate) {// Authentication de autenticação do servidor de email Nome de usuário e senha auth = new MailAuthenticator (); } // Adicione as informações necessárias Prop.put ("Mail.smtp.host", emailmessage.email_host); prop.put ("Mail.smtp.auth", "true"); // Configure conversas e servidores de email para sessão de comunicação session = session.getDefaultInstance (prop, auth); // Defina mensagem do objeto de email mensagem = new Mimemessage (sessão); tente {// Defina o email message.SetSubject (emailMessage.email_subject); // Defina a mensagem de título de email.setheader ("Header", emailMessage.email_header); // defina a mensagem de tempo de envio.setsentDate (emailMessage.senddate); // Defina o endereço do remetente e endereço do nome do nome = new InternetAddress (emailMessage.From, emailMessage.from_name); // Adicionar informações do remetente ao message.setFrom (endereço); // Defina o endereço do remetente Toaddress = new InternetAddress (emailMessage.to); // defina o endereço do destinatário message.setRecipient (message.recipientType.to, toaddress); // Defina vários endereços de destinatários // message.addrecipient (message.recipientType.to, new InternetAddress ("[email protected]")); // Defina o conteúdo da mensagem de envio abaixo está a mensagem de anexo de envio.SETCONTENT (emailMessage.email_body, emailMessage.email_content); BodyPart messageBodyPart = new MimeBodyPart (); messageBodyPart.Settext ("BodyPart"); Multipart multipart = new Mimemultipart (); multipart.addbodyPart (MessageBodyPart); messageBodyPart = new MimeBodyPart (); // Configure a fonte de origem do recurso carregada = new FileDataSource ("e: //3.doc"); // Adicionar ao messageBodyPart.SetDatahandler (new Datahandler (fonte)); // Defina o nome do arquivo, lembre -se do nome do sufixo messageBodyPart.SetFilename ("test.doc"); multipart.addbodyPart (MessageBodyPart); message.setContent (multipart); // Salvar as informações adicionadas acima message.SaveChanges (); // Enviar Mail System.out.println ("DosendattachmentMail () Start Enviar Email ..."); Transport.send (mensagem); System.out.println ("Sendsuccessoly!"); } catch (Exceção e) {System.out.println ("Error"); E.PrintStackTrace (); }} / ** * @param args * / public static void main (string [] args) {// new sendemail (). DosendNormalmail (); // novo sendEmail (). Dosendhtmlmail (); novo sendEmail (). DosendattachmentMail (); }}O exposto acima é o código detalhado para Java enviando email javax.mail. Espero que seja útil para todos implementar o envio de e -mail Java.