Table des Matières du Kit EMail     Index du Kit EMail

BMailMessage

Hérité de: néant

Declaré dans: be/kit/mail/E-mail.h

Librairie: libmail.so

Résumé

La classe BMailMessage permet d'envoyer facilement des e-mails. Si vous recherchez plutôt la difficulté, récuperez la RFC SMTP et commencez a vous frayer un chemin a travers la documentation du Kit Réseau. Vous arriverez à un résultat fonctionnel un de ces jours.

Ou vous pouvez naviguer juste ici et commencer à envoyer des e-mails depuis vos propres applications en l'espace de quelques minutes en utilisant votre ami, le BMailMessage.


Construire un Message EMail

Pour envoyer un e-mail, construisez simplement un nouvel objet BMailMessage, ajoutez un champ "To" dans les en-têtes, ajoutez le contenu, et expediez le message. Par exemple:

   BMailMessage *mail;
   char *message;
   
   mail = new BMailMessage();
   mail->AddHeaderField(B_MAIL_TO, "bob@oncle.com");
   mail->AddHeaderField(B_MAIL_SUBJECT, "Salut");
   message = "Salut, Oncle Bob!";
   mail->AddContent(message, strlen(message));

Ce message est très basique. Le sujet est "Salut", le message est envoyé à "bob@oncle.com", et le corps du message dit "Salut, Oncle Bob!".

Vous pouvez ajouter d'autres champs, y compris les champs copie-conforme (CC, pour Carbon Copy) et copie-conforme-en-aveugle (BCC, pour Blind Carbon Copy), de même que vous pouvez attacher des pièces jointes. Par exemple, si vous voulez ajouter le fichier "/boot/home/file.zip", vous pouvez écrire ceci:

   mail->AddEnclosure("/boot/home/file.zip");

Une fois le message construit, vous pouvez l'envoyer en appelant Send():

   mail->Send();

Il s'agit des techniques de base pour l'envoi d'e-mail sous BeOS. Le daemon mail peut aussi récuperer vos mails en attente sur un serveur POP, mais vous ne pouvez pas utiliser la classe BMailMessage pour lire ces messages; les classes à utiliser pour localiser les messages voulus et obtenir des informations les concernant sont BQuery et BNode Voir "Faire des Requêtes sur les Messages Mail" pour plus de détails.


Constructeur et Destructeur


BMailMessage()

                                                         
  

BMailMessage(void)

Crée et retourne un nouveau BMailMessage vide. Vous devez appeler d'autres fonctions definies par cette classe pour remplir le message.


~BMailMessage()

                                                         
  

~BMailMessage()

Détruit le BMailMessage, même si les champs de l'objet sont "sales". Par exemple, si vous créez un nouveau BMailMessage avec l'intention de l'envoyer, remplissez certains des champs ou tous, et effacez ensuite l'objet, l'objet est détruit sans être envoyé.


Fonctions


AddContent()

                                                         
  

status_t AddContent(const char *text, int32 length,
      uint32 encoding = B_ISO1_CONVERSION, bool replace = false)

status_t AddContent(const char *text, int32 length, const char *encoding, bool replace = false)

Ajoute le texte text specifié (qui contient length caractères) au contenu du BMailMessage. L'encodage du texte est specifié par le paramètre encoding, soit directement soit par pointeur.

Si replace a pour valeur true, le texte pre-existant est effacé avant l'ajout du nouveau contenu; autrement, le texte specifié est concaténé à la fin de l'existant.

CODES DE RETOUR


AddEnclosure()

                                                         
  

status_t AddEnclosure(entry_ref *enclosure_ref, bool replace = false)

status_t AddEnclosure(const char *path, bool replace = false)

status_t AddEnclosure(const char *mime_type, void *data, int32 length, bool replace = false)

Attache une pièce jointe au message. Les deux premières formes de AddEnclosure() ajoutent un fichier au message, à partir soit d'un pointeur d' entry_ref soit un chemin de fichier. La troisième forme ajoute un bloc de mémoire (de longueur length donnée) au message sous forme de pièce jointe, avec le type MIME specifié.

Si replace a pour valeur true, toute pièce jointe pré-existante -- y compris le corps du message -- est enlevée avant d'ajouter la nouvelle; sinon la nouvelle pièce jointe est ajoutée, en laissant les précédentes intactes.

 
Si vous specifiez true pour replace, en plus d'enlever toutes les pièces jointes existantes cela effacera aussi le contenu du corps du message lui-même.


CODDES DE RETOUR


AddHeaderField()

                                                         
  

status_t AddHeaderField(const char *field_name, const char *field_str, bool replace = false)

Ajoute un champ d'en-tête au BMailMessage. La valeur du champ dont le nom est specifié par field_name se voit affecter la valeur de la chaine specifiée par field_str.

Si replace a pour valeur true, tous les champs d'en-tête existants avec ce nom sont effacés avant d'ajouter le nouveau champ; si replace a pour valeur false, un nouveau champ d'en-tête nommé field_name est ajouté.

CODES DE RETOUR


Send()

                                                         
  

status_t Send(bool send_now = false, bool remove_when_sent = false)

Ajoute le message à la liste des messages à transmettre. Si send_now a pour valeur true, le message est envoyé immédiatement, autrement il est placé en queue de liste d'envoi, pour être expedié la prochaine fois que check_for_mail() est appelé ou que le daemon de mail effectue une vérification automatique du courrier.

Si l'argument remove_when_sent vaut true, le message sera effacé du disque dur de l'utilisateur après avoir été envoyé; autrement, il sera sauvegardé pour la posterité.

CODES DE RETOUR


Table des matières du Kit Mail     Index du Kit Mail


The Be Book,
...in lovely HTML...
for BeOS Release 5.

Copyright © 2000 Be, Inc. All rights reserved..