小编Ima*_*ASE的帖子

如何使用OAuth 2.0从Indy发送Gmail?

以下代码使用Google的Gmail服务器成功发送电子邮件,但只有在将Google帐户安全设置降低为"允许安全性较低的应用"后才能发送.

下面提供的代码(最初来自Remy LeBeau)没有包含OAuth 2.0,如果您不想让用户做出看似艰难的决定来降低其安全设置以允许您的应用程序成功,则需要使用该代码.如何将OAuth 2.0纳入Indy解决方案以满足Google更高的安全标准?

工作方案:

function TTabbedwithNavigationForm.SendEmailNow(FromStr, ToStr, Subject,
MessageBody, Host: String; Port: Integer; UserName, Pass: String): Boolean;
  begin

///From Remy LeBeau Indy SMTP with SSL via gmail host
Result := False;

try
  IdMessage1 := nil;
  IdSSLIOHandlerSocketOpenSSL1 := nil;
  IdSMTP1 := nil;
  try
    //setup mail message
    try
      IdMessage1                         := TIdMessage.Create(nil);
      IdMessage1.From.Address                := FromStr;//// change to league email
      IdMessage1.Recipients.EMailAddresses   := ToStr;
      IdMessage1.Subject                     := Subject;
      IdMessage1.Body.Text                   := MessageBody;
      //if FileExists(datafilename) then
      //  IdAttachmentFile := TIdAttachmentFile.Create(IdMessage1.MessageParts, datafilename);
    except
      Exception.RaiseOuterException(Exception.Create('Could not create message, …
Run Code Online (Sandbox Code Playgroud)

delphi android oauth indy10

14
推荐指数
1
解决办法
946
查看次数

标签 统计

android ×1

delphi ×1

indy10 ×1

oauth ×1