title: How to immediately send mail without prompt confirmation dialog
body: <p>I'm using Delphi XE3 and below is my sample application:</p>
  
  <pre><code>unit Unit1;
  
  interface
  
  uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
  
  type
    TForm1 = class(TForm)
      Button1: TButton;
      procedure Button1Click(Sender: TObject);
    private
      function Send(const FromAddr, ToAddr, Subject: String; const AttachFiles: array
          of string; const MsgBody: String): boolean;
    end;
  
  var
    Form1: TForm1;
  
  implementation
  
  uses Winapi.Mapi;
  
  {$R *.dfm}
  
  procedure TForm1.Button1Click(Sender: TObject);
  begin
    Send('', 'lmengyew@gmail.com', 'test', [], '');
  end;
  
  function TForm1.Send(const FromAddr, ToAddr, Subject: String; const
      AttachFiles: array of string; const MsgBody: String): boolean;
  var Msg: TMapiMessage;
      lpSender, lpRecipient: TMapiRecipDesc;
      Attach: array of TMapiFileDesc;
      SMTP: TFNMapiSendMail;
      MAPIModule: HModule;
      i: integer;
      S: string;
  begin
    Result := False;
    FillChar(Msg, SizeOf(Msg), 0);
  
    Msg.lpszSubject := PAnsiChar(UTF8String(Subject));
    Msg.lpszNoteText := PAnsiChar(UTF8String(MsgBody));
  
    if FromAddr &lt;&gt; '' then begin
      lpSender.ulRecipClass := MAPI_ORIG;
      lpSender.lpszName     := PAnsiChar(UTF8String(FromAddr));
      lpSender.lpszAddress  := PAnsiChar(UTF8String(FromAddr));
      lpSender.ulReserved   := 0;
      lpSender.ulEIDSize    := 0;
      lpSender.lpEntryID    := Nil;
      Msg.lpOriginator      := @lpSender;
    end;
  
    if ToAddr &lt;&gt; '' then begin
      lpRecipient.ulRecipClass := MAPI_TO;
      lpRecipient.lpszName     := PAnsiChar(UTF8String(ToAddr));
      lpRecipient.lpszAddress  := PAnsiChar(UTF8String(ToAddr));
      lpRecipient.ulReserved   := 0;
      lpRecipient.ulEIDSize    := 0;
      lpRecipient.lpEntryID    := Nil;
      Msg.nRecipCount          := 1;
      Msg.lpRecips             := @lpRecipient;
    end;
  
    SetLength(Attach, Length(AttachFiles));
    FillChar(Attach[0], Length(Attach) * SizeOf(TMapiFileDesc), 0);
    i := 0;
    for S in AttachFiles do begin
      Attach[i].nPosition := Cardinal($FFFFFFFF);
      Attach[i].lpszPathName := PAnsiChar(UTF8String(S));
      Inc(i);
    end;
    Msg.nFileCount := Length(AttachFiles);
  
    if Msg.nFileCount = 0 then
      Msg.lpFiles := nil
    else
      Msg.lpFiles := @Attach[0];
  
    MAPIModule := LoadLibrary(PChar(MAPIDLL));
  
    if MAPIModule &lt;&gt; 0 then begin
      try
        @SMTP := GetProcAddress(MAPIModule, 'MAPISendMail');
        if @SMTP &lt;&gt; nil then
          Result := SMTP(0, Application.Handle, Msg, 0, 0) = SUCCESS_SUCCESS;
      finally
        FreeLibrary(MAPIModule);
      end;
    end;
  end;
  
  end.
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/KyVh7.jpg" alt="enter image description here"></p>
  
  <p>When i click the Button1, it will prompt the confirmation dialog as print screen. My question is how to immediate send mail without prompt the confirmation dialog? Is this possible to achieve?</p>