Colección de citas famosas - Diccionario de frases chinas - Vídeo tutorial de inicio de sesión mediante SMS en Java

Vídeo tutorial de inicio de sesión mediante SMS en Java

1. Enviar correo electrónico

Primero, configure un entorno de desarrollo de JavaMail y configure las clases y paquetes relacionados con JavaMail en el JDK. Al crear un entorno de desarrollo JavaMail, se requieren mail.jar y activación.jar. Estos dos archivos se pueden descargar desde el sitio web oficial de SUN.

JavaMail admite STMP, POP3, IMAP y encapsula objetos de correo electrónico, envío, autenticación, recepción y otras funciones de correo electrónico.

Al enviar varios tipos de correos electrónicos, se aplica principalmente a las siguientes categorías:

1) Tipo de conversación. Si un usuario desea enviar un correo electrónico, primero debe crear un objeto de clase Sesión y utilizar ese objeto para crear un objeto de correo y especificar las propiedades del cliente para la autenticación del servidor de correo. Su nivel de clase es javax.mail.Session

2) Clase InternetAddress. La clase de dirección para enviar correos electrónicos, la jerarquía de clases es javax mail internet dirección, heredada de la clase abstracta javax.mail.Address

3) Clase MimeMessage. Clase de mensaje de correo, su jerarquía de clases es javax.mail.internet.mimemessage, heredada de la clase abstracta javax.mail.Message

4) Clase de transporte. Clase de envío de correo, su jerarquía de clases es javax.mail.Transport

5) Clase de autenticación. Clase Authorizer, JavaMail utiliza la clase Authenticator para acceder a esos recursos protegidos mediante nombre de usuario y contraseña, donde el "recurso" es el servidor de correo. Su jerarquía de clases es javax.mail.Authenticator

6) Clase de tienda. Se utiliza para recibir correo del servidor de correo, su jerarquía de clases es javax.mail.Store

7) clase de carpeta. Clase de carpeta de correo, su jerarquía de clases es javax.mail.Folder

Proceso de implementación:

& lt% @ page import = " java.io. * " % & gt< /p >

& lt% @ page import = " Java . util . * " % & gt;

& lt% @ page import = " javax . mail . * " % & gt; >

& lt% @ page import = " javax . mail . internet . * " % & gt;

& lt% @ page import = " javax . activación . * " % & gt ;

& lt%

Prueba {

request . setcharacterencoding(" GB 2312 ");

string from = request . jname ");

cadena a = solicitud . getparameter(" nombre ");

cadena asunto = solicitud . getparameter(" título ");

cadena texto del mensaje = solicitud . getparameter(" mensaje ");

cadena contraseña = solicitud . getparameter(" contraseña ");

cadena S = getparameter(" jname ");

int n = s . índice de(' @ ');

int m = s .

servidor de cadena = s . n+1, m);

//Crear una sesión de correo

Propiedades pro = new Propiedades();

pro.put("mail. smtp .host "," smtp.

"+servidor);

pro.put("mail.stmp.auth", "true");

sesión sess = sesión. getinstance(pro);

sess .set debug(true);

mensaje mime message = new mime message(mess); //Crea un nuevo objeto de mensaje

//Establece el remitente

p> p>

dirección de Internet de _ mail = nueva dirección de Internet (de);

mensaje establecido de (de _ mail);

//Establecer destinatario p>

dirección de Internet a _ mail = nueva dirección de Internet(a);

message.setRecipient(Message.RecipientType.TO, TO_mail);

message.setSubject (Tema); //Establecer el tema

message. settext(texto del mensaje); //Establecer el contenido

setsentdate(new Date()); hora de envío

//Enviar correo electrónico

mensaje guardar cambios(); //Guardar información de correo electrónico

transporte transporte = sess . );

transport.connect("smtp."+servidor, remitente, contraseña);

transport.sendMessage(mensaje, mensaje. getall destinatarios());

transport . close();

