Comment utiliser la fonction ci-jointe

[Résolu]
Signaler
Messages postés
197
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
17 décembre 2014
-
Messages postés
197
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
17 décembre 2014
-
Bonjour,

Je pilote Outlook (version 2003) via mon application.

J'ai besoin d'ouvrir une fenetre nouveau message d'Outook avec le mail du destinataire qui s'affiche (il se trouve dans ma base).

Pour ce faire, j'ai trouvé le code suivant (dans la faq delphi) mais je n'arrive pas à utiliser cette fonction ci-dessous car elle demande de saisir un "Temail" alors que moi je souhaite saisir un string (l'adresse de mon contact).

Aussi, je sais pas trop quoi faire.

Merci par avance pour votre aide précieuse.


Comment créer un mail avec OutLook (version 2)? [haut]

auteur : Charette
Le code suivant vous permet de créer un nouveau mail avec OutLook à partir de Delphi.
Le code n'effectue aucune vérification notamment en ce qui est du format des adresses mails de destination.
Cette tâche est laissée au soin du lecteur.

type

//Enumération qui décrit le niveau de priorité du mail
enumImportance=(Bas=olImportanceLow,Normal=olImportanceNormal,Haut=olImportanceHigh);

//Structure qui décrit entièrement le mail à envoyer
TEmail = record
dDateRecept : TDateTime;
dDateCreation : TDateTime;
sSenderName : String;
sSenderMail : String;
sCC : String;
sDestinataires : String;
sSujet : String;
sContenu : String;
iPriorite : enumImportance;
iSize : integer; // en octet
iNbPiecesJointes : integer;
tCheminPiecesJointes : array of string;
end;

function TOutlook.CreerEmail(Mail : TEmail): boolean;
var
vMail : variant;
i : integer;
vRecipient : variant;
lTemp : TStringList;
begin
Result := true;
try
//Création du mail
vMail := vApplication.CreateItem(0);
//Ajout des destinataires
//On pourra éventuellement tester le format des adresses
//ainsi que s'assurer que celles-ci sont séparées par un ;
vRecipient := vMail.Recipients.Add(Mail.sDestinataires);
vRecipient.Type := 1;
if Mail.sCC <> '' then
begin
lTemp := TStringList.Create;
lTemp.Delimiter := ';';
lTemp.DelimitedText := Mail.sCC;
for i := 0 to lTemp.Count - 1 do
begin
vRecipient := vMail.Recipients.Add(lTemp.Strings[i]);
vRecipient.Type := 2;
end;
lTemp.Free;
end;
//Ajout du sujet
vMail.Subject := Mail.sSujet;
//Ajout de la priorité
vMail.Importance := Integer(Mail.iPriorite);
//Ajout de pièce jointe
for i := 0 to Mail.iNbPiecesJointes -1 do
begin
vMail.Attachments.Add(Mail.tCheminPiecesJointes[i]);
end;
//Affichage de l'Email
vMail.Display;
except
Result := false;
end;
end;

2 réponses

Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
salut la réponse est dans ta question :

TEmail = record
  dDateRecept : TDateTime;
  dDateCreation : TDateTime;

  sSenderName : String;
  sSenderMail : String;
  sCC : String;

  sDestinataires : String;
  sSujet : String;
  sContenu : String;
  iPriorite
: enumImportance;
  iSize : integer; // en octet
  iNbPiecesJointes :
integer;
  tCheminPiecesJointes : array of string;
end;

tu remplis un record :
var MonTEmail: TEmail;
begin
with MonTMail do
begin
sDestinataires:= 'juliodelphi@c-s.com';
sSujet:= 'Test de mail';
... etc
end;
end;

viola en gros, tu as compris ?
Messages postés
197
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
17 décembre 2014

Bonjour.

Désolé d'avoir un peu mis de temps à répondre.

Je te confirme que ta procédure fonctionne trés bien.

Un grand merci.