Cómo utilizar SSL para conectarse al buzón QQ en Java
1.[Código] GmailFetch.java?[1]?[2]?[Vista previa en pantalla completa]
01package?lius.javamail.ssl;
02?
08import?javax.mail.internet.MimeUtility;
09?
10/**
11 ?*? Se utiliza para recibir correos electrónicos de Gmail
12?
14 public class GmailFetch {
15
16 public static void main( String argv[ ]) throws?
16?
21 // Obtener el objeto de propiedad
22 Propiedades props = System.getProperties()
23 props.setProperty("mail.pop3.socketFactory.class",?SSL_FACTORY);
24?" 995");
27?
28?// Los siguientes pasos son los mismos que las operaciones normales de JavaMail
29?Session?session?=?Session.getDefaultInstance(props,null);
30? p >
31?p>31?//Reemplace la parte roja de la correspondencia con su cuenta de correo electrónico y contraseña
32?URLName?urln?=?new?URLName("pop3", " pop.gmail.com",995,null,
33" [Cuenta de correo electrónico]",?"" [Contraseña de correo electrónico]");
34?Storage=?session . getStore(urln);
35?Folder?getFolder("INBOX");
39inbox.open(Folder.READ_ONLY);
40FetchProfile?profile ? =?new?FetchProfile();
41profile.add(FetchProfile.Item.ENVELOPE);
42Message[]?messages?=?inbox.getMessages();
p>43inbox.fetch(messages,?profile);
44System.out.println("Número de mensajes en la bandeja de entrada: "?+?messages.length);
45for?{
46// Remitente del correo electrónico
47String?from?=?decodeText(messages[i].getFrom()[0].toString());
48Dirección de Internet?ia?=?nueva?Dirección de Internet(de);
49
System.out.println("FROM:"?+?ia.getPersonal()+'('+ia.getAddress()+')');
50//Encabezado de correo electrónico
51System.out.println("TITLE:"?+?messages[i].getSubject());
52// Tamaño del mensaje
53System.out.println. ("TAMAÑO:"?+?messages[i].getSize());
54// Hora de envío del correo electrónico
55System.out.println("FECHA:" +? ?messages[i].getSentDate());
56}
57?}?¿finalmente?{
58¿intentar?{
59inbox.close(false);
60}?{}
61intenta?{
62store.close();
63}?catch?{
64}
65}
66
67 cadena estática protegida decodeText(texto de cadena)< / p>
68lanzamientos?
69?if?(texto?==?null)
70retorno?null;
71?if?( texto .startsWith("=?GB")?|?text.startsWith("=?GB"))
72text?=?MimeUtility.decodeText(texto);
73 ? else
74text?=?new?String(text.getBytes(" ISO8859_1"));
75?return?text;
76?}
77?
78}
2.[Código]GmailSender.java?
01paquete?lius.javamail.ssl; p>
02?
03importación?java.security.Security;
04import?java.util.
04import?java.util.Date ;
05importar?java.util.Properties;
06?
09importar?
12importar?javax.mail.Transport;
p>13importar?javax.mail.internet.AddressException;
14importar?javax.mail.internet.InternetAddress;
15importar?javax.mail.internet.MimeMessage <; /p>
16?
17/**
18?*?Enviar correo electrónico mediante Gmail
19?@autor?Lau
20?*/
21public?class?GmailSender?{
22?
23?public?static?void? String[]?args)?throws?AddressException?sun.net.ssl.internal.ssl.Provider(
));
25?final?String?SSL_FACTORY?=? "javax.net.ssl.SSLSocketFactory";
26?//Obtener un objeto de atributo
27?Properties?props?=?System.getProperties();
28?props.setProperty("mail.smtp.host",?" smtp.gmail.com");
29?props.setProperty("mail.smtp.socketFactory.class",?SSL_FACTORY);
30?props.setProperty("mail.smtp.socketFactory.fallback",?" falso ");
31?
30?props.setProperty("mail.smtp.socketFactory.fallback",?" false");
31? props.setProperty("mail.smtp.port",?" 465");
32?props.setProperty("mail.smtp.socketFactory.port",?" 465");
33?props.put("mail.smtp.auth",?" true");
34?final?String?username?=?" [cuenta de correo electrónico]"; p> p>
35?[Cuenta de correo electrónico]";
35?final?String?password?=?"" [Contraseña del buzón]";
36?Sesión? sesión ?=?Session.getDefaultInstance(props,?new?Authenticator(){
37?protected?Autenticación con contraseña getPasswordAuthentication()?{
38?return new PasswordAuthentication(nombre de usuario, contraseña );
39?}});
40?
41/? --? Crear nuevo mensaje--
42?Mensaje msg = new MimeMessage(sesión);
43?
44?//? --? Establecer campos DESDE y HACIA--
45 ?
45? msg.setFrom(new?InternetAddress(nombre de usuario?+?"@mo168.com"));
46? msg.setRecipients(Message.RecipientType.TO,
47InternetAddress.parse("[dirección del destinatario]",false));
48? msg.setSubject("Hola");
49?msg.setText("¿Cómo?estás");
50?msg.setSentDate(new?Date()) ;
51?Transport.send(msg);
52
53?System.out.println("Mensaje?Enviado.");
54?