diff --git a/src/sbbs3/ctrl/MailCfgDlgUnit.cpp b/src/sbbs3/ctrl/MailCfgDlgUnit.cpp index c67ad6ce84ef8f0bf57993d6fd697d94b8f32cc2..9c7ff2b8620bfe7f50f258092e39dc718edd5346 100644 --- a/src/sbbs3/ctrl/MailCfgDlgUnit.cpp +++ b/src/sbbs3/ctrl/MailCfgDlgUnit.cpp @@ -105,6 +105,8 @@ void __fastcall TMailCfgDlg::FormShow(TObject *Sender) =AnsiString(MainForm->mail_startup.max_delivery_attempts); RescanFreqEdit->Text=AnsiString(MainForm->mail_startup.rescan_frequency); DefaultUserEdit->Text=AnsiString(MainForm->mail_startup.default_user); + BLMailFlagEdit->Text=AnsiString(MainForm->mail_startup.dnsbl_flag); + BLMailFlagEdit->Enabled=false; DebugTXCheckBox->Checked=MainForm->mail_startup.options &MAIL_OPT_DEBUG_TX; @@ -120,12 +122,14 @@ void __fastcall TMailCfgDlg::FormShow(TObject *Sender) &MAIL_OPT_ALLOW_RX_BY_NUMBER; AllowRelayCheckBox->Checked=MainForm->mail_startup.options &MAIL_OPT_ALLOW_RELAY; - RBLCheckBox->Checked=MainForm->mail_startup.options - &MAIL_OPT_USE_RBL; - DULCheckBox->Checked=MainForm->mail_startup.options - &MAIL_OPT_USE_DUL; - RSSCheckBox->Checked=MainForm->mail_startup.options - &MAIL_OPT_USE_RSS; + if(MainForm->mail_startup.options&MAIL_OPT_DNSBL_REFUSE) + BLMailRefuseRadioButton->Checked=true; + else if(MainForm->mail_startup.options&MAIL_OPT_DNSBL_IGNORE) + BLMailIgnoreRadioButton->Checked=true; + else { + BLMailFlagRadioButton->Checked=true; + BLMailFlagEdit->Enabled=true; + } TcpDnsCheckBox->Checked=MainForm->mail_startup.options &MAIL_OPT_USE_TCP_DNS; SendMailCheckBox->Checked= @@ -182,6 +186,8 @@ void __fastcall TMailCfgDlg::OKBtnClick(TObject *Sender) ,OutboundSoundEdit->Text.c_str()); SAFECOPY(MainForm->mail_startup.pop3_sound ,POP3SoundEdit->Text.c_str()); + SAFECOPY(MainForm->mail_startup.dnsbl_flag + ,BLMailFlagEdit->Text.c_str()); if(RelayRadioButton->Checked==true) MainForm->mail_startup.options|=MAIL_OPT_RELAY_TX; @@ -211,18 +217,12 @@ void __fastcall TMailCfgDlg::OKBtnClick(TObject *Sender) MainForm->mail_startup.options|=MAIL_OPT_ALLOW_RELAY; else MainForm->mail_startup.options&=~MAIL_OPT_ALLOW_RELAY; - if(RBLCheckBox->Checked==true) - MainForm->mail_startup.options|=MAIL_OPT_USE_RBL; - else - MainForm->mail_startup.options&=~MAIL_OPT_USE_RBL; - if(DULCheckBox->Checked==true) - MainForm->mail_startup.options|=MAIL_OPT_USE_DUL; - else - MainForm->mail_startup.options&=~MAIL_OPT_USE_DUL; - if(RSSCheckBox->Checked==true) - MainForm->mail_startup.options|=MAIL_OPT_USE_RSS; - else - MainForm->mail_startup.options&=~MAIL_OPT_USE_RSS; + MainForm->mail_startup.options&= + ~(MAIL_OPT_DNSBL_IGNORE|MAIL_OPT_DNSBL_REFUSE); + if(BLMailIgnoreRadioButton->Checked==true) + MainForm->mail_startup.options|=MAIL_OPT_DNSBL_IGNORE; + else if(BLMailRefuseRadioButton->Checked==true) + MainForm->mail_startup.options|=MAIL_OPT_DNSBL_REFUSE; if(HostnameCheckBox->Checked==false) MainForm->mail_startup.options|=MAIL_OPT_NO_HOST_LOOKUP; else @@ -300,3 +300,10 @@ void __fastcall TMailCfgDlg::SendMailCheckBoxClick(TObject *Sender) } //--------------------------------------------------------------------------- + +void __fastcall TMailCfgDlg::BLMailFlagRadioButtonClick(TObject *Sender) +{ + BLMailFlagEdit->Enabled=BLMailFlagRadioButton->Checked; +} +//--------------------------------------------------------------------------- + diff --git a/src/sbbs3/ctrl/MailCfgDlgUnit.dfm b/src/sbbs3/ctrl/MailCfgDlgUnit.dfm index 607a6e9c1d1dcc6c3007f03b24f849c5d45f83ab..8403966a51b4154fb1d25bf4dbbf7ed3bc071b4e 100644 --- a/src/sbbs3/ctrl/MailCfgDlgUnit.dfm +++ b/src/sbbs3/ctrl/MailCfgDlgUnit.dfm @@ -166,12 +166,13 @@ object MailCfgDlg: TMailCfgDlg object SMTPTabSheet: TTabSheet Caption = 'SMTP' ImageIndex = 1 - object SpamFilterLabel: TLabel + object BlacklistedMailLabel: TLabel Left = 9 Top = 76 - Width = 75 - Height = 16 - Caption = 'Spam Filters' + Width = 104 + Height = 24 + AutoSize = False + Caption = 'Blacklisted Mail' end object TelnetPortLabel: TLabel Left = 9 @@ -189,39 +190,6 @@ object MailCfgDlg: TMailCfgDlg AutoSize = False Caption = 'Default User' end - object RBLCheckBox: TCheckBox - Left = 113 - Top = 76 - Width = 57 - Height = 24 - Hint = 'Use Realtime Blackhole List (RBL) Spam Filter' - Caption = 'RBL' - ParentShowHint = False - ShowHint = True - TabOrder = 3 - end - object RSSCheckBox: TCheckBox - Left = 185 - Top = 76 - Width = 56 - Height = 24 - Hint = 'Use Relay Spam Stopper (RSS) Spam Filter' - Caption = 'RSS' - ParentShowHint = False - ShowHint = True - TabOrder = 4 - end - object DULCheckBox: TCheckBox - Left = 256 - Top = 76 - Width = 57 - Height = 24 - Hint = 'Use Dail-up User List (DUL) Spam Filter' - Caption = 'DUL' - ParentShowHint = False - ShowHint = True - TabOrder = 5 - end object SMTPPortEdit: TEdit Left = 113 Top = 12 @@ -233,14 +201,14 @@ object MailCfgDlg: TMailCfgDlg TabOrder = 0 end object UserNumberCheckBox: TCheckBox - Left = 113 - Top = 108 - Width = 200 + Left = 9 + Top = 130 + Width = 288 Height = 24 Hint = - 'Allow mail to be received for users by number (i.e "1@yourbbs.co' + - 'm")' - Caption = 'Allow RX by User Number' + 'Allow mail to be received for users by number (e.g. "1@yourbbs.c' + + 'om")' + Caption = 'Allow Mail Addressed by User Number' ParentShowHint = False ShowHint = True TabOrder = 1 @@ -254,7 +222,7 @@ object MailCfgDlg: TMailCfgDlg Caption = 'Log Headers' ParentShowHint = False ShowHint = True - TabOrder = 6 + TabOrder = 3 end object DefaultUserEdit: TEdit Left = 113 @@ -269,15 +237,61 @@ object MailCfgDlg: TMailCfgDlg TabOrder = 2 end object AllowRelayCheckBox: TCheckBox - Left = 113 - Top = 140 - Width = 198 + Left = 9 + Top = 162 + Width = 288 Height = 24 Hint = 'Allow mail to be relayed for authenticated users' - Caption = 'Allow Authenticated Relay' + Caption = 'Allow Authenticated Users to Relay Mail' + ParentShowHint = False + ShowHint = True + TabOrder = 4 + end + object BLMailFlagRadioButton: TRadioButton + Left = 112 + Top = 76 + Width = 57 + Height = 24 + Hint = 'Flag DNS-blacklisted mail with an X-RBL header' + Caption = 'Flag' + ParentShowHint = False + ShowHint = True + TabOrder = 5 + OnClick = BLMailFlagRadioButtonClick + end + object BLMailIgnoreRadioButton: TRadioButton + Left = 176 + Top = 76 + Width = 57 + Height = 24 + Hint = 'Pretend to receive DNS-blacklisted mail ' + Caption = 'Ignore' + ParentShowHint = False + ShowHint = True + TabOrder = 6 + OnClick = BLMailFlagRadioButtonClick + end + object BLMailRefuseRadioButton: TRadioButton + Left = 248 + Top = 76 + Width = 73 + Height = 24 + Hint = 'Refuse mail session with DNS-blacklisted servers' + Caption = 'Refuse' ParentShowHint = False ShowHint = True TabOrder = 7 + OnClick = BLMailFlagRadioButtonClick + end + object BLMailFlagEdit: TEdit + Left = 113 + Top = 100 + Width = 185 + Height = 24 + Hint = 'Flag to add to subject of DNS-blacklisted mail' + ParentShowHint = False + ShowHint = True + TabOrder = 8 end end object POP3TabSheet: TTabSheet diff --git a/src/sbbs3/ctrl/MailCfgDlgUnit.h b/src/sbbs3/ctrl/MailCfgDlgUnit.h index 633f977a2de38edcd52e90db20bfa2f58b339bcb..243c62d09b00f3e8ed35439209132ec5f48f9b13 100644 --- a/src/sbbs3/ctrl/MailCfgDlgUnit.h +++ b/src/sbbs3/ctrl/MailCfgDlgUnit.h @@ -67,10 +67,7 @@ __published: TLabel *MaxInactivityLabel; TEdit *MaxInactivityEdit; TTabSheet *SMTPTabSheet; - TLabel *SpamFilterLabel; - TCheckBox *RBLCheckBox; - TCheckBox *RSSCheckBox; - TCheckBox *DULCheckBox; + TLabel *BlacklistedMailLabel; TLabel *TelnetPortLabel; TEdit *SMTPPortEdit; TCheckBox *UserNumberCheckBox; @@ -109,6 +106,10 @@ __published: TLabel *DefaultUserLabel; TEdit *DefaultUserEdit; TCheckBox *AllowRelayCheckBox; + TRadioButton *BLMailFlagRadioButton; + TRadioButton *BLMailIgnoreRadioButton; + TRadioButton *BLMailRefuseRadioButton; + TEdit *BLMailFlagEdit; void __fastcall InboundSoundButtonClick(TObject *Sender); void __fastcall OutboundSoundButtonClick(TObject *Sender); void __fastcall FormShow(TObject *Sender); @@ -117,6 +118,7 @@ __published: void __fastcall DNSRadioButtonClick(TObject *Sender); void __fastcall POP3EnabledCheckBoxClick(TObject *Sender); void __fastcall SendMailCheckBoxClick(TObject *Sender); + void __fastcall BLMailFlagRadioButtonClick(TObject *Sender); private: public: virtual __fastcall TMailCfgDlg(TComponent* AOwner);