101 lines
3.1 KiB
ObjectPascal
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.
|
|
|