git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.RemObjects@49 b6239004-a887-0f4b-9937-50029ccdca16
109 lines
3.3 KiB
ObjectPascal
109 lines
3.3 KiB
ObjectPascal
unit AsyncServerMain;
|
|
|
|
interface
|
|
{$I RemObjects.inc}
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|
StdCtrls, uROClient, uROBINMessage, uROClientIntf, uROServer,
|
|
uROPoweredByRemObjectsButton,
|
|
uROIndyUDPServer, uROPostMessage, uROIndyEmailServer, uROIndyTCPServer,
|
|
uROIndyHTTPServer;
|
|
|
|
type
|
|
TAsyncServerMainForm = class(TForm)
|
|
ROMessage: TROBINMessage;
|
|
ROServer: TROIndyHTTPServer;
|
|
RoPoweredByRemObjectsButton1: TRoPoweredByRemObjectsButton;
|
|
ROIndyUDPServer1: TROIndyUDPServer;
|
|
bSetupEmailSettings: TButton;
|
|
ROEmailServer: TROEmailServer;
|
|
PostMessage: TROPostMessage;
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure bSetupEmailSettingsClick(Sender: TObject);
|
|
procedure ROEmailServerException(aSender: TObject;
|
|
aExceptionClass: TClass; const aExceptionMessage: String);
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
private
|
|
procedure SetupEmailServer;
|
|
end;
|
|
|
|
var
|
|
AsyncServerMainForm: TAsyncServerMainForm;
|
|
|
|
implementation
|
|
|
|
uses
|
|
async_EmailSettings, IdSMTP,
|
|
IdStack;
|
|
|
|
{$R *.DFM}
|
|
|
|
procedure TAsyncServerMainForm.FormCreate(Sender: TObject);
|
|
begin
|
|
async_EmailSettings.LoadEmailSettings;
|
|
if POP3host = 'pop3host' then async_EmailSettings.SetupEmailSettings(False);
|
|
SetupEmailServer;
|
|
ROServer.Active := True;
|
|
ROIndyUDPServer1.Active := True;
|
|
ROEmailServer.Active:=True;
|
|
end;
|
|
|
|
procedure TAsyncServerMainForm.bSetupEmailSettingsClick(Sender: TObject);
|
|
begin
|
|
async_EmailSettings.SetupEmailSettings(False);
|
|
SetupEmailServer;
|
|
end;
|
|
|
|
procedure TAsyncServerMainForm.ROEmailServerException(aSender: TObject;
|
|
aExceptionClass: TClass; const aExceptionMessage: String);
|
|
begin
|
|
ShowMessage('There was a problem in the Email Server Thread:'#13#13 + aExceptionClass.ClassName + ': ' + aExceptionMessage);
|
|
end;
|
|
|
|
procedure TAsyncServerMainForm.SetupEmailServer;
|
|
begin
|
|
ROEmailServer.Active := False;
|
|
ROEmailServer.ServerEmail := ServerEmail;
|
|
{$IFDEF RemObjects_INDY8}
|
|
ROEmailServer.Pop3Client.UserId := POP3UserName;
|
|
ROEmailServer.SmtpClient.UserId := SMTPUserName;
|
|
{$ELSE}
|
|
ROEmailServer.Pop3Client.Username := POP3UserName;
|
|
ROEmailServer.SmtpClient.Username := SMTPUserName;
|
|
{$ENDIF}
|
|
ROEmailServer.Pop3Client.Password := Pop3Password;
|
|
ROEmailServer.Pop3Client.Host := POP3host;
|
|
ROEmailServer.Pop3Client.Port := POP3Port;
|
|
ROEmailServer.SmtpClient.Password := SMTPPassword;
|
|
ROEmailServer.SmtpClient.Host := SMTPhost;
|
|
ROEmailServer.SmtpClient.Port := SMTPPort;
|
|
{$IFDEF RemObjects_INDY10C}
|
|
if SMTPUserName <> '' then
|
|
ROEmailServer.SmtpClient.AuthType := satDefault
|
|
else
|
|
ROEmailServer.SmtpClient.AuthType := satNone;
|
|
{$ELSE}
|
|
{$IFDEF RemObjects_INDY10}
|
|
if SMTPUserName <> '' then
|
|
ROEmailServer.SmtpClient.AuthType := atDefault
|
|
else
|
|
ROEmailServer.SmtpClient.AuthType := atNone;
|
|
{$ELSE}
|
|
if SMTPUserName <> '' then
|
|
ROEmailServer.SmtpClient.AuthenticationType := atLogin
|
|
else
|
|
ROEmailServer.SmtpClient.AuthenticationType := atNone;
|
|
{$ENDIF}
|
|
{$ENDIF}
|
|
ROEmailServer.Active := True;
|
|
end;
|
|
|
|
procedure TAsyncServerMainForm.FormClose(Sender: TObject;
|
|
var Action: TCloseAction);
|
|
begin
|
|
ROEmailServer.Active := False;
|
|
end;
|
|
|
|
end.
|
|
|