Présentation
Documentation
L'équipe
Sérialisation
 
Programmes
Objets
Libs Utilitaires
Libs Internes
   
 
Editeur
Syntaxes
Windows
Versions
   

SCR/AL1 - TOME III. Les librairies utilitaires

22. Le groupe s_ipc

22.5 Accès POP3

Ce groupe comprend une série de fonctions de lecture de mail. Elles permettent de détacher et de décoder les pièces jointes encodées base64 et quoted-printable. Les autres encodages (7bit, ...) sont reproduits tels quels.

Les messages sont stockés dans des structures POP3MSG.

Le message d'erreur éventuel se trouve dans la variable char *POP3_ERROR.

22.5.1 Pop3Connect (file s_pop3.c:239)

Syntax

Pop3Connect(server, user, pass, port)
char *server, *user, *pass;
int port;

Description

Connecte au POP3 serveur sur la porte port (par défaut 110) sous le login user avec le mot de passe pass.

Valeur retournée

La variable POP3_ERROR contient le message d'erreur éventuel.

Voir également

Pop3Connect(), Pop3Close(), Pop3Nb(), Pop3GetHeaders(), Pop3GetMsgs(), Pop3GetHeader(), Pop3GetMsg(), Pop3FreeMsg(), Pop3Session(), Pop3Detach()

File s_pop3.c

Pop3Close(sock)
Pop3Connect(server, user, pass, port)
Pop3DeleteMsg(int sock, int msgnb)
Pop3Detach(POP3MSG *msg, int attachnb, char *filename)
Pop3DetachBody(POP3MSG *attach, char *filename)
Pop3FreeMsg(POP3MSG *msg)
Pop3FreeMsgs(POP3MSG **msgs)
POP3MSG *Pop3GetHeader(int sock, int msgnb)
POP3MSG **Pop3GetHeaders(int sock)
POP3MSG *Pop3GetMsg(int sock, int msgnb)
POP3MSG **Pop3GetMsgs(int sock)
Pop3Nb(sock)
Pop3SaveMsg(POP3MSG *msg, char *filename)
POP3MSG **Pop3Session(server, user, passwd, port)

Pop3DetachBody (file s_pop3.c:809)

Syntax

Pop3DetachBody(POP3MSG *attach, char *filename)

Description

Détache le body d'un message et le sauve dans un fichier.

Le type de décodage est basé sur le contenu de l'attachment. Sont gérés :

Valeur retournée

Voir également

Pop3Connect(), Pop3Close(), Pop3Nb(), Pop3GetHeaders(), Pop3GetMsgs(), Pop3GetHeader(), Pop3GetMsg(), Pop3FreeMsg(), Pop3Session(), Pop3Detach()

Pop3SaveMsg (file s_pop3.c:1078)

Syntax

Pop3SaveMsg(POP3MSG *msg, char *filename)

22.5.2 Pop3Close (file s_pop3.c:292)

Syntax

Pop3Close(sock)
int sock;

Description

Termine un session POP3.

Valeur retournée

La variable POP3_ERROR contient le message d'erreur éventuel.

Voir également

Pop3Connect(), Pop3Close(), Pop3Nb(), Pop3GetHeaders(), Pop3GetMsgs(), Pop3GetHeader(), Pop3GetMsg(), Pop3FreeMsg(), Pop3Session(), Pop3Detach()

22.5.3 Pop3Nb (file s_pop3.c:320)

Syntax

Pop3Nb(sock)
int sock;

Description

Retourne le nombre de message en attente sur le socket sock.

Valeur retournée

La variable POP3_ERROR contient le message d'erreur éventuel.

Voir également

Pop3Connect(), Pop3Close(), Pop3Nb(), Pop3GetHeaders(), Pop3GetMsgs(), Pop3GetHeader(), Pop3GetMsg(), Pop3FreeMsg(), Pop3Session(), Pop3Detach()

22.5.4 Structure POP3MSG

Cette structure est retournée par les fonctions d'accès au serveur de mail.

typedef struct _pop3msg_ {
int size; /* Taille du message */
char *from; /* Origine du message */
char *to; /* Destinataire du message */
char *reply; /* Adresse de retour du message */
char *date; /* Date d'envoi du message */
char *subject; /* Champ sujet du message */
char *type; /* Content-type */
char *encoding; /* Transfer-Encoding */
char *disposition; /* Disposition (attachment) */
char *filename; /* Nom de l'attachment */
char *boundary; /* Boundary */
char **txt; /* Texte du message */
char **body; /* Corps du message */
char **headers; /* Header du Message */
int nbattachs; /* Nbre d'attach */
struct _pop3msg_ **attachs; /* Attachments */
} POP3MSG;

22.5.5 Pop3GetHeader (file s_pop3.c:638)

Syntax

POP3MSG *Pop3GetHeader(int sock, int msgnb)

Description

Lit le header du message msgnb sur le socket sock ouvert via Pop3Connect().

Valeur retournée

La variable POP3_ERROR contient le message d'erreur éventuel.

Voir également

Pop3Connect(), Pop3Close(), Pop3Nb(), Pop3GetHeaders(), Pop3GetMsgs(), Pop3GetHeader(), Pop3GetMsg(), Pop3FreeMsg(), Pop3Session(), Pop3Detach()

22.5.6 Pop3GetHeaders (file s_pop3.c:668)

Syntax

POP3MSG **Pop3GetHeaders(int sock)

Description

Lit les headers de tous les messages sur le socket ouvert via Pop3Connect().