Out.print("El correo se envió correctamente");

}catch(Exception e){

Out. print ("Error al enviar el correo electrónico, posiblemente porque

out . println(e . getmessage());

}

% & gt

2. Enviar correos electrónicos en formato HTML

El objeto MimeMultipart se utiliza para almacenar el contenido específico del archivo HTML. Al configurar el contenido, se debe establecer el formato del objeto.

La jerarquía de clases de la clase MimeMultipart es javax .mime Internet. El contenedor común para almacenar contenido de correo electrónico es la clase abstracta Multipart, que define métodos para agregar, eliminar y obtener los diferentes contenidos. del correo electrónico. Debido a que Multipart es una clase abstracta, se deben utilizar subclases concretas. La API JavaMail proporciona clases multiparte javax mail .

Sintaxis:

multipart mul = new mime multipart();

Descripción: el método comúnmente utilizado cuando se utilizan objetos MimeMultipart es addBodyPart(), que puede agregar BodyPart El objeto se agrega al contenido del correo electrónico. Un mensaje puede tener muchas partes y un BodyPart puede representar una parte.

La jerarquía de clases de la clase MimeBodyPart es javax mail internet mimebodypart y mime BodyPart es una subclase de la parte del cuerpo específica de MimeMessage. El objeto MimeBodyPart representa parte del contenido del objeto MimeMessage. Se considera que cada MimeBodyPart consta de dos partes: el tipo MIME y el contenido que coincide con el tipo.

Sintaxis:

parte del cuerpo MDP = new mime body part(); //Crea un nuevo objeto BodyPart para almacenar el contenido de la carta.

String messageText = "¡Hola mundo!";

//Defina el tipo MIME como texto/html y establezca el contenido de MimeBodyPart.

mdp.setContent(messageText, " text/html ");

Proceso de implementación:

& lt% @ page import = " java.io. * " % & gt

& lt% @ page import = " Java . * " % & gt;

& lt% @ page import = " javax * ". %>

& lt% @ page import = " javax . mail . internet . * " % & gt;

& lt% @ page import = " javax . activación . * " % & gt;

& lt%

Pruebe {

request . setcharacterencoding(" GB 2312 ");

cadena de _ correo = solicitud . getparameter(" nombre ");

cadena a _ correo = solicitud . getparameter(" nombre ");

cadena asunto = solicitud . );

texto del mensaje de cadena = solicitud . getparameter(" mensaje ");

cadena de contraseña = solicitud . = solicitud . getparameter(" nombre ");

int n = s . índice de(' @ ');

int m = s .

servidor de cadena = s . subcadena(n+1, m);

Propiedades prop = nuevas Propiedades();

prop.put("mail.smtp.host " ," smtp. "+servidor);

prop.put("mail.smtp.auth", "true");

sesión sess = sesión getinstance(prop) ;

sess . set debug(true);

MimeMessage message = new mime message(sess);

//Establece el destinatario del objeto del mensaje, Remitente , asunto y hora de envío.

dirección de Internet de = nueva dirección de Internet (de _ mail);

message.setFrom(de

dirección de Internet a = nueva dirección de Internet (a); _ mail);

message.setRecipient(Mensaje. Tipo de destinatario. Destinatario, destinatario);

message.setSubject(asunto);

setsentdate(. new Date());

Multipart mul = new Multipart(); //Crea un nuevo objeto MimeMultipart para almacenar múltiples objetos BodyPart.

parte del cuerpo MDP = new mime body part(); //Crea un nuevo objeto BodyPart para almacenar el contenido de la carta.

mdp.setContent(messageText, "text/html; charset = GB 2312");

mul . addbodypart(MDP); //Agrega el BodyPart que contiene el contenido del mensaje a MimeMultipart; en el objeto.

mensaje . guardar cambios();

transporte transporte = sess . servidor, from_mail, contraseña);

transport.sendMessage(mensaje, mensaje . obtener todos los destinatarios());

transporte

Fuera. println("¡El correo electrónico se envió correctamente!");

}catch(Exception e){

Out.print("Error al enviar el correo electrónico, posiblemente porque

out . println(e . getmessage());

}

% & gt

3. p>Por lo general, al diseñar un programa para enviar correos electrónicos con archivos adjuntos, puede seguir los siguientes pasos:

1) Para enviar correos electrónicos con archivos adjuntos, debe crear cada parte del cuerpo del correo electrónico en el. primera parte (es decir, el cuerpo del correo electrónico. Agregue un archivo adjunto con DataHandler después del texto del contenido)

2) Si el archivo se envía como un archivo adjunto, entonces se debe establecer un objeto de tipo FileDataSource como fuente de datos del archivo adjunto. ; si lees los datos de la URL y los envías como un archivo adjunto, debes crear un objeto de tipo URLDataSource como fuente de datos del archivo adjunto.

3) Pasa la fuente de datos (FileDataSource o URLDataSource). object como parámetro del constructor de la clase DataHandler para crear un objeto DataHandler como DataHandler de la fuente de datos

4) Establezca este DataHandler como el DataHandler del cuerpo del correo electrónico para completar la asociación entre. cuerpo del correo electrónico y el archivo adjunto. El siguiente trabajo es utilizar el método setFileName() de BodyPart para establecer que el nombre del archivo adjunto sea el nombre del archivo original.

