serveis
DESCRIPTION
ServeisTRANSCRIPT
-
SERVEIS
55 Correu electrnic
mapfHighlight
-
CORREUJavaMail
Enviar missatges de correu electrnic des duna aplicaci Java.
LAPI JavaMail permet llegir, compondre i enviar missatgeselectrnics.electrnics.
Es serveix de varis protocols (per exemple, SMTP, POP).
-
CORREUProtocols
Protocols per llegir missatges del servidor: POP (Post Office Protocol).
Protocols per enviar missatges al servidor: SMTP (Simple Mail Transfer Protocol).
MIME (Multi-Purpose Internet Mail Extensions) per descriure elsmissatges de correu electrnic.
-
CORREUjavax.mail
Classes bsiques del paquet javax.mail:Session Message Address Authenticator
Transport Store Folder
Utilitzarem les segents classes:
Session Message
Transport
-
CORREUjavax.mail
Per enviar un correu a Gmail necessitem:
usuari i contrasenya: usuari s el compte de correu [email protected]
Protocol que fem servir: smtp TLS (si es troba disponible) Port 587 (quan fem servir TLS)
-
CORREUjavax.mail: Session
La classe session representa la nostra connexi amb elservidor de correu (Gmail).
Sobt amb el mtode Session.getDefaultInstance()
1. Primer definim la connexi amb el servidor:
Sobt amb el mtode Session.getDefaultInstance()
Li passem les caracterstiques de la connexi amb la classeProperties
Session sessio=Session.getInstance(properties);
-
CORREUjavax.mail: Session
A la classe Properties (java.util.Properties) guardem dades de tipus String donant un nom per poder recuperar-los.
Les propietats les establim amb el mtode setProperty(). Les propietats les establim amb el mtode setProperty().
Properties p = new Properties( );
p.setProperty(nomPropietat, valor);
p.setProperty(PI, 3.1416);
-
CORREUjavax.mail: Session
Propietats que necessita Session per connectar-nos ambGmail:
Properties p = new Properties ( );
// Nom del host de correu de gmail// Nom del host de correu de gmail
props.setProperty(mail.smtp.host, smtp.gmail.com);
// Port de gmail per lenviament de correus amb TLS
Props.setProperty(mail.smtp.port, 587);
// TLS, si es troba disponible
props.setProperty(mail.smtp.starttls.enable, true);
// Si requereix o no usuari i contrasenya per connectar-se (amb TLS, s)
Props.setProperty(mail.smtp.auth, true);
-
CORREUjavax.mail: MimeMessage
Construm el missatge de text amb la classe MimeMessage.
En el constructor haurem de passar lobjecte Session.
MimeMessage message = new MimeMessage(session);
Posarem qui envia el missatge (FROM) amb el mtodesetFrom()
Posarem a qui va adreat el missatge (TO) ambaddRecipient()
-
CORREUjavax.mail: MimeMessage
// Qui envia el correu
message setFrom(new InternetAddress ([email protected]));
// A qui va adreat
Message.addRecipient(Message.RecipientType.TO, new InternetAddress([email protected]));
En el constructor de la classe InternetAddress introduiremladrea de correu.ladrea de correu.
addRecipient() t els segents tipus de destinataris Message.RecipientType.To Destinatari principal del missatge Message.RecipientType.CC Destinatari al que senvia cpia del
missatge Message.RecipientType.BCC Destinatari al que senvia cpia oculta
del missatge
-
CORREUjavax.mail: MimeMessage
Desprs omplim lassumpte (subject) i el text ambsetSubject() i setText().
Message.setSubject(Aquest s el tema del missatge.);
Message.setText(I aquest s el missatge); Message.setText(I aquest s el missatge);
-
CORREUjavax.mail: Transport
Per enviar el missatge utilitzem la classe Transport quesobt de Session.
El mtode getTransport() requereix un parmetre String ambel nom del protocol a utilitzar. A Gmail s smtp:
Transport t = session.getTransport(smtp); //podria ser smtps
Ara establirem la connexi, donant el nom dusuari icontrasenya.
t.connect ([email protected], contrasenya);
-
CORREUjavax.mail: Transport
Ara enviarem el missatge:t.sendMessage(message, message.getAllRecipients());
Un cop haguem enviat el missatge, ja podrem tancar laconnexi.
t.close ();
connexi.
-
CORREUJavaMail: Installaci
La installaci de la lliberia JavaMail des de lentorn Eclipse.
1) Descarreguem la lliberia (enlla)2) Accedim a les propietats del projecte, men ProjectProperties.3) Seleccionem lopci java Build Path i accedim a lopci Add external
JARs, busquem larxiu mail.jar que es troba dins de larxiuJARs, busquem larxiu mail.jar que es troba dins de larxiudescarregat