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

101 lines
3.1 KiB
ObjectPascal

unit AsyncServerMain;
interface
{$I RemObjects.inc}
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, uROClient, uROBINMessage, uROClientIntf, uROServer, uROBPDXTCPServer,
uROBPDXHTTPServer, uROPoweredByRemObjectsButton,
uROIndyUDPServer, uROPostMessage, uROIndyEmailServer;
type
TAsyncServerMainForm = class(TForm)
ROMessage: TROBINMessage;
ROBPDXHTTPServer1: TROBPDXHTTPServer;
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;
ROBPDXHTTPServer1.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_INDY10}
if SMTPUserName <> '' then
ROEmailServer.SmtpClient.AuthType := atSASL
else
ROEmailServer.SmtpClient.AuthType := atNone;
{$ELSE}
if SMTPUserName <> '' then
ROEmailServer.SmtpClient.AuthenticationType := atLogin
else
ROEmailServer.SmtpClient.AuthenticationType := atNone;
{$ENDIF}
ROEmailServer.Active := True;
end;
procedure TAsyncServerMainForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
ROEmailServer.Active := False;
end;
end.