Цитата:
Сообщение от Alegun
Так из письма список учёток выдирается или он должон из общего списка формироваться? И что мешает завести глобальный StringList с этими данными
|
список учёток выдрать из аутлука и предстать передо мной в виде списка, выбирая из этого списка учётку, жму отправить.
проблема - как при открытии письма, изначально указать от кого слать письмо
Код:
var
Form1: TForm1;
App, NameSpace, MyMsg : OleVariant;
NumMails: integer;
outlook, accounts: OLEvariant;
MailCounter: integer;
MailMessage: variant;
NumAtt: integer;
counter,counterLIST: integer;
ATTFile : variant;
FILENAME,FilenameNew : string;
savetofol: string;
fullFileName : string;
MessageFile : string;
implementation
uses
ComObj;
{$R *.dfm}
procedure TForm1.FileListBox1Click(Sender: TObject);
begin
Edit1.Text:= FileListBox1.FileName;
Listbox1.Items.Clear;
MessageFile:=Edit1.Text;
label13.Caption:= ExtractFileName(MessageFile);
try
App := GetActiveOleObject('Outlook.Application');
except
App := CreateOleObject('Outlook.Application');
end;
NameSpace := App.GetNamespace('MAPI');
NameSpace.Logon;
MyMsg := NameSpace.OpenSharedItem(Edit1.Text);
Edit2.text:= MyMsg.To;
Edit3.text:= MyMsg.CC;
Edit4.text:= MyMsg.BCC;
Edit5.text:= MyMsg.Subject;
//Edit6.text:= MyMsg.FromAddr;
Memo1.Text:= MyMsg.Body;
//CheckBox1.Checked:=MyMsg.DeliveryNotification;
//CheckBox2.Checked:=MyMsg.ReadReceipt;
NumAtt:=Mymsg.attachments.count;
Label7.caption:=inttostr(NumAtt);
for counter:=1 to NumAtt do
BEGIN
Attfile:=Mymsg.Attachments.item(counter).filename;
Filename:='D:\PROJECT\SendMailGUI\my\tempm\'+Attfile;
FilenameNew:='D:\PROJECT\SendMailGUI\my\tempnew\'+Attfile;
Mymsg.attachments.item(counter).saveasfile(filename);
//CopyFile(PChar(filename),PChar(FilenameNew),false);
label8.Caption:= IntToStr(CounterList);
label8.Caption:= IntToStr(NumAtt);
Listbox1.Items.Add(Attfile);
//ListBox1.Sorted := True;
//DeleteFile(filename);
End;
Button3.Enabled:=True;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
{try
MyMsg.Display;
except
on e:Exception do
raise EExternal.Create(' ' + e.Message);
end; }
if DirectoryExists(label12.Caption+'\send\') then
else
CreateDir(label12.Caption+'\send\');
if length(Edit1.Text) > 6
then begin
Mymsg.Send;
NameSpace.LogOff;
// if
//CopyFile(PChar(Edit1.Text),PChar(label12.Caption+'\send\'+label13.Caption),false);
//DeleteFile(Edit1.Text);
FileListBox1.Update;
Edit1.text:='*.msg';
end;
Button3.Enabled:=False;
end;