Componentes.Terceros.RemObj.../internal/5.0.35.741/1/RemObjects SDK for Delphi/Samples/Async/AsyncServerMain.pas

109 lines
3.3 KiB
ObjectPascal
Raw Normal View History

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.