IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web & réseau Delphi Discussion :

Envoyer un Mail


Sujet :

Web & réseau Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 187
    Par défaut Envoyer un Mail
    Hellow.

    J'aimerai pouvoir envoyer un mail avec le client par défaut lorsqu'on appuie sur le nom d'une personne, je suis persuadé que c' est pas complique mais je ne vois pas comment faire avec le code suivant trouvé dans la FAQ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    function SendMail(const Subject, MessageText, MailFromName, MailFromAddress, 
      MailToName, MailToAddress: String; const attachments: array of String; WinHandle: THandle = 0): 
     
    boolean; 
    var 
      MAPIError: DWord; 
      MapiMessage: TMapiMessage; 
      Originator, Recipient: TMapiRecipDesc; 
      Files, FilesTmp: PMapiFileDesc; 
      FilesCount: Integer; 
    begin 
      FillChar(MapiMessage, Sizeof(TMapiMessage), 0); 
      MapiMessage.lpszSubject := PChar(Subject); 
      MapiMessage.lpszNoteText := PChar(MessageText); 
      FillChar(Originator, Sizeof(TMapiRecipDesc), 0); 
      Originator.lpszName := PChar(MailFromName); 
      Originator.lpszAddress := PChar(MailFromAddress); 
      MapiMessage.lpOriginator := @Originator; 
      MapiMessage.nRecipCount := 1; 
      FillChar(Recipient, Sizeof(TMapiRecipDesc), 0); 
      Recipient.ulRecipClass := MAPI_TO; 
      Recipient.lpszName := PChar(MailToName); 
      Recipient.lpszAddress := PChar(MailToAddress); 
      MapiMessage.lpRecips := @Recipient; 
      MapiMessage.nFileCount := High(attachments) - Low(attachments) + 1; 
      Files := AllocMem(SizeOf(TMapiFileDesc) * MapiMessage.nFileCount); 
      MapiMessage.lpFiles := Files; 
      FilesTmp := Files; 
      for FilesCount := Low(attachments) to High(attachments) do 
      begin 
        FilesTmp.nPosition := $FFFFFFFF; 
        FilesTmp.lpszPathName := PChar(attchments[FilesCount]); 
        Inc(FilesTmp) 
      end; 
      try 
        MAPIError := MapiSendMail(0, 0, 
          MapiMessage, MAPI_DIALOG or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0); 
        result:= MAPIError = 0; 
      finally 
        FreeMem(Files) 
      end 
    end;
    Ou et comment l'incorporer?
    Un grand merci d' avance

  2. #2
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    Voici un exemple d'utilisation sans pièce jointe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls,MAPI;
     
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    function SendMail(const Subject, MessageText, MailFromName, MailFromAddress, 
      MailToName, MailToAddress: String; const attachments: array of String; WinHandle: THandle = 0): 
     
    boolean; 
    var 
      MAPIError: DWord; 
      MapiMessage: TMapiMessage;
      Originator, Recipient: TMapiRecipDesc; 
      Files, FilesTmp: PMapiFileDesc; 
      FilesCount: Integer; 
    begin 
      FillChar(MapiMessage, Sizeof(TMapiMessage), 0); 
      MapiMessage.lpszSubject := PChar(Subject); 
      MapiMessage.lpszNoteText := PChar(MessageText); 
      FillChar(Originator, Sizeof(TMapiRecipDesc), 0); 
      Originator.lpszName := PChar(MailFromName); 
      Originator.lpszAddress := PChar(MailFromAddress); 
      MapiMessage.lpOriginator := @Originator; 
      MapiMessage.nRecipCount := 1; 
      FillChar(Recipient, Sizeof(TMapiRecipDesc), 0); 
      Recipient.ulRecipClass := MAPI_TO; 
      Recipient.lpszName := PChar(MailToName); 
      Recipient.lpszAddress := PChar(MailToAddress); 
      MapiMessage.lpRecips := @Recipient; 
      MapiMessage.nFileCount := High(attachments) - Low(attachments) + 1; 
      Files := AllocMem(SizeOf(TMapiFileDesc) * MapiMessage.nFileCount); 
      MapiMessage.lpFiles := Files; 
      FilesTmp := Files; 
      for FilesCount := Low(attachments) to High(attachments) do 
      begin 
        FilesTmp.nPosition := $FFFFFFFF; 
        FilesTmp.lpszPathName := PChar(attachments[FilesCount]);
        Inc(FilesTmp) 
      end; 
      try 
        MAPIError := MapiSendMail(0, 0, 
          MapiMessage, MAPI_DIALOG or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0); 
        result:= MAPIError = 0; 
      finally 
        FreeMem(Files) 
      end 
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      SendMail('Un petit coucou', //subject
               'Je veux juste te passer un coucou', // Message
               'ero-sennin', // Nom de l'expéditeur
               'monadresseMail@developpez.com', // Adresse mail de l'expéditeur
               'toto', // Nom du destinataire
               'toto@gmail.com', // Adresse mail du destinataire
               []// attachement des pièces jointes sinon
               );
    end;
     
    end.
    Voilà, @+

  3. #3
    Membre éclairé
    Avatar de JP.NUAGE
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 83
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 777
    Par défaut
    Envoyé par melles :
    le code suivant trouvé dans la FAQ
    Bonjour melles

    Pourrais tu me dire sur quelle FAQ tu as trouvé la fonction SendMail. J'espère y trouver la fonction pour récupérer un mail.

  4. #4
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    C'est par ici (outlook obligatoire par contre ...)

    A+

Discussions similaires

  1. envoyer un mail avec mon programme
    Par shrek dans le forum C++Builder
    Réponses: 8
    Dernier message: 06/12/2006, 12h27
  2. [VB6] Comment envoyer un mail HTML par Winsocks ?
    Par hedgehog dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/05/2004, 10h04
  3. [Debutant(e)]envoyer un mail en jsp
    Par SegmentationFault dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 19/01/2004, 18h28
  4. configurer sql pour envoyer des mails
    Par arwen dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 29/07/2003, 15h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo