[DELPHI] Probleem met mailen via MAPI

Pagina: 1
Acties:

  • Wilde
  • Registratie: December 2000
  • Niet online
Ik zit met een probleem, misschien kan iemand me helpen. Ik gebruik onderstaande code om binnen delphi mail te sturen over een exchange omgeving:
M2 := OutlookApplication1.CreateItem(olMailItem) as MailItem;
M2.AlternateRecipientAllowed := True;
M2.SentOnBehalfOfName := Mailbox_Afzender;
M2.Recipients.Add(StringGrid1.Cells[3,Count]);
M2.CC := (Mailbox_CC);
M2.ReadReceiptRequested := TRUE;
M2.Subject := Mailbox_Subject;
For X := 0 to Memo1.Lines.Count-1 do
M2.Body := M2.Body + Memo1.Lines[x] + #$0D + #$0A;
M2.Attachments.Add(StartupDir+'\'+Mailbox_Attachment,EmptyParam,EmptyParam,EmptyParam);
M2.Send;
Mocht hij de geadresseerde niet in de global adreslist vinden dan knalt hij eruit !! Eigenlijk zou hij met het outlook schermpje moeten komen waar je de juiste persoon uit de global adres list kan kiezen.

Kan dit door ipv het mailtje te versturen (m2.send) een m2.move te doen ? En dan moven naar de outbox ?

In dat geval weet ik de syntax van move niet.. Het is M2.Move(MapiFoldernaam), maar ik weet de opbouw niet van mapifoldernaam. Weet dus niet hoe ik daar de foldernaam outbox in kan vullen.

Specs: 9800X3D, RTX 5090, 64GB, VR: Pimax Crystal-Light


  • cimbom
  • Registratie: Juni 2001
  • Laatst online: 26-04-2024

cimbom

Just Kidding

/edit: Verkeerd gelezen laat maar.

[ Voor 84% gewijzigd door cimbom op 25-09-2003 10:21 ]


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Hoe knalt ie er eigenlijk uit? Met een foutmelding, met een crash (en wat voor crash dan)?

Ohja, en dit is geen MAPI hoor, dit is gewoon Outlook aanspreken. MAPI is een systeem waarmee je via iedere gewenste mailclient een mailtje kan versturen.

日本!🎌


Verwijderd

Je kunt de Outlookfolders realtief makkelijk uitvragen via onderstaande code. Dit voorbeeld geeft de mappenstructuur teruf als nodes in een TTreeView:

code:
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
uses 
  ComObj; 

procedure RetrieveOutlookFolders(tvFolders: TTreeView); 

  procedure LoadFolder(ParentNode: TTreeNode; Folder: OleVariant); 
  var 
    i: Integer; 
    Node: TTreeNode; 
  begin 
    for i := 1 to Folder.Count do 
    begin 
      Node := tvFolders.Items.AddChild(ParentNode, Folder.Item[i].Name); 

      LoadFolder(Node, Folder.Item[i].Folders); 
    end; 
  end; 
var 
  outlook, NameSpace: OLEVariant; 
begin 
  outlook   := CreateOleObject('Outlook.Application'); 
  NameSpace := outlook.GetNameSpace('MAPI'); 

  LoadFolder(nil, NameSpace.Folders); 

  outlook := Unassigned; 
end; 


procedure TForm1.Button1Click(Sender: TObject); 
begin 
  RetrieveOutlookFolders(TreeView1); 
end;