1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Donation with Paypal!!!

    Go to your paypal account and send directly donation to [email protected]

    1 month - 10 $ - Standart VIP

    6 months - 20 $- Standart VIP

    1 year - 30 $- Standart VIP

    2 years - 50 $- Standart VIP

    Gold member for life - 150 $- Standart VIP

    High Vip (Standart VIP include) group please send PM or email to [email protected] for info

    After Donation please send email to [email protected]

  3. Donation Ways 2020


    Paysend
  4. Telegram

  5. Delphifan Magazine
Dismiss Notice

Donation with Paypal!!!

Go to your paypal account and send directly donation to [email protected]

1 month - 10 $ - Standart VIP

6 months - 20 $- Standart VIP

1 year - 30 $- Standart VIP

2 years - 50 $- Standart VIP

Gold member for life - 150 $- Standart VIP

High Vip (Standart VIP include) group please send PM or email to [email protected] for info

After Donation please send email to [email protected]

Dismiss Notice
For open hidden message no need write thanks, thank etc. Enough is click to like button on right side of thread.

Send Emails With Attachments From Delphi XE5 On Android

Discussion in 'Delphi Android And IOS' started by AdminDF, Feb 3, 2014.

  1. AdminDF
    Online

    AdminDFAdminDF is a Verified Member Delphifan Staff Member DF Staff

    Do you need to send emails with attachments over your Android Mail Client using Delphi XE5? Daniel Magin, on his Developer Experts blog, has posted his code on how to do this.  Essentially you just need to call Daniel’s “CreateEmail” procedure passing the Recipient, Subject, Content, and Attachment  string parameters. If your attachment file does not already exist, Daniel shows how you might create one.

    [​IMG]


    Code:
    unit u_frmMain;
     
    interface
     
    uses
      System.SysUtils, System.Types, System.UITypes, System.Classes,
      System.Variants,
      FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls;
     
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        procedure CreateEmail(const Recipient, Subject, Content,
          Attachment: string);
        { Private declarations }
      public
        { Public declarations }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    uses
      Androidapi.JNI.GraphicsContentViewText,
      Androidapi.JNIBridge,
      Androidapi.JNI.JavaTypes,
      FMX.Helpers.Android,
      Androidapi.JNI.Net,
      Androidapi.JNI.Os,
      Androidapi.IOUtils;
     
    {$R *.fmx}
     
    procedure TForm1.CreateEmail(const Recipient, Subject, Content,
      Attachment: string);
    var
      Intent: JIntent;
      Uri: Jnet_Uri;
      AttachmentFile: JFile;
    begin
      Intent := TJIntent.Create;
      Intent.setAction(TJIntent.JavaClass.ACTION_Send);
      Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
      Intent.putExtra(TJIntent.JavaClass.EXTRA_EMAIL, StringToJString(Recipient));
      Intent.putExtra(TJIntent.JavaClass.EXTRA_SUBJECT, StringToJString(Subject));
      Intent.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringToJString(Content));
      AttachmentFile := SharedActivity.getExternalFilesDir
        (StringToJString(Attachment));
     
      Uri := TJnet_Uri.JavaClass.fromFile(AttachmentFile);
     
      Intent.putExtra(TJIntent.JavaClass.EXTRA_STREAM,
        TJParcelable.Wrap((Uri as ILocalObject).GetObjectID));
     
      Intent.setType(StringToJString('vnd.android.cursor.dir/email'));
     
      SharedActivity.startActivity(Intent);
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      sl: TStringList;
      sFileName: string;
    begin
      sFileName := Androidapi.IOUtils.getExternalFilesDir + PathDelim + 'Test.txt';
      sl := TStringList.Create;
      try
        sl.Add('TestContent');
        sl.SaveToFile(sFileName);
      finally
        FreeAndNil(sl); 
      end;
      CreateEmail('[email protected]', 'TestFromDelphi', 'Dödeldiedeidiedödeldiemöp','Test.txt');
    end;
     
    end.
    
    
     

Share This Page