|
|
1.1 ! root 1: /* Synchronet Control Panel (GUI Borland C++ Builder Project for Win32) */ ! 2: ! 3: /* $Id: MailCfgDlgUnit.cpp,v 1.22 2006/12/27 06:30:13 rswindell Exp $ */ ! 4: ! 5: /**************************************************************************** ! 6: * @format.tab-size 4 (Plain Text/Source Code File Header) * ! 7: * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * ! 8: * * ! 9: * Copyright 2006 Rob Swindell - http://www.synchro.net/copyright.html * ! 10: * * ! 11: * This program is free software; you can redistribute it and/or * ! 12: * modify it under the terms of the GNU General Public License * ! 13: * as published by the Free Software Foundation; either version 2 * ! 14: * of the License, or (at your option) any later version. * ! 15: * See the GNU General Public License for more details: gpl.txt or * ! 16: * http://www.fsf.org/copyleft/gpl.html * ! 17: * * ! 18: * Anonymous FTP access to the most recent released source is available at * ! 19: * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net * ! 20: * * ! 21: * Anonymous CVS access to the development source and modification history * ! 22: * is available at cvs.synchro.net:/cvsroot/sbbs, example: * ! 23: * cvs -d :pserver:[email protected]:/cvsroot/sbbs login * ! 24: * (just hit return, no password is necessary) * ! 25: * cvs -d :pserver:[email protected]:/cvsroot/sbbs checkout src * ! 26: * * ! 27: * For Synchronet coding style and modification guidelines, see * ! 28: * http://www.synchro.net/source.html * ! 29: * * ! 30: * You are encouraged to submit any modifications (preferably in Unix diff * ! 31: * format) via e-mail to [email protected] * ! 32: * * ! 33: * Note: If this box doesn't appear square, then you need to fix your tabs. * ! 34: ****************************************************************************/ ! 35: ! 36: //--------------------------------------------------------------------- ! 37: #include <vcl.h> ! 38: #pragma hdrstop ! 39: ! 40: #include "MainFormUnit.h" ! 41: #include "MailCfgDlgUnit.h" ! 42: #include "TextFileEditUnit.h" ! 43: #include <stdio.h> // sprintf() ! 44: #include <mmsystem.h> // sndPlaySound() ! 45: //--------------------------------------------------------------------- ! 46: #pragma resource "*.dfm" ! 47: TMailCfgDlg *MailCfgDlg; ! 48: //--------------------------------------------------------------------- ! 49: __fastcall TMailCfgDlg::TMailCfgDlg(TComponent* AOwner) ! 50: : TForm(AOwner) ! 51: { ! 52: } ! 53: //--------------------------------------------------------------------- ! 54: void __fastcall TMailCfgDlg::InboundSoundButtonClick(TObject *Sender) ! 55: { ! 56: OpenDialog->FileName=InboundSoundEdit->Text; ! 57: if(OpenDialog->Execute()==true) { ! 58: InboundSoundEdit->Text=OpenDialog->FileName; ! 59: sndPlaySound(OpenDialog->FileName.c_str(),SND_ASYNC); ! 60: } ! 61: } ! 62: //--------------------------------------------------------------------------- ! 63: ! 64: void __fastcall TMailCfgDlg::OutboundSoundButtonClick(TObject *Sender) ! 65: { ! 66: OpenDialog->FileName=OutboundSoundEdit->Text; ! 67: if(OpenDialog->Execute()==true) { ! 68: OutboundSoundEdit->Text=OpenDialog->FileName; ! 69: sndPlaySound(OpenDialog->FileName.c_str(),SND_ASYNC); ! 70: } ! 71: } ! 72: //--------------------------------------------------------------------------- ! 73: ! 74: void __fastcall TMailCfgDlg::FormShow(TObject *Sender) ! 75: { ! 76: char str[128]; ! 77: ! 78: if(MainForm->mail_startup.interface_addr==0) ! 79: NetworkInterfaceEdit->Text="<ANY>"; ! 80: else { ! 81: sprintf(str,"%d.%d.%d.%d" ! 82: ,(MainForm->mail_startup.interface_addr>>24)&0xff ! 83: ,(MainForm->mail_startup.interface_addr>>16)&0xff ! 84: ,(MainForm->mail_startup.interface_addr>>8)&0xff ! 85: ,MainForm->mail_startup.interface_addr&0xff ! 86: ); ! 87: NetworkInterfaceEdit->Text=AnsiString(str); ! 88: } ! 89: MaxClientsEdit->Text=AnsiString(MainForm->mail_startup.max_clients); ! 90: MaxInactivityEdit->Text=AnsiString(MainForm->mail_startup.max_inactivity); ! 91: MaxRecipientsEdit->Text=AnsiString(MainForm->mail_startup.max_recipients); ! 92: MaxMsgSizeEdit->Text=AnsiString(MainForm->mail_startup.max_msg_size); ! 93: LinesPerYieldEdit->Text=AnsiString(MainForm->mail_startup.lines_per_yield); ! 94: ! 95: AutoStartCheckBox->Checked=MainForm->MailAutoStart; ! 96: LogFileCheckBox->Checked=MainForm->MailLogFile; ! 97: HostnameCheckBox->Checked ! 98: =!(MainForm->mail_startup.options&MAIL_OPT_NO_HOST_LOOKUP); ! 99: ! 100: DefCharsetEdit->Text=AnsiString(MainForm->mail_startup.default_charset); ! 101: RelayServerEdit->Text=AnsiString(MainForm->mail_startup.relay_server); ! 102: RelayAuthNameEdit->Text=AnsiString(MainForm->mail_startup.relay_user); ! 103: RelayAuthPassEdit->Text=AnsiString(MainForm->mail_startup.relay_pass); ! 104: SMTPPortEdit->Text=AnsiString(MainForm->mail_startup.smtp_port); ! 105: POP3PortEdit->Text=AnsiString(MainForm->mail_startup.pop3_port); ! 106: RelayPortEdit->Text=AnsiString(MainForm->mail_startup.relay_port); ! 107: if(isalnum(MainForm->mail_startup.dns_server[0])) ! 108: DNSServerEdit->Text=AnsiString(MainForm->mail_startup.dns_server); ! 109: else ! 110: DNSServerEdit->Text="<auto>"; ! 111: InboundSoundEdit->Text=AnsiString(MainForm->mail_startup.inbound_sound); ! 112: OutboundSoundEdit->Text=AnsiString(MainForm->mail_startup.outbound_sound); ! 113: POP3SoundEdit->Text=AnsiString(MainForm->mail_startup.pop3_sound); ! 114: DeliveryAttemptsEdit->Text ! 115: =AnsiString(MainForm->mail_startup.max_delivery_attempts); ! 116: RescanFreqEdit->Text=AnsiString(MainForm->mail_startup.rescan_frequency); ! 117: DefaultUserEdit->Text=AnsiString(MainForm->mail_startup.default_user); ! 118: BLSubjectEdit->Text=AnsiString(MainForm->mail_startup.dnsbl_tag); ! 119: BLHeaderEdit->Text=AnsiString(MainForm->mail_startup.dnsbl_hdr); ! 120: ! 121: DebugTXCheckBox->Checked=MainForm->mail_startup.options ! 122: &MAIL_OPT_DEBUG_TX; ! 123: DebugRXCheckBox->Checked=MainForm->mail_startup.options ! 124: &MAIL_OPT_DEBUG_RX_RSP; ! 125: DebugHeadersCheckBox->Checked=MainForm->mail_startup.options ! 126: &MAIL_OPT_DEBUG_RX_HEADER; ! 127: NotifyCheckBox->Checked ! 128: =!(MainForm->mail_startup.options&MAIL_OPT_NO_NOTIFY); ! 129: POP3EnabledCheckBox->Checked=MainForm->mail_startup.options ! 130: &MAIL_OPT_ALLOW_POP3; ! 131: POP3LogCheckBox->Checked=MainForm->mail_startup.options ! 132: &MAIL_OPT_DEBUG_POP3; ! 133: RelayRadioButton->Checked=MainForm->mail_startup.options ! 134: &MAIL_OPT_RELAY_TX; ! 135: RelayAuthPlainRadioButton->Checked=MainForm->mail_startup.options ! 136: &MAIL_OPT_RELAY_AUTH_PLAIN; ! 137: RelayAuthLoginRadioButton->Checked=MainForm->mail_startup.options ! 138: &MAIL_OPT_RELAY_AUTH_LOGIN; ! 139: RelayAuthCramMD5RadioButton->Checked=MainForm->mail_startup.options ! 140: &MAIL_OPT_RELAY_AUTH_CRAM_MD5; ! 141: ! 142: #if 0 /* this is a stupid option */ ! 143: UserNumberCheckBox->Checked=MainForm->mail_startup.options ! 144: &MAIL_OPT_ALLOW_RX_BY_NUMBER; ! 145: #endif ! 146: AllowRelayCheckBox->Checked=MainForm->mail_startup.options ! 147: &MAIL_OPT_ALLOW_RELAY; ! 148: AuthViaIpCheckBox->Checked=MainForm->mail_startup.options ! 149: &MAIL_OPT_SMTP_AUTH_VIA_IP; ! 150: if(MainForm->mail_startup.options&MAIL_OPT_DNSBL_REFUSE) ! 151: BLRefuseRadioButton->Checked=true; ! 152: else if(MainForm->mail_startup.options&MAIL_OPT_DNSBL_BADUSER) ! 153: BLBadUserRadioButton->Checked=true; ! 154: else if(MainForm->mail_startup.options&MAIL_OPT_DNSBL_IGNORE) ! 155: BLIgnoreRadioButton->Checked=true; ! 156: else ! 157: BLTagRadioButton->Checked=true; ! 158: BLDebugCheckBox->Checked=MainForm->mail_startup.options ! 159: &MAIL_OPT_DNSBL_DEBUG; ! 160: ! 161: TcpDnsCheckBox->Checked=MainForm->mail_startup.options ! 162: &MAIL_OPT_USE_TCP_DNS; ! 163: SendMailCheckBox->Checked= ! 164: !(MainForm->mail_startup.options&MAIL_OPT_NO_SENDMAIL); ! 165: ! 166: int i=0; ! 167: AdvancedCheckListBox->Checked[i++] ! 168: =(MainForm->mail_startup.options&MAIL_OPT_SEND_INTRANSIT); ! 169: AdvancedCheckListBox->Checked[i++] ! 170: =(MainForm->mail_startup.options&MAIL_OPT_DEBUG_RX_BODY); ! 171: AdvancedCheckListBox->Checked[i++] ! 172: =(MainForm->mail_startup.options&MAIL_OPT_ALLOW_RX_BY_NUMBER); ! 173: AdvancedCheckListBox->Checked[i++] ! 174: =(MainForm->mail_startup.options&MAIL_OPT_DNSBL_CHKRECVHDRS); ! 175: AdvancedCheckListBox->Checked[i++] ! 176: =(MainForm->mail_startup.options&MAIL_OPT_DNSBL_THROTTLE); ! 177: ! 178: DNSBLRadioButtonClick(Sender); ! 179: DNSRadioButtonClick(Sender); ! 180: POP3EnabledCheckBoxClick(Sender); ! 181: SendMailCheckBoxClick(Sender); ! 182: AllowRelayCheckBoxClick(Sender); ! 183: RelayAuthRadioButtonClick(Sender); ! 184: PageControl->ActivePage=GeneralTabSheet; ! 185: } ! 186: //--------------------------------------------------------------------------- ! 187: static void setBit(unsigned long* l, long bit, bool yes) ! 188: { ! 189: if(yes) ! 190: *l|=bit; ! 191: else ! 192: *l&=~bit; ! 193: } ! 194: //--------------------------------------------------------------------------- ! 195: void __fastcall TMailCfgDlg::OKBtnClick(TObject *Sender) ! 196: { ! 197: char str[128],*p; ! 198: DWORD addr; ! 199: ! 200: SAFECOPY(str,NetworkInterfaceEdit->Text.c_str()); ! 201: p=str; ! 202: while(*p && *p<=' ') p++; ! 203: if(*p && isdigit(*p)) { ! 204: addr=atoi(p)<<24; ! 205: while(*p && *p!='.') p++; ! 206: if(*p=='.') p++; ! 207: addr|=atoi(p)<<16; ! 208: while(*p && *p!='.') p++; ! 209: if(*p=='.') p++; ! 210: addr|=atoi(p)<<8; ! 211: while(*p && *p!='.') p++; ! 212: if(*p=='.') p++; ! 213: addr|=atoi(p); ! 214: MainForm->mail_startup.interface_addr=addr; ! 215: } else ! 216: MainForm->mail_startup.interface_addr=0; ! 217: ! 218: MainForm->mail_startup.smtp_port=SMTPPortEdit->Text.ToIntDef(25); ! 219: MainForm->mail_startup.pop3_port=POP3PortEdit->Text.ToIntDef(110); ! 220: MainForm->mail_startup.relay_port=RelayPortEdit->Text.ToIntDef(25); ! 221: MainForm->mail_startup.max_clients=MaxClientsEdit->Text.ToIntDef(10); ! 222: MainForm->mail_startup.max_inactivity=MaxInactivityEdit->Text.ToIntDef(120); ! 223: MainForm->mail_startup.max_recipients=MaxRecipientsEdit->Text.ToIntDef(100); ! 224: MainForm->mail_startup.max_msg_size ! 225: =MaxMsgSizeEdit->Text.ToIntDef(MainForm->mail_startup.max_msg_size); ! 226: MainForm->mail_startup.max_delivery_attempts ! 227: =DeliveryAttemptsEdit->Text.ToIntDef(10); ! 228: MainForm->mail_startup.rescan_frequency=RescanFreqEdit->Text.ToIntDef(300); ! 229: MainForm->mail_startup.lines_per_yield=LinesPerYieldEdit->Text.ToIntDef(10); ! 230: ! 231: SAFECOPY(MainForm->mail_startup.default_charset ! 232: ,DefCharsetEdit->Text.c_str()); ! 233: SAFECOPY(MainForm->mail_startup.default_user ! 234: ,DefaultUserEdit->Text.c_str()); ! 235: if(isalnum(*DNSServerEdit->Text.c_str())) ! 236: SAFECOPY(MainForm->mail_startup.dns_server ! 237: ,DNSServerEdit->Text.c_str()); ! 238: else ! 239: MainForm->mail_startup.dns_server[0]=0; ! 240: SAFECOPY(MainForm->mail_startup.relay_server ! 241: ,RelayServerEdit->Text.c_str()); ! 242: SAFECOPY(MainForm->mail_startup.relay_user ! 243: ,RelayAuthNameEdit->Text.c_str()); ! 244: SAFECOPY(MainForm->mail_startup.relay_pass ! 245: ,RelayAuthPassEdit->Text.c_str()); ! 246: SAFECOPY(MainForm->mail_startup.inbound_sound ! 247: ,InboundSoundEdit->Text.c_str()); ! 248: SAFECOPY(MainForm->mail_startup.outbound_sound ! 249: ,OutboundSoundEdit->Text.c_str()); ! 250: SAFECOPY(MainForm->mail_startup.pop3_sound ! 251: ,POP3SoundEdit->Text.c_str()); ! 252: SAFECOPY(MainForm->mail_startup.dnsbl_tag ! 253: ,BLSubjectEdit->Text.c_str()); ! 254: SAFECOPY(MainForm->mail_startup.dnsbl_hdr ! 255: ,BLHeaderEdit->Text.c_str()); ! 256: ! 257: if(RelayRadioButton->Checked==true) ! 258: MainForm->mail_startup.options|=MAIL_OPT_RELAY_TX; ! 259: else ! 260: MainForm->mail_startup.options&=~MAIL_OPT_RELAY_TX; ! 261: MainForm->mail_startup.options&=~(MAIL_OPT_RELAY_AUTH_MASK); ! 262: if(RelayAuthLoginRadioButton->Checked==true) ! 263: MainForm->mail_startup.options|=MAIL_OPT_RELAY_AUTH_LOGIN; ! 264: else if(RelayAuthPlainRadioButton->Checked==true) ! 265: MainForm->mail_startup.options|=MAIL_OPT_RELAY_AUTH_PLAIN; ! 266: else if(RelayAuthCramMD5RadioButton->Checked==true) ! 267: MainForm->mail_startup.options|=MAIL_OPT_RELAY_AUTH_CRAM_MD5; ! 268: if(DebugTXCheckBox->Checked==true) ! 269: MainForm->mail_startup.options|=MAIL_OPT_DEBUG_TX; ! 270: else ! 271: MainForm->mail_startup.options&=~MAIL_OPT_DEBUG_TX; ! 272: if(DebugRXCheckBox->Checked==true) ! 273: MainForm->mail_startup.options|=MAIL_OPT_DEBUG_RX_RSP; ! 274: else ! 275: MainForm->mail_startup.options&=~MAIL_OPT_DEBUG_RX_RSP; ! 276: if(NotifyCheckBox->Checked==false) ! 277: MainForm->mail_startup.options|=MAIL_OPT_NO_NOTIFY; ! 278: else ! 279: MainForm->mail_startup.options&=~MAIL_OPT_NO_NOTIFY; ! 280: if(DebugHeadersCheckBox->Checked==true) ! 281: MainForm->mail_startup.options|=MAIL_OPT_DEBUG_RX_HEADER; ! 282: else ! 283: MainForm->mail_startup.options&=~MAIL_OPT_DEBUG_RX_HEADER; ! 284: if(POP3EnabledCheckBox->Checked==true) ! 285: MainForm->mail_startup.options|=MAIL_OPT_ALLOW_POP3; ! 286: else ! 287: MainForm->mail_startup.options&=~MAIL_OPT_ALLOW_POP3; ! 288: if(POP3LogCheckBox->Checked==true) ! 289: MainForm->mail_startup.options|=MAIL_OPT_DEBUG_POP3; ! 290: else ! 291: MainForm->mail_startup.options&=~MAIL_OPT_DEBUG_POP3; ! 292: #if 0 /* this is a stupid option */ ! 293: if(UserNumberCheckBox->Checked==true) ! 294: MainForm->mail_startup.options|=MAIL_OPT_ALLOW_RX_BY_NUMBER; ! 295: else ! 296: MainForm->mail_startup.options&=~MAIL_OPT_ALLOW_RX_BY_NUMBER; ! 297: #endif ! 298: if(AllowRelayCheckBox->Checked==true) ! 299: MainForm->mail_startup.options|=MAIL_OPT_ALLOW_RELAY; ! 300: else ! 301: MainForm->mail_startup.options&=~MAIL_OPT_ALLOW_RELAY; ! 302: if(AuthViaIpCheckBox->Checked==true) ! 303: MainForm->mail_startup.options|=MAIL_OPT_SMTP_AUTH_VIA_IP; ! 304: else ! 305: MainForm->mail_startup.options&=~MAIL_OPT_SMTP_AUTH_VIA_IP; ! 306: ! 307: /* DNSBL */ ! 308: MainForm->mail_startup.options&= ! 309: ~(MAIL_OPT_DNSBL_IGNORE|MAIL_OPT_DNSBL_REFUSE|MAIL_OPT_DNSBL_BADUSER); ! 310: if(BLIgnoreRadioButton->Checked==true) ! 311: MainForm->mail_startup.options|=MAIL_OPT_DNSBL_IGNORE; ! 312: else if(BLRefuseRadioButton->Checked==true) ! 313: MainForm->mail_startup.options|=MAIL_OPT_DNSBL_REFUSE; ! 314: else if(BLBadUserRadioButton->Checked==true) ! 315: MainForm->mail_startup.options|=MAIL_OPT_DNSBL_BADUSER; ! 316: if(BLDebugCheckBox->Checked==true) ! 317: MainForm->mail_startup.options|=MAIL_OPT_DNSBL_DEBUG; ! 318: else ! 319: MainForm->mail_startup.options&=~MAIL_OPT_DNSBL_DEBUG; ! 320: ! 321: if(HostnameCheckBox->Checked==false) ! 322: MainForm->mail_startup.options|=MAIL_OPT_NO_HOST_LOOKUP; ! 323: else ! 324: MainForm->mail_startup.options&=~MAIL_OPT_NO_HOST_LOOKUP; ! 325: if(TcpDnsCheckBox->Checked==true) ! 326: MainForm->mail_startup.options|=MAIL_OPT_USE_TCP_DNS; ! 327: else ! 328: MainForm->mail_startup.options&=~MAIL_OPT_USE_TCP_DNS; ! 329: if(SendMailCheckBox->Checked==false) ! 330: MainForm->mail_startup.options|=MAIL_OPT_NO_SENDMAIL; ! 331: else ! 332: MainForm->mail_startup.options&=~MAIL_OPT_NO_SENDMAIL; ! 333: ! 334: int i=0; ! 335: setBit(&MainForm->mail_startup.options ! 336: ,MAIL_OPT_SEND_INTRANSIT ! 337: ,AdvancedCheckListBox->Checked[i++]); ! 338: setBit(&MainForm->mail_startup.options ! 339: ,MAIL_OPT_DEBUG_RX_BODY ! 340: ,AdvancedCheckListBox->Checked[i++]); ! 341: setBit(&MainForm->mail_startup.options ! 342: ,MAIL_OPT_ALLOW_RX_BY_NUMBER ! 343: ,AdvancedCheckListBox->Checked[i++]); ! 344: setBit(&MainForm->mail_startup.options ! 345: ,MAIL_OPT_DNSBL_CHKRECVHDRS ! 346: ,AdvancedCheckListBox->Checked[i++]); ! 347: setBit(&MainForm->mail_startup.options ! 348: ,MAIL_OPT_DNSBL_THROTTLE ! 349: ,AdvancedCheckListBox->Checked[i++]); ! 350: ! 351: MainForm->MailAutoStart=AutoStartCheckBox->Checked; ! 352: MainForm->MailLogFile=LogFileCheckBox->Checked; ! 353: ! 354: MainForm->SaveIniSettings(Sender); ! 355: } ! 356: //--------------------------------------------------------------------------- ! 357: ! 358: ! 359: void __fastcall TMailCfgDlg::POP3SoundButtonClick(TObject *Sender) ! 360: { ! 361: OpenDialog->FileName=POP3SoundEdit->Text; ! 362: if(OpenDialog->Execute()==true) { ! 363: POP3SoundEdit->Text=OpenDialog->FileName; ! 364: sndPlaySound(OpenDialog->FileName.c_str(),SND_ASYNC); ! 365: } ! 366: } ! 367: //--------------------------------------------------------------------------- ! 368: ! 369: void __fastcall TMailCfgDlg::DNSRadioButtonClick(TObject *Sender) ! 370: { ! 371: bool checked = RelayRadioButton->Checked && SendMailCheckBox->Checked; ! 372: RelayTabSheet->TabVisible=checked; ! 373: RelayPortEdit->Enabled=checked; ! 374: RelayPortLabel->Enabled=checked; ! 375: checked = (!RelayRadioButton->Checked) && SendMailCheckBox->Checked; ! 376: DNSServerEdit->Enabled=checked; ! 377: DNSServerLabel->Enabled=checked; ! 378: TcpDnsCheckBox->Enabled=checked; ! 379: } ! 380: //--------------------------------------------------------------------------- ! 381: ! 382: void __fastcall TMailCfgDlg::POP3EnabledCheckBoxClick(TObject *Sender) ! 383: { ! 384: POP3PortEdit->Enabled=POP3EnabledCheckBox->Checked; ! 385: POP3PortLabel->Enabled=POP3EnabledCheckBox->Checked; ! 386: POP3SoundEdit->Enabled=POP3EnabledCheckBox->Checked; ! 387: POP3SoundLabel->Enabled=POP3EnabledCheckBox->Checked; ! 388: POP3SoundButton->Enabled=POP3EnabledCheckBox->Checked; ! 389: POP3LogCheckBox->Enabled=POP3EnabledCheckBox->Checked; ! 390: } ! 391: //--------------------------------------------------------------------------- ! 392: ! 393: ! 394: void __fastcall TMailCfgDlg::SendMailCheckBoxClick(TObject *Sender) ! 395: { ! 396: bool checked=SendMailCheckBox->Checked; ! 397: ! 398: DeliveryAttemptsEdit->Enabled=checked; ! 399: DeliveryAttemptsLabel->Enabled=checked; ! 400: RescanFreqEdit->Enabled=checked; ! 401: RescanFreqLabel->Enabled=checked; ! 402: DNSRadioButton->Enabled=checked; ! 403: DNSServerEdit->Enabled=checked; ! 404: TcpDnsCheckBox->Enabled=checked; ! 405: RelayRadioButton->Enabled=checked; ! 406: OutboundSoundEdit->Enabled=checked; ! 407: OutboundSoundLabel->Enabled=checked; ! 408: OutboundSoundButton->Enabled=checked; ! 409: DefCharsetLabel->Enabled=checked; ! 410: DefCharsetEdit->Enabled=checked; ! 411: ! 412: DNSRadioButtonClick(Sender); ! 413: } ! 414: //--------------------------------------------------------------------------- ! 415: ! 416: ! 417: void __fastcall TMailCfgDlg::DNSBLRadioButtonClick(TObject *Sender) ! 418: { ! 419: BLSubjectEdit->Enabled=BLTagRadioButton->Checked; ! 420: BLHeaderEdit->Enabled=BLTagRadioButton->Checked; ! 421: BLSubjectLabel->Enabled=BLTagRadioButton->Checked; ! 422: BLHeaderLabel->Enabled=BLTagRadioButton->Checked; ! 423: } ! 424: //--------------------------------------------------------------------------- ! 425: ! 426: void __fastcall TMailCfgDlg::DNSBLServersButtonClick(TObject *Sender) ! 427: { ! 428: char filename[MAX_PATH+1]; ! 429: ! 430: sprintf(filename,"%sdns_blacklist.cfg",MainForm->cfg.ctrl_dir); ! 431: Application->CreateForm(__classid(TTextFileEditForm), &TextFileEditForm); ! 432: TextFileEditForm->Filename=AnsiString(filename); ! 433: TextFileEditForm->Caption="Services Configuration"; ! 434: TextFileEditForm->ShowModal(); ! 435: delete TextFileEditForm; ! 436: } ! 437: //--------------------------------------------------------------------------- ! 438: ! 439: ! 440: void __fastcall TMailCfgDlg::DNSBLExemptionsButtonClick(TObject *Sender) ! 441: { ! 442: char filename[MAX_PATH+1]; ! 443: ! 444: sprintf(filename,"%sdnsbl_exempt.cfg",MainForm->cfg.ctrl_dir); ! 445: Application->CreateForm(__classid(TTextFileEditForm), &TextFileEditForm); ! 446: TextFileEditForm->Filename=AnsiString(filename); ! 447: TextFileEditForm->Caption="Services Configuration"; ! 448: TextFileEditForm->ShowModal(); ! 449: delete TextFileEditForm; ! 450: } ! 451: //--------------------------------------------------------------------------- ! 452: ! 453: void __fastcall TMailCfgDlg::AllowRelayCheckBoxClick(TObject *Sender) ! 454: { ! 455: AuthViaIpCheckBox->Enabled=AllowRelayCheckBox->Checked; ! 456: } ! 457: //--------------------------------------------------------------------------- ! 458: ! 459: void __fastcall TMailCfgDlg::RelayAuthRadioButtonClick(TObject *Sender) ! 460: { ! 461: bool enabled = !RelayAuthNoneRadioButton->Checked; ! 462: ! 463: RelayAuthNameEdit->Enabled=enabled; ! 464: RelayAuthPassEdit->Enabled=enabled; ! 465: RelayAuthNameLabel->Enabled=enabled; ! 466: RelayAuthPassLabel->Enabled=enabled; ! 467: } ! 468: //--------------------------------------------------------------------------- ! 469:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.