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.4 Accès SMTP

Ce groupe de fonction permet d'envoyer des messages via un serveur SMTP.

Connexion

Destinataires

Envoi de données

Mails avec attach

Déconnexion

Fonctions de base

Variables

22.4.1 SendMailConnect (file s_smtp.c:110)

Syntaxe

SendMailConnect(server, port, host, user)
char *server, *host, *user;
int port;

Description

Connecte au serveur SMTP server via le port port. Les paramètres host et user sont seulement indicatifs et ne sont en général pas traités par le serveur.

Valeur retournée

Le message d'erreur se trouve dans la variable globale SENDMAIL_ERROR.

Exemple

    U_ch    **data;

if(SendMailConnect("smtp.whitehouse.org", 25, "heaven.ru", "kgb")) return(-1);
if(SendMailTo("bill@whitehouse.be")) goto err;
data = SCR_vtom("To: <bill@whitehouse.org>,Subject:La vie est belle,Coucou,c'est moi,..", ',');
if(SendMailData(data)) goto err;
SCR_free_tbl(data);
SendMailClose();
return(0);
err:
printf("Error : %s\n", SENDMAIL_ERROR);
SendMailClose();
return(-1);

Voir également

SendMailClose()

22.4.1.1 File s_smtp.c
SendMailAddAttachTxtLine(char *txt, int convertansi)
SendMailAttach(char *filename, char *contenttype, int base64, int convertansi)
SendMailClose()
SendMailConnect(server, port, host, user)
SendMailData(data)
SendMailEnd()
SendMailEndData()
SendMailFile(filename)
SendMailInit(char *smtpsrv, char *fromaddr, char *fromname, char *toaddr, char *subject)
SendMailRead()
SendMailStartAttachTxt()
SendMailStartData()
SendMailTo(dest)
SendMailWrite(rec)
SendMailWriteData(data)

22.4.2 SendMailTo (file s_smtp.c:184)

Syntaxe

SendMailTo(dest)
char *dest;

Description

Ajoute des destinataires pour le message.

Valeur retournée

Le message d'erreur se trouve dans la variable globale SENDMAIL_ERROR.

Voir également

SendMailConnect(), SendMailData()

22.4.3 SendMailStartData (file s_smtp.c:221)

Syntaxe

SendMailStartData()

Description

Prépare l'envoi d'un message.

Valeur retournée

Le message d'erreur se trouve dans la variable globale SENDMAIL_ERROR.

Voir également

SendMailConnect(), SendMailData(), SendMailEndData(), SendMailWriteData()

22.4.4 SendMailWriteData (file s_smtp.c:259)

Syntaxe

SendMailWriteData(data)
U_ch *data;

Description

Envoie une ligne d'un message.

Valeur retournée

Le message d'erreur se trouve dans la variable globale SENDMAIL_ERROR.

Voir également

SendMailConnect(), SendMailData(), SendMailEndData(), SendMailWriteData()

22.4.5 SendMailEndData (file s_smtp.c:240)

Syntaxe

SendMailEndData()

Description

Termine l'envoi d'un message.

Valeur retournée

Le message d'erreur se trouve dans la variable globale SENDMAIL_ERROR.

Voir également

SendMailConnect(), SendMailData(), SendMailStartData(), SendMailWriteData()

22.4.6 SendMailData (file s_smtp.c:290)

Syntaxe

SendMailData(data)
U_ch **data;

Description

Envoie le message. Ce message contiendra les éventuels Subject, To ... qui seront traités par l'Agent Pop. Cette fonction appelle SendMailStartData(), SendMailWriteData() et SendMailEndData().

Valeur retournée

Le message d'erreur se trouve dans la variable globale SENDMAIL_ERROR.

Voir également

SendMailConnect(), SendMailStartData(), SendMailEndData(), SendMailWriteData()

22.4.7 SendMailFile (file s_smtp.c:319)

Syntaxe

SendMailFile(filename)
char *filename;

Description

Envoie un fichier dans la zone DATA du message. La zone DATA est ouverte et fermée par cette fonction (un seul fichier peut donc être envoyé).

Valeur retournée

Le message d'erreur se trouve dans la variable globale SENDMAIL_ERROR.

Voir également

SendMailConnect(), SendMailStartData(), SendMailEndData(), SendMailWriteData() SendMailAttach64()

22.4.8 SendMailInit (file s_smtp.c:410)

Syntaxe

SendMailInit(char *smtpsrv, char *fromaddr,
char *fromname, char *toaddr, char *subject)

Description

Démarre une session SMTP. Crée le socket et envoie les premières informations jusqu'au début de la section DATA.

La porte du serveur SMTP est définie par la variable globale int SENDMAIL_PORT. Par défaut, celle-ci est fixée à 25.

