자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

Firemonkey XE10에서 Send mail 문제

2017.03.01 22:41

당신이먼저 조회 수:317

배우고 익히는데 많은 도움에 항상 감사를 드립니다.

 

개발 버젼 : XE10 seattle 에서 Android 플랫폼으로 TIdSMTP 컴포넌트로 메일을 보내는 프로그램을 짜봤는데 윈도우 플랫폼에서는 메일이 시원스럽게 잘 보내집니다.

다만 Android 플랫폼에서는 보내지를 못합니다.

어느부분이 문제인지 알수가 없어 문의를 드립니다.

참고로 해당 소스도 보내드립니다. 

 

 

 

unit MailDemoU;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls,
  FMX.MobilePreview,
  IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdExplicitTLSClientServerBase, IdMessageClient, IdSMTPBase, IdSMTP,IdSSLOpenSSL,
  IdMessage,IdText,IdAttachment, FMX.Edit, FMX.Controls.Presentation;

type
  THeaderFooterForm = class(TForm)
    Header: TToolBar;
    Footer: TToolBar;
    HeaderLabel: TLabel;
    Button1: TButton;
    edtEmailAddr: TEdit;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    function SendMail(idFrom, pw, idTo, aSubject, aText: string): Boolean;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  HeaderFooterForm: THeaderFooterForm;

  gEmailFlag,
  gSecritCode : String;
implementation

{$R *.fmx}

 

function THeaderFooterForm.SendMail(idFrom, pw, idTo, aSubject, aText: string): Boolean;
var
  SMTP: TIdSMTP;
  SSL: TIdSSLIOHandlerSocketOpenSSL;
  MM: TIdMessage;
begin
  result := false;
  SMTP := TIdSMTP.Create(nil);
  SSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
  MM := TIdMessage.Create(nil);
  try
    SMTP.Host      := 'smtp.gmail.com';
    SMTP.Port      := 587; // 465 또는 587
    SMTP.Username  := idFrom;
    SMTP.Password  := pw;
    SMTP.IOHandler := SSL;
    SMTP.UseTLS    := utUseExplicitTLS;

    SSL.Host := SMTP.Host;
    SSL.Port := SMTP.Port;

    MM.From.Address := idFrom;
    MM.Recipients.EMailAddresses := idTo;
    MM.ContentTransferEncoding := 'base64';
    MM.Subject := aSubject;

    with TIdText.Create(MM.MessageParts, MM.Body) do
    begin
      CharSet := 'utf-8';
      Body.Text := aText;
    end;

       // send mail
    try
      try
        SMTP.Connect;
        SMTP.Send(MM);
        result := true;
      except
        on E: Exception do
          showmessage('ERROR: ' + E.Message);
      end;
    finally
      if SMTP.Connected then
        SMTP.Disconnect;
    end;
  finally
    SMTP.Free;
    SSL.Free;
    MM.Free;

  end;
end;


procedure THeaderFooterForm.Button1Click(Sender: TObject);
Var
   idFrom    ,
   pw        ,
   idTo      ,
   aSubject  ,
   aText     ,
   sEmailAddr : String;

begin
   gSecritCode:= '';

   gEmailFlag := 'N';
   sEmailAddr := edtEmailAddr.Text;
   With THeaderFooterForm do
   Begin

   End;


   idFrom      := 'aaaaaaaa@gmail.com';  // From Mail
   pw          := '1234567890';

   idTo        := sEmailAddr;
   aSubject    := 'Mail Test';
   aText       := 'Send Texting';


   if SendMail(idFrom, pw, idTo, aSubject, aText) <> TRUE  Then
      Begin
         ShowMessage('Check Mail addr. !!');
      End
   Else
      Begin
         ShowMessage('Completed of Send Mail. !!');
      End

 

 

end;

end.

 


 

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 15762
공지 유용한 관련 사이트 관리자2 2014.03.20 54577
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97974
474 프로그램이 얼어버리고 블랙스크린이 됩니다 어려워 2014.12.02 901
473 핸드폰 갤러리 사진 불러오기 및 선택을 어떻게 하나요? [1] 농가사랑 2014.12.03 2202
472 푸시기능 도움을 요청드립니다. [1] file 네임 2014.12.04 1248
471 안드로이드 Clipboard 예제 [1] 껌돌 2014.12.09 1495
470 [XE6] InApp 결제 개발 [1] 가을이다 2014.12.10 1258
469 안드로이드 앱 작성시 일부만 기본 스타일을 사용하고 싶습니다. [1] 델사냥 2014.12.11 843
468 Appmethod 에 TMS 콤포넌트 설치가 안되나요? [1] 농가사랑 2014.12.15 999
467 갤럭시탭에서 오늘날짜를 불러오면 내일날짜를 가져오네요 [1] 농가사랑 2014.12.18 1168
466 Kinvey 의 Custom Endpoint 문서 내용이 이상합니다. [1] 타락천사 2014.12.18 811
465 롤리팝 5.0에서 구동이 되지않는 문제 가을이다 2014.12.25 1724
464 겔4안드로이드에서XE7연결방법좀 알려주세요? [3] 모나도 2014.12.31 1007
463 [XE6]Android 웹브라우저 오류 가을이다 2015.01.15 935
462 롤리팝에서의 앱구동문제 [1] 김하나 2015.01.17 1068
461 BroadcastReceiver 는 어떻게 구현해야 하나요? [1] goms 2015.01.27 1004
460 [세미나] 기존에 모바일 개발을 위해 안드로이드와 iOS 를 각각 개발해 왔습니다. 파이어몽키에서 이 코드를 재사용할 수 있나요? [1] 관리자 2015.01.30 849
459 안드로이드 화면별로 가로, 세로 모드 선택 angks 2015.01.30 1146
458 ListView질문입니다. 좋은날 2015.02.07 878
457 임베디드 디비(IBLITE)를 사용하는 앱을 만들었습니다. 어려워 2015.02.13 924
456 폰에 존재하는 call log(즉 수발/발신) 목록 가져오기 [1] 솔루피온 2015.02.16 676
455 JAR 추가와 관련해서 질문드립니다. [1] newbe 2015.02.16 608