5) Coloque los dos cuerpos del correo electrónico en Multipart. envíe el contenido por correo electrónico a la multiparte del contenedor y envíe el correo electrónico.

Proceso de implementación:

& lt% @ page import = " java.io. * " % & gt

& lt% @ page import = " Java . util . * " % & gt;

& lt% @ page import = " javax . .correo.internet.* "% & gt;

& lt% @ page import = " javax . " java.net. * " % & gt

& lt%

Pruebe {

request . setcharacterencoding(" GB 2312 ");

cadena de _ mail = solicitud . getparameter(" nombre ");

cadena de _ mail = solicitud . solicitud. getparameter("contraseña");

string title = request . getparameter(" title ");

string content = getparameter(" contenido "); >

ruta de cadena = solicitud . getparameter(" adjunto ");

cadena S = solicitud . ' @ ');

int m = s . longitud();

servidor de cadena = s . prop = nuevas Propiedades();

prop.put("mail.smtp.host", "smtp. "+servidor);

prop.put("mail.smtp.auth", "true");

sesión sess = sesión. getinstance(prop);

session.set debug(true);

Mensaje MimeMessage = nuevo mensaje mime(sess);

//Establece el destinatario, el remitente y el asunto del objeto del mensaje <. /p>

dirección de Internet de = nueva dirección de Internet (de _ correo);

message.setFrom(de

dirección de Internet a = nueva dirección de Internet (a _); mail);

message.setRecipient(Mensaje. Tipo de destinatario. Destinatario, destinatario);

message.setSubject(title);

multipart mul = nuevo mime multipart(); //Crea un nuevo objeto MimeMultipart para almacenar múltiples objetos BodyPart

parte del cuerpo MDP = new mime body part(); //Crea un nuevo objeto BodyPart para almacenar el contenido de la carta.

mdp.setContent(content, "text/html; charset = GB 2312");

mul . addbodypart(MDP); La letra se agrega al objeto MimeMultipart.

//Establece el archivo adjunto de la carta

MDP = new mime body part(); //Crea una nueva BodyPart para almacenar el archivo adjunto.

data handler handler = new data handler("JavaMail Attachment Test", "text/plain; charset = GB 2312"); //Crea un nuevo objeto DataHandler y establece su contenido, formato y codificación.

MDP . set filename(" mrsoft "); //Puede ser inconsistente con el nombre del archivo fuente.

mdp.setDataHandler(handler);

mul . addbodypart(MDP);

mensaje set content(mul); contenidos del objeto.

mensaje . guardar cambios();

transporte transporte = sess . servidor, from_mail, from _ PSD);

transport.sendMessage(mensaje, mensaje.getall destinatarios());

transport.close();

Out.println("¡El archivo adjunto se envió correctamente!");

}catch(Exception ex){

Out.print("El correo electrónico no se pudo enviar, posiblemente porque:

out . println(ej. getmessage());

}

% & gt

4. >

Configure las direcciones de los destinatarios en forma de tomail+i y use un bucle for para enviar correos electrónicos a estas direcciones para lograr el propósito de enviar correos electrónicos masivos.

Utilice la clase Dirección para configurar la dirección. destinatarios y remitentes de mensajes de correo electrónico. Información Después de crear la clase de dirección de correo electrónico, configure el remitente del correo electrónico a través del método setFrom() del mensaje. _ mail);

Al configurar la dirección del destinatario, utilice el método setRecipient() para configurar la dirección del destinatario. El código es el siguiente:

message.setRecipient(tipo, dirección) ;

El tipo de parámetro es destinatario. Tipo de persona. Puede utilizar las siguientes tres constantes para distinguir el tipo de destinatario:

2) message.recipienttype.cc-cc

3) tipo de mensaje. Cco: enviar en secreto

Nota: en el uso diario, solemos utilizar dos formas de envío de correo electrónico: CC y CCO. Ambas envían correos electrónicos a varios buzones de correo al mismo tiempo. , pero hay una cierta diferencia entre ellos

La diferencia es que BCC oculta las direcciones de otros CC para que solo los destinatarios puedan verlas. Su propia dirección se puede mantener confidencial y evitar el spam.

Proceso de implementación:

& lt% @ page import = " java.io. * " % & gt

& lt% @ page import = " Java . util . * " % & gt;

& lt% @ page import = " javax . .correo .internet .* " % & gt;

& lt% @ activación de página javax .