Valeur retournée

La variable POP3_ERROR contient le message d'erreur éventuel.

Voir également

Pop3Connect(), Pop3Close(), Pop3Nb(), Pop3GetHeaders(), Pop3GetMsgs(), Pop3GetHeader(), Pop3GetMsg(), Pop3FreeMsg(), Pop3Session(), Pop3Detach()

22.5.7 Pop3GetMsg (file s_pop3.c:700)

Syntax

POP3MSG *Pop3GetMsg(int sock, int msgnb)

Description

Lit le message msgnb sur la session pop3 sock ouverte par Pop3Connect().

Valeur retournée

La variable POP3_ERROR contient le message d'erreur éventuel.

Voir également

Pop3Connect(), Pop3Close(), Pop3Nb(), Pop3GetHeaders(), Pop3GetMsgs(), Pop3GetHeader(), Pop3GetMsg(), Pop3FreeMsg(), Pop3Session(), Pop3Detach()

22.5.8 Pop3GetMsgs (file s_pop3.c:729)

Syntax

POP3MSG **Pop3GetMsgs(int sock)

Description

Lit les messages sur le socket ouvert via Pop3Connect().

Valeur retournée

La variable POP3_ERROR contient le message d'erreur éventuel.

Voir également

Pop3Connect(), Pop3Close(), Pop3Nb(), Pop3GetHeaders(), Pop3GetMsgs(), Pop3GetHeader(), Pop3GetMsg(), Pop3FreeMsg(), Pop3Session(), Pop3Detach()

22.5.9 Pop3DeleteMsg (file s_pop3.c:761)

Syntax

Pop3DeleteMsg(int sock, int msgnb)

Description

Detruit le message msgnb sur le serveur. Il ne sera réellement détruit que lors de la fin normale de la session.

Valeur retournée

La variable POP3_ERROR contient le message d'erreur éventuel.

Voir également

Pop3Connect(), Pop3Close(), Pop3Nb(), Pop3GetHeaders(), Pop3GetMsgs(), Pop3GetHeader(), Pop3GetMsg(), Pop3FreeMsg(), Pop3Session(), Pop3Detach()

22.5.10 Pop3Detach (file s_pop3.c:899)

Syntax

Pop3Detach(POP3MSG *msg, int attachnb, char *filename)

Description

Détache une pièce jointe et la sauve dans un fichier.

Le type de décodage est basé sur le contenu de l'attachment. Sont gérés :

Valeur retournée

Voir également

Pop3Connect(), Pop3Close(), Pop3Nb(), Pop3GetHeaders(), Pop3GetMsgs(), Pop3GetHeader(), Pop3GetMsg(), Pop3FreeMsg(), Pop3Session(), Pop3Detach()

22.5.11 Pop3FreeMsgs (file s_pop3.c:610)

Syntax

Pop3FreeMsgs(POP3MSG **msgs)

Description

Libère un tableau de structures POP3MSG.

Valeur retournée

0

Voir également

Pop3Connect(), Pop3Close(), Pop3Nb(), Pop3GetHeaders(), Pop3GetMsgs(), Pop3GetHeader(), Pop3GetMsg(), Pop3FreeMsg(), Pop3Session(), Pop3Detach()

22.5.12 Pop3FreeMsg (file s_pop3.c:574)

Syntax

Pop3FreeMsg(POP3MSG *msg)

Description

Libère une structure POP3MSG et toutes les sous-structures.

Valeur retournée

0

Voir également

Pop3Connect(), Pop3Close(), Pop3Nb(), Pop3GetHeaders(), Pop3GetMsgs(), Pop3GetHeader(), Pop3GetMsg(), Pop3FreeMsg(), Pop3Session(), Pop3Detach()

22.5.13 Pop3Session (file s_pop3.c:1028)

Syntax

POP3MSG **Pop3Session(server, user, passwd, port)
char *server, *user, *passwd;
int port;

Description

Session complète de lecture de message sur un serveur POP3. Ouvre la session, lit les messages et ferme la session.

Valeur retournée

La variable POP3_ERROR contient le message d'erreur éventuel.

Exemple

    main(argc, argv)
int argc;
char *argv[];
{
POP3MSG **msgs;
int i, j;
char filename[60];

if(argc < 4) {
printf("Syntax : Pop3 pop3host user passwd\n");
exit(1);
}
msgs = Pop3Session(argv[1], argv[2], argv[3], 110);
if(msgs == 0) {
printf("%s\n", POP3_ERROR);
exit(1);
}
for(i = 0 ; msgs[i] ; i++) {
printf("%d. From '%s' Subject '%s'\n", i, msgs[i]->from, msgs[i]->subject);
for(j = 0 ; j < msgs[i]->nbattachs ; j++) {
sprintf(filename, "file%d_%d", i, j);
if(Pop3Detach(msgs[i], j, filename) == 0)
printf(" Attach %d saved in %s\n", j + 1, filename);
else
printf(" Attach %d not saved\n", j + 1);
}
}

Pop3FreeMsgs(msgs);
exit(0);
}

Voir également

Pop3Connect(), Pop3Close(), Pop3Nb(), Pop3GetHeaders(), Pop3GetMsgs(), Pop3GetHeader(), Pop3GetMsg(), Pop3FreeMsg(), Pop3Session(), Pop3Detach()

22.5.14 Variable POP3_ERROR

Cette variable contient le dernier message d'erreur rencontré par une fonction de lecture de mail.

    char    POP3_ERROR[80];

Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be