Quando geralmente entramos on -line, geralmente usamos o registro do site. Existem muitos métodos, como enviar mensagens de texto para verificar e enviar mensagens de email. Recentemente, sob a estrutura SSH, foi feito um link de ativação de email simples na caixa de correio e, em seguida, ativar uma função de registrar usuários. O MailServer que estou usando é um servidor de correio fácil, que se refere ao pacote javax.mail.jar. Como o nome sugere, o Javamail fornece aos desenvolvedores interfaces de programação relacionadas ao processamento de e -mails. É uma API lançada pela Sun para lidar com o email. Ele pode executar convenientemente algumas transferências de email comumente usadas.
【Categorias comuns Introdução】
Aqui estão algumas classes comumente usadas, deixe -me apresentá -las a você:
【Authenticator】
Esta é uma classe abstrata que acessa os recursos protegidos por meio de nome de usuário e senha, que são servidores de correio. Após a conclusão da criação, o autenticador deve ser registrado na sessão. Então, quando a autenticação for necessária, o autenticador será notificado.
【Mensagem】
Esta é uma classe abstrata para criar mensagens a serem enviadas, como tópicos e conteúdo. Deve haver uma subclasse para implementar o método.
【Sessão】
A aula de sessão define uma sessão de correio básica, que é a classe de entrada de mais alto nível da API Java Mail. Todas as outras classes são eficazes apenas com esta sessão. Os objetos de sessão usam os objetos java.util.properties para obter informações, como servidor de correio, nome de usuário, senha e outras informações compartilhadas em todo o aplicativo. Esta aula de sessão representa uma sessão de correio no Javamail. Cada aplicativo baseado em Javamail tem pelo menos uma sessão, mas pode ter o maior número possível de sessões.
Sessão sendmailSession;
sendmailSession = session.getInstance (adereços, nulo);
【Transporte】
A última parte do envio de mensagens é usar a classe de transporte. Esta classe envia mensagens no idioma especificado pelo protocolo (geralmente SMTP). É uma classe abstrata e funciona de maneira semelhante à sessão. Ao chamar o método estático send (), a versão padrão da classe pode ser usada: transport.send (mensagem). Como alternativa, os leitores podem obter uma instância específica de uma sessão contra seu próprio protocolo, passar o nome de usuário e a senha (se não forem necessários), enviar uma mensagem e fechar a conexão.
【Implementação de código】
Classe de ferramentas de correio:
pacote cn.itcast.shop.utils; importar java.util.properties; importar javax.mail.authenticator; importar javax.mail.message; importar javax.mail.message.recipientType; importar javax.mail.message.recipientType; importar javax.mail.messagingException; importar javax.mail.passwordAuthentication; importar javax.mail.session; importar javax.mail.transport; importar javax.mail.internet.addressException; importar javax.mail.internet.internetaddress; importar javax.mail.internet.mimemessage; / ** * Classe de ferramenta de envio de correio * @Author Zhouzhou * @Date 2016-1-1 * @Time 08:52:47 */ public class Mailuitls {public static void sendmail (string para, string code) {/ ** ** * 1. REGUNHA * 2. Crie uma mensagem de objeto de correio de código * 3. props.setProperty ("Mail.host", "localhost"); Sessão session = session.getDefaultInstance (Props, new Authenticator () {@Override Protected PasswordAthentication getPasswordAuthentication () {// TODO Método Auto-Gerado Retorna New PasswedAthantication ("[email protected]", "111");}}); // 2. Crie uma mensagem de envio de e -mail mensagem de objeto = new Mimemessage (sessão); // 3. Defina o remetente tente {message.setFrom (new InternetAddress ("[email protected]")); // defina a mensagem do destinatário.addrecipient (receptorype.to, novo internetddress (to)); // Título Message.SetSubject ("Email de ativação oficial do Zhouzhou Mall"); message.setContent ("<H1> e -mail oficial de ativação do shopping Azz! Clique no link abaixo para concluir a operação de ativação! </h1> <h3> <a href = 'http: //192.168.21.114: 8080/shop/user_active.action? code = "+code+"'> http://192.168.21.114:8080/shop/user_action.action?code= "+code+" </a> // 3. Envie email: transport.send (mensagem); } catch (endereço e) {// TODO BLOCO DE CAPAÇÃO AUTOMENTADO E.PRINTSTACKTRACE (); } Catch (MessagingException e) {// TODO BLOCO DE CAPAGEM AUTOMENTADO E.PRINTSTACKTRACE (); }} public static void main (string [] args) {sendmail ("[email protected]", "seu código de ativação é AZZ19931016"); }} A camada comercial do usuário chama essa classe ao registrar e usa o método Sendmail.
pacote cn.itcast.shop.user.service; importar org.springframework.transaction.annotation.transaction; importar cn.itcast.shop.user.dao.userdao; importar cn.itcast.shop.user.vo.user; importar cn.itcast.shop.utils.mailuitls; importar cn.itcast.shop.utils.uuidutils; // camada de negócios @transaction public class UserService {// Instalando o método para consultar o usuário pelo nome de usuário privado userdao userdao; public void setUserdao (userdao userdao) {this.userdao = userdao; } public user findbyusername (string userName) {return userdao.findbyusername (nome de usuário); } // Camada de negócios: registro completo do usuário public void Salvar (usuário do usuário) {// TODO Método Auto-Gerado Stub // Salvar dados no banco de dados User.SetState (0); // 1 foi ativado, 0 não foi ativado Código de String = uuidutils.eGuuId ()+uuUidutils.getuUid (); user.setCode (código); userdao.save (usuário); // Enviar email de ativação; Mailuitls.sendmail (user.getEmail (), código); } // A camada de negócios consulta o usuário com base no código de ativação public user findbycode (código da string) {return userdao.findbycode (code); } // Método para modificar o status do usuário public void update (usuário existuser) {userdao.update (existuser); } // Método para fazer login público Login do usuário (usuário do usuário) {return userdao.login (usuário); }}Finalmente, esse efeito foi alcançado:
O exposto acima é tudo sobre este artigo, espero que seja útil para o aprendizado de todos.