pruebe {

int I = 1;

for(I = 1;i<4;i++){

request . );

cadena de = solicitud . getparameter(" de _ correo ");

cadena a = solicitud . p>cadena asunto = solicitud. getparameter(" asunto ");

cadena texto del mensaje = getparameter(" mensaje "); ");

cadena S = solicitud . getparameter(" from _ mail ");

int n = s . index of(' @ ');

int m = s . length();

string server = s . substring(n+1, m

//Crear una sesión de correo

< p); >Propiedades pro = nuevas Propiedades();

pro.put("mail.smtp.host", "smtp."+server);

pro.put("mail . smtp.auth ", " true ");

sesión sess = sesión . getinstance(pro);

sess . set debug(true);

MimeMessage mensaje = nuevo mensaje mime(sess); //Crear un nuevo objeto de mensaje

dirección de Internet desde _ mail = nueva dirección de Internet(de); //Establecer el remitente

mensaje. set from(from _ mail);

//Establecer destinatario

dirección de Internet en = nueva dirección de Internet(to);

message.setRecipient (Message. RecipientType.TO, TO_mail);

message.setSubject(topic); //Establecer el asunto

message.settext(texto del mensaje); //Establecer el contenido

message . setsentdate(new Date()); //Establece la hora de envío

message . save cambios(); //Guarda la información del correo electrónico

transporte = sess. . obtener transporte(" SMTP ");

transport.connect("smtp.

"+servidor, remitente, contraseña);

transport.sendMessage(mensaje, mensaje.obtener todos los destinatarios());

transport.close();

if(i==3){

Out.print("Correo electrónico enviado correctamente");

}

}

} catch(Exception e){

Out.print("Error al enviar el correo electrónico, posiblemente porque

out . println(e . getmessage());

}

% & gt

5. Spring usa WebService para enviar mensajes de texto.

Enviar mensajes de texto a través de programación es actualmente un asunto muy complicado. escribir programas de mensajes de texto en lenguaje de programación de teléfonos móviles a través de la conexión entre computadoras y teléfonos móviles. Este método no solo requiere tiempo y energía, sino que también requiere las instalaciones de hardware correspondientes. Debe conocer los conocimientos relevantes de programación de teléfonos móviles y poder acceder de forma remota. Situación actual a través de la tecnología de servicio web. Algunos servidores de envío de SMS envían mensajes SMS llamando al servidor.

Puntos técnicos:

Utilizar recursos existentes: servicios web que pueden enviar mensajes cortos de forma remota. El servicio web lo proporciona el sitio web de Sina, lo que permite a los usuarios llamar directamente al servicio remoto para enviar mensajes. El nombre del servicio es SMSWebServiceSoapPort. En este servicio remoto, se proporciona un método para enviar mensajes cortos. siguiente:

Cadena pública sendXml (cadena portadora, cadena id, cadena contraseña, cadena toMobile, cadena mensaje, cadena msgtype)

Función: Según los parámetros dados por el usuario, enviar mensajes de texto al teléfono móvil del usuario objetivo

Descripción del parámetro:

Los seis parámetros en el método sendXml() son todos tipos de cadenas y el valor de retorno del método sendXml(). también es un carácter. Tipo de cadena. La siguiente es una descripción detallada de los seis parámetros en el método sendXml()

1) Operador: nombre del operador. No existen requisitos específicos para el uso específico de este parámetro. Puede ingresarlo a voluntad y la cadena ingresada no se mostrará en el teléfono móvil de la otra parte.

2)id: número de teléfono móvil registrado en Sina. Cuando utilice los servicios de Sina para enviar mensajes de texto, deberá registrar su teléfono móvil en el sitio web de Sina.

3) Contraseña: La contraseña enviada por Sina.com después de que el registro del teléfono móvil sea exitoso.

4)toMobile: El número de teléfono móvil de la otra parte que recibe el mensaje de texto.

5) Mensaje: el contenido del mensaje corto a enviar.

6) msgtype: El tipo de mensaje corto enviado. Dado que este no es un mensaje MMS, ingrese texto.

Para llamar al método sendXml(), debe configurar una instancia de JaxRpcPortProxyFactoryBean en Spring y luego definir la interfaz que contiene el método. Spring obtendrá automáticamente la interfaz del servicio remoto.

Proceso de implementación:

contexto de aplicación AC = new classpathmlaplicationcontext(" contexto de aplicación . XML ");

SMSWebService enviar SMS =(SMSWebService)AC . (" hola servicio mundial ");

Cadena portadora = " lzwsky

identificación de cadena = ID de usuario . gettext();

cadena contraseña = campo de contraseña . gettext ();

cadena al móvil = campo móvil . gettext();

cadena mensaje = campo de mensaje();

Cadena msgtype = " Texto

sendSms.sendXml(operador, id, contraseña, toMobile, mensaje, tipo de mensaje);