gpt4 book ai didi

android - 发送电子邮件 Delphi XE5

转载 作者:太空宇宙 更新时间:2023-11-03 12:19:50 25 4
gpt4 key购买 nike

我正在尝试使用 Indy 组件从 Delphi XE5 (android) 发送电子邮件:

在表单中我有一个 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

最佳答案

这不是 Indy 问题的直接答案,但如果您考虑切换策略并使用 Android 上的内置电子邮件创建选项,您可以使用如下代码:

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 的问题。

关于android - 发送电子邮件 Delphi XE5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19135996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com