Page 2 of 2 FirstFirst 1 2
Results 16 to 24 of 24

Thread: Mail functie

  1. #16
    @Norrit, heb je daar een voorbeeldje van?
    1+1=b

  2. #17
    Liep er toevallig weer tegenaan. Delphi biedt je al de MAPI unit. Daarin staan wat handige functies, die je als volgt kunt gebruiken:
    Delphi Code:
    1. procedure StuurEenTestMail;
    2. var
    3.   message: MapiMessage;
    4.   attachment: MapiFileDesc;
    5. begin
    6.   // Leegmaken van het record. Geen idee eigenlijk of dat moet...
    7.   ZeroMemory(@attachment, SizeOf(Attachment));
    8.   // Filename instellen...
    9.   attachment.lpszPathName := 'c:\AttachFile.ext';
    10.  
    11.   ZeroMemory(@message, SizeOf(message));
    12.   // Body en attachments instellen. Nu is er maar 1 attachment.
    13.   // Volgens mij kun je ook een array van attachments maken en een pointer
    14.   // naar de eerste meegeven.
    15.   message.lpszNoteText := 'Zet hier je message body';
    16.   message.nFileCount := 1;
    17.   message.lpFiles := @attachment;
    18.  
    19.   // Versturen. Door de MAPI_DIALOG flag zul je een (modal) popup krijgen.
    20.   MapiSendMail(0, Form1.Handle, message, MAPI_DIALOG, 0);
    21. end;
    1+1=b

  3. #18
    Bedankt, ik zal me hier even in verdiepen het lijkt mij een goede allternatief
    Maar had nog 1 vraagje;

    Ik heb dus een button die de mail functie aanroept. Ik zou nou graag willen dat wanneer je op die knop klikt dat je dan een keuze krijgt.
    Die keuzes zullen dan zijn;

    Of ontbrekende gegevens opvragen met als bijlage de desbetreffende rij die je hebt geselecteerd.

    Of de geselecteerde tabel compleet opsturen als een word document wat dan de bijlage is.

    Is dit mogelijk denk je?
    Last edited by Marcel; 23-Mar-09 at 23:29.

  4. #19
    • Overbodige quotes verwijderd, zie Quoten
    Marcel

  5. #20
    Dat is vast mogelijk, volgens mij helpt de code van Goleztrol je al een heel eind op weg. Waar loop je precies vast?
    Marcel

  6. #21
    De code werkt perfect. Bedankt.
    Alleen hoe krijg ik enters in de body?
    Ik heb al %0D%0A geprobeerd maar dat hielp niet.


    En waar ik nog even naar zal kijken is hoe ik een pop up zou kunnen krijgen die vraagt wat ik wil versturen. Waarbij je kan kiezen uit de geselecteerde rij of de complete lijst in een words doc. Als iemand handige tips of links heeft zou ik het graag willen weten
    Last edited by Syts; 24-Mar-09 at 11:33.

  7. #22
    Ik denk dat je enters gewoon met #13#10 kunt toevoegen. Let op, die komen dan wel buiten je string. Dus:

    delphi Code:
    1. Body := 'De eerste regel.' + #13#10 + 'De tweede regel';
    Marcel

  8. #23
    Quote Originally Posted by Marcel View Post
    Ik denk dat je enters gewoon met #13#10 kunt toevoegen. Let op, die komen dan wel buiten je string.
    Tuurlijk had ik kunnen weten bedankt!

  9. #24
    Hi,

    Wanneer je het via Indy doet op basis van SMTP gebruik ik onderstaande
    code die destijds voor mij werkzaam was, vanwege het standaard bericht.

    hi,

    de code die ik zelf gebruik om een bericht als html te versturen inclusief
    een pdf als attachment doet precies wat je zoekt


    Code:
      //-----------------------------------------------------------------------
      // Mail bericht aanmaken
      //-----------------------------------------------------------------------
      FormMain.IdMessage.Clear;
      FormMain.IdMessage.Subject:='Persoonlijk accreditatie ';
      FormMain.IdMessage.Organization:='xxx';
      FormMain.IdMessage.From.Address:=''xxx@xxx.nl;
      FormMain.IdMessage.Recipients.EMailAddresses:='xxx@xx.nl';
      with TIdText.Create(FormMain.IdMessage.MessageParts, nil) do begin
         Body.Add('<BODY bgColor=#ffffff><FONT face=Arial size=2>');
         Body.Add('<b>Accreditatie '+dmTables.qry_gast.fieldbyname('naw_showEventNaam').asString+'</b><br>');
         Body.Add('________________________________________________________________________________________<br>');
         Body.Add('<BODY bgColor=#ffffff><FONT face=Arial size=1>');
         Body.Add('Dit is een automatisch gegenereerd bericht. Heeft u vragen dan verzoeken wij u om contact<br>');
         Body.Add('met ons op te nemen, zie voor de contact gegevens onderaan in de bijlage.<br>');
         Body.Add('<BODY bgColor=#ffffff><FONT face=Arial size=2>');
         Body.Add('________________________________________________________________________________________<br>');
         Body.Add('<br>');
         Body.Add('<br>');
         Body.Add('Hierbij ontvangt u de bevestigingsbrief (als pdf attachment) voor ' +dmTables.qry_gast.fieldbyname('naw_showEventNaam').asString+'<br>');
         Body.Add('Op vertoon van deze brief en een geldig legitimatiebewijs bij de kassa<br>');
         Body.Add('ontvangt u de benodigde items voor toegang tot '+dmTables.qry_gast.fieldbyname('naw_showEventNaam').asString+'<br>');
         Body.Add('<br>');
         Body.Add('Kijk voor meer informatie op de website xxx.nl<br>');
         Body.Add('<br>');
         Body.Add('Met vriendelijke groet,<br>');
         Body.Add('<br>');
         ContentType := 'text/html';
      end;
      with TIdAttachmentFile.Create(FormMain.IdMessage.MessageParts, cMapProg+cPDF) do begin
        ContentType := 'image/jpeg';
      end;
      //-----------------------------------------------------------------------
      // Bericht verzenden
      //-----------------------------------------------------------------------
      try
        FormMain.idSMTP.Connect();
        try
          FormMain.idSMTP.Send(FormMain.IdMessage);
             FormGast.TimerMelding.Enabled:=true;
             FormGast.RzStatusPanel_melding.Blinking:=true;
             FormGast.RzStatusPanel_melding.Caption:='Accreditatie verzonden';
        except
          on E: Exception do
            ShowMessage('Fout: ' + E.Message);
        end;
      finally
        FormMain.IdSMTP.Disconnect();
      end;
    Wil je net zoals ik zelf een basis opmaak kunnen maken heb je 2 opties,
    1 op basis van een Parser, zie http://www.nldelphi.com/Forum/showth...highlight=mail en naar het antwoord van VideoRipper en voorbeeld.

    Wat ik nu zelf gebruik een een report writer (Fastreport) en laat de gebruiker
    een rapport maken inclusief gegevens uit de database.
    Middels FastReport kun je een export maken naar een .html file, bijvoorbeeld
    mail.html en deze lees ik in in de body van een MailBee SMPT component
    (de kosten zijn het niet, kijk op http://www.afterlogic.com
    Dit biedt mij in ieder geval oneindig veel mogelijkheden, zelfs dat de gebruiker
    een nieuwsbrief kan maken en versturen via smtp van zijn provider.

    Er zijn meer oplossingen, maar dit is het gene dat ik gebruik en werkt
    goed, snel en efficient en biedt de gebruiker legio mogelijkheden omdat je
    een rapport generator gebruikt om layouts te maken met of zonder database
    gegevens.

    Greetz

    Peter

Page 2 of 2 FirstFirst 1 2

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •