Показать сообщение отдельно
  #8  
Старый 18.10.2016, 13:29
djmix djmix вне форума
Прохожий
 
Регистрация: 24.06.2014
Сообщения: 46
Версия Delphi: Delphi 7
Репутация: 10
Вопрос

Цитата:
Сообщение от 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;

Ответить с цитированием