我找到了使用默认电子邮件引擎从 Delphi 应用程序发送电子邮件的代码
Procedure SendEmail(Const eAddress, eObject, eText, eAttach : String);
var
Intent : JIntent;
D, S : JString;
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(eAddress));
Intent.putExtra(TJIntent.JavaClass.EXTRA_SUBJECT, StringToJString(eObject));
intent.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringToJString(eText));
Intent.setType(StringToJString('vnd.android.cursor.dir/email'));
SharedActivity.startActivity(Intent);
End;
问题出在附件上。在原始示例代码中有这样的构造
Intent.putExtra(TJIntent.JavaClass.EXTRA_STREAM,
TJnet_Uri.JavaClass.fromFile(FileName));
但 FileName 必须是 JFile。
如何将字符串转换为 JFile?或者我如何发送带有附件的电子邮件,将文件名传递给函数?