Valeur retournée

Le message d'erreur se trouve dans la variable globale SENDMAIL_ERROR.

Exemple

    if(SendMailInit("mail.xon.be",
"jmp.be", "jmp@xon.be", "Jean-Marc",
"jmp@xon.be", "Essai d'attachment")) goto err;

if(SendMailAttach("subject.txt", "text/plain", 0)) goto err;
if(SendMailAttach("lastnode12.gif", "image/gif", 1)) goto err;
if(SendMailAttach("budget.xls", "application/octet-stream", 1)) goto err;

if(SendMailEnd()) goto err;

printf("Ok\n");
return(0);

err:
printf("Error : %s\n", SENDMAIL_ERROR);
SendMailClose();
return(-1);
}

Voir également

SendMailClose(), SendMailAttach()

22.4.9 SendMailEnd (file s_smtp.c:452)

Syntaxe

SendMailEnd()

Description

Termine une session SMTP démarrée par SendMailInit().

Valeur retournée

Le message d'erreur se trouve dans la variable globale SENDMAIL_ERROR.

Exemple

    voir SendMailInit()

Voir également

SendMailEnd(), SendMailAttach()

22.4.10 SendMailAttach (file s_smtp.c:552)

Syntaxe

SendMailAttach(char *filename, char *contenttype, int base64, int convertansi)

Description

Attache un fichier au mail démarré par SendMailInit(). Un nombre quelconque de fichiers peuvent être attachés.

Attention, cette fonction ne peut être utilisée qu'après SendMailInit().

Valeur retournée

Le message d'erreur se trouve dans la variable globale SENDMAIL_ERROR.

Exemple

    voir SendMailInit()

Voir également

SendMailInit(), SendMailEnd(), SendMailAttach()

22.4.11 SendMailStartAttachTxt (file s_smtp.c:484)

Syntaxe

SendMailStartAttachTxt()

Description

Démarre un nouvel attachment de type texte. Le contenu de cet attachment doit être alimenté par la fonction SendMailAddAttachTxtLine(). Il s'agit en général du premier attachment d'un mail qui constituera le corps du message.

Attention, cette fonction ne peut être utilisée qu'après SendMailInit().

Le message d'erreur se trouve dans la variable globale SENDMAIL_ERROR.

Exemple

    voir SendMailInit()

Voir également

SendMailInit(), SendMailEnd(), SendMailAttach(), SendMailAttachTxtLine()

22.4.12 SendMailAddAttachTxtLine (file s_smtp.c:516)

Syntaxe

SendMailAddAttachTxtLine(char *txt, int convertansi)

Description

Ajoute un ligne à l'attachment courant commencé par l'appel à SendMailStartAttachTxt().

Le message d'erreur se trouve dans la variable globale SENDMAIL_ERROR.

Exemple

    voir SendMailInit()

Voir également

SendMailInit(), SendMailEnd(), SendMailAttach(), SendMailStartAttachTxt()

22.4.13 SendMailClose (file s_smtp.c:156)

Syntaxe

SendMailClose()

Description

Déconnecte du serveur SMTP ouvert par SendMailConnect().

Valeur retournée

Le message d'erreur se trouve dans la variable globale SENDMAIL_ERROR.

Voir également

SendMailConnect()

22.4.14 SendMailWrite (file s_smtp.c:23)

Syntaxe

SendMailWrite(rec)
char *rec;

Description

Envoie des données (ou une commande) sur le socket ouvert par SendMailConnect().

Valeur retournée

Le message d'erreur se trouve dans la variable globale SENDMAIL_ERROR.

Voir également

SendMailConnect(), SendMailData(), SendMailStartData(), SendMailWriteData()

22.4.15 SendMailRead (file s_smtp.c:51)

Syntaxe

SendMailRead()

Description

Lit la réponse du serveur SMTP sur le socket ouvert par SendMailConnect().

Valeur retournée

En cas d'erreur de transmission, le message d'erreur se trouve dans la variable globale SENDMAIL_ERROR.

La variable globale char *SENDMAIL_BUF contient le texte retourné par le serveur.

Voir également

SendMailConnect(), SendMailData(), SendMailStartData(), SendMailWriteData()

22.4.16 SENDMAIL_BUF

    char    SENDMAIL_BUF[128];

Buffer de réception des réponses du serveur SMTP.

22.4.17 SENDMAIL_ERROR

    char    SENDMAIL_ERROR[81];

Dernier message d'erreur.

22.4.18 SENDMAIL_SOCKET

    int     SENDMAIL_SOCKET;

Indique le numéro du socket ouvert.


[X-ON] [SCR4/AL1]

Copyright © 1998-2001 Jean-Marc and Bernard PAUL - Envoyez vos remarques ou commentaires à bp@xon.be