我正在尝试使用Indy组件从Delphi XE5( android)发送电子邮件: 在表单中,我有一个TIdSMTP和一个TIDMessage. 创建表单时: testform:=Ttestform.create(self);testform.show; 应用程序暂停,我不知道有什么问题
在表单中,我有一个TIdSMTP和一个TIDMessage.
创建表单时:
testform:=Ttestform.create(self); testform.show;
应用程序暂停,我不知道有什么问题…我认为Indy组件在Android中不兼容…
IdSMTP1.Heloname:='test'; IdSMTP1.Host:='smtp.gmail.com'; IdSMTP1.Username:='umail@gmail.com'; IdSMTP1.Port:=465; IdSMTP1.Password:='pass'; if IdSMTP1.Connected=True then IdSMTP1.Disconnect; IdMessage1.clear; IdMessage1.From.Text :='Testing'; IdMessage1.BccList.EMailAddresses :='umail@gmail.com'; IdMessage1.Priority := mpHigh; IdMessage1.Sender.Text:='Umail'; IdMessage1.Subject := 'Subject'; IdMessage1.Body.Add('test'); IdSMTP1.Connect; Try IdSMTP1.Send(IdMessage1); except End;
有人用这个吗?!
Form Dont SHOW应用程序暂停…
请在这里查看完整的来源http://pastebin.com/iGtJrHHs
uses FMX.Helpers.Android, Androidapi.JNIBridge, Androidapi.JNI.JavaTypes, Androidapi.JNI.GraphicsContentViewText; ... procedure CreateEmail(const Recipient, Subject, Content: string); var Intent: JIntent; Recipients: TJavaObjectArray<JString>; begin Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_SEND); Recipients := TJavaObjectArray<JString>.Create(1); Recipients.Items[0] := StringToJString(Recipient); Intent.putExtra(TJIntent.JavaClass.EXTRA_EMAIL, Recipients); Intent.putExtra(TJIntent.JavaClass.EXTRA_SUBJECT, StringToJString(Subject)); Intent.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringToJString(Content)); Intent.setType(StringToJString('plain/text')); SharedActivity.startActivity(TJIntent.JavaClass.createChooser(Intent, StrToJCharSequence('Which email app?'))); end;
我会把它交给其他人来解决Indy问题.