El correo electrónico está en la vida diaria. Este artículo presenta principalmente el método de Java para enviar correos electrónicos basados en SMTP. Analiza las habilidades relevantes del envío de correos electrónicos de Java basados en el servicio SMTP. Tiene cierto valor de referencia. Los amigos que lo necesitan pueden referirse a él.
1. Escribe una clase MailSendProper para encapsular las propiedades requeridas
import java.util.properties; public class MailSendProper {Private String Host; // puerto de cadena privada IP del servidor de correo de envío; // Número de puerto de la cadena privada del servidor de correo de envío SendAddress; // Dirección del remitente de correo de correo ReceptiveDdress; // Enviar la dirección del destinatario de la cadena privada Nombre de usuario; // Iniciar sesión en el envío de nombre de usuario del buzón; // Iniciar sesión en el envío de contraseña de buzón boolean privado isValidate = true; // si se requiere autenticación sujeto de cadena privada; // Título de correo electrónico Contenido de cadena privada; // Correo electrónico Contenido público String getSubject () {return Sujem; } public void setSubject (string stem) {this.subject = saters; } public String getContent () {return content; } public void setContent (contenido de cadena) {this.content = content; } public String gethost () {return host; } public void sethost (string host) {host = host; } public String getPort () {return Port; } public void setport (puerto de cadena) {puerto = puerto; } cadena pública getSendAddress () {return sendAddress; } public void setSendaddress (cadena sendAddress) {sendAddress = sendAddress; } public String getReceiveAdDress () {return te teativeadDress; } public void setReceiveadDress (String ReceptiveAdDress) {ReceptiveAdDress = ReceptiveAdDress; } public String getUsername () {return UserName; } public void setUsername (String UserName) {this.Username = username; } public String getPassword () {return Password; } public void setPassword (String Password) {this.password = contraseña; } public boolean isisValidate () {return isValidate; } public void setisValidate (boolean isValidate) {this.isValidate = isValidate; } Propiedades públicas getProperties () {Properties Properties = new Properties (); Properties.put ("mail.smtp.host", this.host); Properties.put ("mail.smtp.port", this.port); Properties.put ("mail.smtp.auth", isValidate? "verdadero": "falso"); propiedades de retorno; }}2. Escriba un Message de correo electrónico para encapsular la información de envío
clase pública Correo electrónico Message {Título de cadena privada; contexto de cadena privada; Cadena privada de la cadena; Public EmailMessage () {super (); } public EraageMessage (título de cadena, contexto de cadena, string toMail) {super (); this.title = title; this.context = context; this.toemail = toRail; } public String gettitle () {Título de retorno; } public void settitle (título de cadena) {this.title = title; } public String getContext () {contexto de retorno; } public void setContext (contexto de cadena) {this.context = context; } public String getToEmail () {return toRail; } public void setToemail (String ToErail) {this.ToEmail = toEmail; }}3. Escriba una clase de verificador de contraseña de correo electrónico de Mailattorney
import javax.mail.authenticator; import javax.mail.passwordAuthentication; public class MailAtTorney extiende Authenticator {Nombre de usuario de cadena privada; contraseña de cadena privada; Public MailatTney (String UserName, String Password) {this.Username = UserName; this.password = contraseña; } // anular la contraseña protegida Authentication getPasswordAuthentication () {return New PasswordAuthentication (nombre de usuario, contraseña); }}4. Escribe una clase de herramienta de correo de CororSend
import java.util.date; import javax.mail.address; import javax.mail.message; import javax.mail.session; import javax.mail.transport; import javax.mail.internet.internetaddress; import javax.mail.internet.mimemessage; importación de la comp.vtbbs.emessage; mulces; {Public static static boolean mailtest (MailSendProper Mailsender) {MailatTorney Abogado = NULL; if (mailsender.isisValidate ()) {// Determinar si la autenticación de identidad es obligatoria abogado = new MailattOney (MailSender.getUsername (), MailSender.getPassword ())); } // Construye una sesión de sesión de vista para enviar buzón en función de los atributos de la sesión del buzón y el validador de contraseña. Sesión sesión = session.getInstance (Mailsender.getProperties (), abogado); // Crear un mensaje de correo basado en el mensaje de sesión MailMessage = new Mimemessage (sesión); Pruebe {// Cree la dirección del remitente de la dirección del buzón de = new InternetAddress (Mailsender.getSendAddress ()); // Establezca el remitente del mensaje de buzón MailMessage.setFrom (desde); // Cree la dirección para recibir esto desde el mensaje de correo y establecerla en la dirección del mensaje de correo a = new InternetAddress (Mailsender.getReceiveadDress ()); mailMessage.setRecipient (Message.RecipientType.to, a); MailMessage.SetSubject (Mailsender.getSubject ()); // establecer el título de correo MailMessage.SetsentDate (nueva fecha ()); // Establecer el tiempo de envío MailMessage.settext (Mailsender.getContent ()); // establecer el contenido de correo transport.send (MailMessage); devolver verdadero; } catch (Exception e) {E.PrintStackTrace (); devolver falso; }} public static static boolean sendEmail (mensaje de message de correo electrónico) {MailSendProper Mail = new MailSendProper (); mail.sethost ("smtp.126.com"); // Protocolo de transmisión de correo simple de SMTP, el número de puerto predeterminado es 25, mail.setport ("25"); mail.setisValidate (verdadero); // requiere autenticación mail.setUsername (""); // Establecer el nombre de usuario de inicio de usuario mail.setPassword (""); // Establecer la contraseña del remitente Mail.SetSendAddress (""); // Establezca la dirección de enviar este remitente y el nombre de usuario de inicio de sesión es el mismo correo. // establecer la dirección del destinatario. // Establecer el título de buzón Mail.SetContent (Message.getContext ()); // Establecer el contenido del buzón de devolución de correo (correo); }}Nota: La dirección de correo electrónico utilizada debe estar habilitada para el servicio POP3/SMTP que se enviará correctamente. Diferentes direcciones de correo electrónico y direcciones de correo electrónico tienen diferentes protocolos de transmisión, como:
Correo electrónico QQ: el protocolo de transmisión SMTP es el puerto SMTP.QQ.com 25
El protocolo de transmisión POP3 es POP3.QQ.com Puerto 110
5. Use la prueba del método
public static void main (string [] args) {ageicMessage Message = new EageMessage (); String Code = String.ValueOf (Math.random ()). Subcans (3, 9); // Generar el código de verificación Message.settitle ("Verificación de correo electrónico"); // Envíe un correo electrónico a mensaje de título.setContext ("Hola, querido usuario, su código de verificación es"+código+"."); // Envíe un correo electrónico a Message.setToEmail ("[email protected]"); // ¿Quién enviar a System.out.println (MailSend.SendEmail (mensaje)? "SendSuccess": "SendFailed");}Espero que este artículo sea útil para que todos aprendan la programación de Java.