serveis

14
SERVEIS 5 Correu electrònic

Upload: mapf55

Post on 12-Sep-2015

220 views

Category:

Documents


4 download

DESCRIPTION

Serveis

TRANSCRIPT

  • 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