Skip to content
Snippets Groups Projects
Commit 634b175f authored by rswindell's avatar rswindell
Browse files

Create "Relay" tab sheet with relay server related options, including new

authentication options.
parent 4bd302b8
Branches
Tags
No related merge requests found
......@@ -6,7 +6,7 @@
* @format.tab-size 4 (Plain Text/Source Code File Header) *
* @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) *
* *
* Copyright 2003 Rob Swindell - http://www.synchro.net/copyright.html *
* Copyright 2004 Rob Swindell - http://www.synchro.net/copyright.html *
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License *
......@@ -98,6 +98,8 @@ void __fastcall TMailCfgDlg::FormShow(TObject *Sender)
=!(MainForm->mail_startup.options&MAIL_OPT_NO_HOST_LOOKUP);
RelayServerEdit->Text=AnsiString(MainForm->mail_startup.relay_server);
RelayAuthNameEdit->Text=AnsiString(MainForm->mail_startup.relay_user);
RelayAuthPassEdit->Text=AnsiString(MainForm->mail_startup.relay_pass);
SMTPPortEdit->Text=AnsiString(MainForm->mail_startup.smtp_port);
POP3PortEdit->Text=AnsiString(MainForm->mail_startup.pop3_port);
RelayPortEdit->Text=AnsiString(MainForm->mail_startup.relay_port);
......@@ -126,6 +128,13 @@ void __fastcall TMailCfgDlg::FormShow(TObject *Sender)
&MAIL_OPT_DEBUG_POP3;
RelayRadioButton->Checked=MainForm->mail_startup.options
&MAIL_OPT_RELAY_TX;
RelayAuthPlainRadioButton->Checked=MainForm->mail_startup.options
&MAIL_OPT_RELAY_AUTH_PLAIN;
RelayAuthLoginRadioButton->Checked=MainForm->mail_startup.options
&MAIL_OPT_RELAY_AUTH_LOGIN;
RelayAuthCramMD5RadioButton->Checked=MainForm->mail_startup.options
&MAIL_OPT_RELAY_AUTH_CRAM_MD5;
#if 0 /* this is a stupid option */
UserNumberCheckBox->Checked=MainForm->mail_startup.options
&MAIL_OPT_ALLOW_RX_BY_NUMBER;
......@@ -155,6 +164,7 @@ void __fastcall TMailCfgDlg::FormShow(TObject *Sender)
POP3EnabledCheckBoxClick(Sender);
SendMailCheckBoxClick(Sender);
AllowRelayCheckBoxClick(Sender);
RelayAuthRadioButtonClick(Sender);
PageControl->ActivePage=GeneralTabSheet;
}
//---------------------------------------------------------------------------
......@@ -201,6 +211,10 @@ void __fastcall TMailCfgDlg::OKBtnClick(TObject *Sender)
,DNSServerEdit->Text.c_str());
SAFECOPY(MainForm->mail_startup.relay_server
,RelayServerEdit->Text.c_str());
SAFECOPY(MainForm->mail_startup.relay_user
,RelayAuthNameEdit->Text.c_str());
SAFECOPY(MainForm->mail_startup.relay_pass
,RelayAuthPassEdit->Text.c_str());
SAFECOPY(MainForm->mail_startup.inbound_sound
,InboundSoundEdit->Text.c_str());
SAFECOPY(MainForm->mail_startup.outbound_sound
......@@ -216,6 +230,13 @@ void __fastcall TMailCfgDlg::OKBtnClick(TObject *Sender)
MainForm->mail_startup.options|=MAIL_OPT_RELAY_TX;
else
MainForm->mail_startup.options&=~MAIL_OPT_RELAY_TX;
MainForm->mail_startup.options&=~(MAIL_OPT_RELAY_AUTH_MASK);
if(RelayAuthLoginRadioButton->Checked==true)
MainForm->mail_startup.options|=MAIL_OPT_RELAY_AUTH_LOGIN;
else if(RelayAuthPlainRadioButton->Checked==true)
MainForm->mail_startup.options|=MAIL_OPT_RELAY_AUTH_PLAIN;
else if(RelayAuthCramMD5RadioButton->Checked==true)
MainForm->mail_startup.options|=MAIL_OPT_RELAY_AUTH_CRAM_MD5;
if(DebugTXCheckBox->Checked==true)
MainForm->mail_startup.options|=MAIL_OPT_DEBUG_TX;
else
......@@ -302,11 +323,13 @@ void __fastcall TMailCfgDlg::POP3SoundButtonClick(TObject *Sender)
void __fastcall TMailCfgDlg::DNSRadioButtonClick(TObject *Sender)
{
RelayServerEdit->Enabled=RelayRadioButton->Checked;
RelayPortEdit->Enabled=RelayRadioButton->Checked;
RelayPortLabel->Enabled=RelayRadioButton->Checked;
DNSServerEdit->Enabled=!RelayRadioButton->Checked;
TcpDnsCheckBox->Enabled=!RelayRadioButton->Checked;
bool checked = RelayRadioButton->Checked && SendMailCheckBox->Checked;
RelayTabSheet->TabVisible=checked;
RelayPortEdit->Enabled=checked;
RelayPortLabel->Enabled=checked;
DNSServerEdit->Enabled=!checked;
DNSServerLabel->Enabled=!checked;
TcpDnsCheckBox->Enabled=!checked;
}
//---------------------------------------------------------------------------
......@@ -334,15 +357,11 @@ void __fastcall TMailCfgDlg::SendMailCheckBoxClick(TObject *Sender)
DNSServerEdit->Enabled=checked;
TcpDnsCheckBox->Enabled=checked;
RelayRadioButton->Enabled=checked;
RelayServerEdit->Enabled=checked;
RelayPortEdit->Enabled=checked;
RelayPortLabel->Enabled=checked;
OutboundSoundEdit->Enabled=checked;
OutboundSoundLabel->Enabled=checked;
OutboundSoundButton->Enabled=checked;
if(checked)
DNSRadioButtonClick(Sender);
DNSRadioButtonClick(Sender);
}
//---------------------------------------------------------------------------
......@@ -389,3 +408,14 @@ void __fastcall TMailCfgDlg::AllowRelayCheckBoxClick(TObject *Sender)
}
//---------------------------------------------------------------------------
void __fastcall TMailCfgDlg::RelayAuthRadioButtonClick(TObject *Sender)
{
bool enabled = !RelayAuthNoneRadioButton->Checked;
RelayAuthNameEdit->Enabled=enabled;
RelayAuthPassEdit->Enabled=enabled;
RelayAuthNameLabel->Enabled=enabled;
RelayAuthPassLabel->Enabled=enabled;
}
//---------------------------------------------------------------------------
object MailCfgDlg: TMailCfgDlg
Left = 841
Top = 501
Left = 501
Top = 339
BorderStyle = bsDialog
Caption = 'Mail Server Configuration'
ClientHeight = 303
......@@ -53,8 +53,8 @@ object MailCfgDlg: TMailCfgDlg
Top = 4
Width = 342
Height = 245
ActivePage = DNSBLTabSheet
TabIndex = 5
ActivePage = RelayTabSheet
TabIndex = 4
TabOrder = 3
object GeneralTabSheet: TTabSheet
Caption = 'General'
......@@ -367,15 +367,6 @@ object MailCfgDlg: TMailCfgDlg
object SendMailTabSheet: TTabSheet
Caption = 'SendMail'
ImageIndex = 3
object RelayPortLabel: TLabel
Left = 197
Top = 172
Width = 39
Height = 26
Alignment = taRightJustify
AutoSize = False
Caption = 'Port'
end
object DeliveryAttemptsLabel: TLabel
Left = 9
Top = 44
......@@ -394,15 +385,22 @@ object MailCfgDlg: TMailCfgDlg
AutoSize = False
Caption = 'Frequency'
end
object DNSServerLabel: TLabel
Left = 9
Top = 152
Width = 72
Height = 16
Caption = 'DNS Server'
end
object DNSRadioButton: TRadioButton
Left = 9
Top = 76
Width = 104
Top = 116
Width = 184
Height = 26
Hint =
'Send mail directly to addressed mail server (requires DNS server' +
' access)'
Caption = 'DNS Server'
Caption = 'Direct Mail Delivery'
Checked = True
ParentShowHint = False
ShowHint = True
......@@ -412,9 +410,9 @@ object MailCfgDlg: TMailCfgDlg
end
object DNSServerEdit: TEdit
Left = 113
Top = 76
Top = 148
Width = 185
Height = 21
Height = 24
Hint = 'Host name or IP address of your ISP'#39's DNS server'
ParentShowHint = False
ShowHint = True
......@@ -422,7 +420,7 @@ object MailCfgDlg: TMailCfgDlg
end
object TcpDnsCheckBox: TCheckBox
Left = 250
Top = 108
Top = 180
Width = 65
Height = 24
Hint = 'Use TCP packets (instead of UDP) for DNS queries'
......@@ -433,43 +431,21 @@ object MailCfgDlg: TMailCfgDlg
end
object RelayRadioButton: TRadioButton
Left = 9
Top = 140
Width = 104
Top = 84
Width = 192
Height = 26
Hint = 'Route all mail through an SMTP relay server'
Caption = 'Relay Server'
Caption = 'Use Relay Server'
ParentShowHint = False
ShowHint = True
TabOrder = 6
OnClick = DNSRadioButtonClick
end
object RelayServerEdit: TEdit
Left = 113
Top = 140
Width = 185
Height = 21
Hint =
'Host name or IP address of external SMTP server (for relaying ma' +
'il)'
ParentShowHint = False
ShowHint = True
TabOrder = 7
end
object RelayPortEdit: TEdit
Left = 250
Top = 172
Width = 48
Height = 21
Hint = 'TCP port number for the SMTP relay server (default=25)'
ParentShowHint = False
ShowHint = True
TabOrder = 8
end
object DeliveryAttemptsEdit: TEdit
Left = 113
Top = 44
Width = 48
Height = 21
Height = 24
Hint = 'Maximum number of delivery attempts'
ParentShowHint = False
ShowHint = True
......@@ -479,7 +455,7 @@ object MailCfgDlg: TMailCfgDlg
Left = 250
Top = 44
Width = 48
Height = 21
Height = 24
Hint = 'Seconds between message base rescans'
ParentShowHint = False
ShowHint = True
......@@ -498,6 +474,131 @@ object MailCfgDlg: TMailCfgDlg
OnClick = SendMailCheckBoxClick
end
end
object RelayTabSheet: TTabSheet
Caption = 'Relay'
ImageIndex = 6
object RelayPortLabel: TLabel
Left = 240
Top = 12
Width = 33
Height = 26
Alignment = taRightJustify
AutoSize = False
Caption = 'Port'
end
object RelayServerLabel: TLabel
Left = 9
Top = 12
Width = 40
Height = 16
Caption = 'Server'
end
object RelayServerEdit: TEdit
Left = 65
Top = 12
Width = 168
Height = 24
Hint =
'Host name or IP address of external SMTP server (for relaying ma' +
'il)'
ParentShowHint = False
ShowHint = True
TabOrder = 0
end
object RelayPortEdit: TEdit
Left = 282
Top = 12
Width = 39
Height = 24
Hint = 'TCP port number for the SMTP relay server (default=25)'
ParentShowHint = False
ShowHint = True
TabOrder = 1
end
object RelayAuthGroupBox: TGroupBox
Left = 9
Top = 41
Width = 320
Height = 160
Caption = 'Authentication:'
TabOrder = 2
object RelayAuthNameLabel: TLabel
Left = 16
Top = 92
Width = 80
Height = 26
AutoSize = False
Caption = 'Name'
end
object RelayAuthPassLabel: TLabel
Left = 16
Top = 121
Width = 80
Height = 25
AutoSize = False
Caption = 'Password'
end
object RelayAuthNoneRadioButton: TRadioButton
Left = 16
Top = 28
Width = 113
Height = 24
Caption = 'None'
Checked = True
TabOrder = 0
TabStop = True
OnClick = RelayAuthRadioButtonClick
end
object RelayAuthPlainRadioButton: TRadioButton
Left = 169
Top = 28
Width = 113
Height = 24
Caption = 'Plain'
TabOrder = 1
OnClick = RelayAuthRadioButtonClick
end
object RelayAuthLoginRadioButton: TRadioButton
Left = 169
Top = 57
Width = 113
Height = 24
Caption = 'Login'
TabOrder = 2
OnClick = RelayAuthRadioButtonClick
end
object RelayAuthCramMD5RadioButton: TRadioButton
Left = 16
Top = 57
Width = 113
Height = 24
Caption = 'CRAM-MD5'
TabOrder = 3
OnClick = RelayAuthRadioButtonClick
end
object RelayAuthNameEdit: TEdit
Left = 105
Top = 92
Width = 185
Height = 24
Hint = 'User name to authenticate as'
ParentShowHint = False
ShowHint = True
TabOrder = 4
end
object RelayAuthPassEdit: TEdit
Left = 105
Top = 121
Width = 185
Height = 24
Hint = 'Password for authentication'
ParentShowHint = False
PasswordChar = '*'
ShowHint = True
TabOrder = 5
end
end
end
object SoundTabSheet: TTabSheet
Caption = 'Sound'
ImageIndex = 4
......@@ -529,7 +630,7 @@ object MailCfgDlg: TMailCfgDlg
Left = 113
Top = 12
Width = 185
Height = 21
Height = 24
Hint = 'Sound file to play when inbound SMTP connections are accepted'
ParentShowHint = False
ShowHint = True
......@@ -548,7 +649,7 @@ object MailCfgDlg: TMailCfgDlg
Left = 113
Top = 76
Width = 185
Height = 21
Height = 24
Hint = 'Sound file to play when accepting POP3 connections'
ParentShowHint = False
ShowHint = True
......@@ -567,7 +668,7 @@ object MailCfgDlg: TMailCfgDlg
Left = 113
Top = 44
Width = 185
Height = 21
Height = 24
Hint = 'Sound file to play when sending mail'
ParentShowHint = False
ShowHint = True
......
......@@ -82,9 +82,6 @@ __published:
TEdit *DNSServerEdit;
TCheckBox *TcpDnsCheckBox;
TRadioButton *RelayRadioButton;
TEdit *RelayServerEdit;
TEdit *RelayPortEdit;
TLabel *RelayPortLabel;
TLabel *DeliveryAttemptsLabel;
TEdit *DeliveryAttemptsEdit;
TLabel *RescanFreqLabel;
......@@ -127,6 +124,21 @@ __published:
TEdit *MaxMsgSizeEdit;
TCheckBox *AuthViaIpCheckBox;
TCheckBox *NotifyCheckBox;
TTabSheet *RelayTabSheet;
TEdit *RelayServerEdit;
TEdit *RelayPortEdit;
TLabel *RelayPortLabel;
TLabel *DNSServerLabel;
TLabel *RelayServerLabel;
TGroupBox *RelayAuthGroupBox;
TRadioButton *RelayAuthNoneRadioButton;
TRadioButton *RelayAuthPlainRadioButton;
TRadioButton *RelayAuthLoginRadioButton;
TRadioButton *RelayAuthCramMD5RadioButton;
TLabel *RelayAuthNameLabel;
TEdit *RelayAuthNameEdit;
TLabel *RelayAuthPassLabel;
TEdit *RelayAuthPassEdit;
void __fastcall InboundSoundButtonClick(TObject *Sender);
void __fastcall OutboundSoundButtonClick(TObject *Sender);
void __fastcall FormShow(TObject *Sender);
......@@ -139,6 +151,7 @@ __published:
void __fastcall DNSBLServersButtonClick(TObject *Sender);
void __fastcall DNSBLExemptionsButtonClick(TObject *Sender);
void __fastcall AllowRelayCheckBoxClick(TObject *Sender);
void __fastcall RelayAuthRadioButtonClick(TObject *Sender);
private:
public:
virtual __fastcall TMailCfgDlg(TComponent* AOwner);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment