Implemented: FS#891 - Email Forward check box to Leave a copy.
| | |
| | | `gid` int(11) unsigned NOT NULL default '5000', |
| | | `maildir` varchar(255) NOT NULL default '', |
| | | `quota` bigint(20) NOT NULL default '-1', |
| | | `cc` varchar(255) NOT NULL default '', |
| | | `homedir` varchar(255) NOT NULL, |
| | | `autoresponder` enum('n','y') NOT NULL default 'n', |
| | | `autoresponder_start_date` datetime NOT NULL default '0000-00-00 00:00:00', |
| | |
| | | 'width' => '30', |
| | | 'maxlength' => '255' |
| | | ), |
| | | 'cc' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'TEXT', |
| | | 'validators' => array ( 0 => array ( 'type' => 'REGEX', |
| | | 'regex' => '/^(\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\w+\.[a-z]{2,10}){0,1}$/i', |
| | | 'errmsg'=> 'cc_error_isemail'), |
| | | ), |
| | | 'default' => '', |
| | | 'value' => '', |
| | | 'width' => '30', |
| | | 'maxlength' => '255' |
| | | ), |
| | | 'maildir' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'TEXT', |
| | |
| | | $wb["name_txt"] = 'Realname'; |
| | | $wb["name_optional_txt"] = '(Optional)'; |
| | | $wb['autoresponder_active'] = 'Enable the autoresponder'; |
| | | $wb['cc_txt'] = 'Send copy to'; |
| | | $wb['cc_error_isemail'] = 'The "Send copy to" field does not conatin a valid email address'; |
| | | ?> |
| | |
| | | <label for="quota">{tmpl_var name='quota_txt'}</label> |
| | | <input name="quota" id="quota" value="{tmpl_var name='quota'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /><p class="formInputUnity"> MB</p> |
| | | </div> |
| | | <div class="ctrlHolder"> |
| | | <label for="name">{tmpl_var name='cc_txt'}</label> |
| | | <input name="cc" id="cc" value="{tmpl_var name='cc'}" size="30" maxlength="255" type="text" class="textInput" /> {tmpl_var name='name_optional_txt'} |
| | | </div> |
| | | <div class="ctrlHolder"> |
| | | <label for="policy">{tmpl_var name='policy_txt'}</label> |
| | | <select name="policy" id="policy" class="selectInput"> |
| | |
| | | |
| | | require ["fileinto", "regex", "vacation"]; |
| | | |
| | | <tmpl_if name="cc"> |
| | | # Send a copy of email to |
| | | redirect "<tmpl_var name='cc'>"; |
| | | keep; |
| | | </tmpl_if> |
| | | |
| | | <tmpl_if name="move_junk" op="==" value="y"> |
| | | # Move spam to spam folder |
| | | if header :contains "X-Spam-Flag" "YES" { |
| | |
| | | or $data["old"]["autoresponder"] != $data["new"]["autoresponder"] |
| | | or (isset($data["new"]["email"]) and $data["old"]["email"] != $data["new"]["email"]) |
| | | or $data["old"]["autoresponder_start_date"] != $data["new"]["autoresponder_start_date"] |
| | | or $data["old"]["autoresponder_end_date"] != $data["new"]["autoresponder_end_date"]) { |
| | | or $data["old"]["autoresponder_end_date"] != $data["new"]["autoresponder_end_date"] |
| | | or $data["old"]["cc"] != $data["new"]["cc"] |
| | | ) { |
| | | |
| | | $app->log("Mailfilter config has been changed",LOGLEVEL_DEBUG); |
| | | |
| | |
| | | } |
| | | |
| | | // Write the custom mailfilter script, if mailfilter recipe has changed |
| | | if($data["old"]["custom_mailfilter"] != $data["new"]["custom_mailfilter"] or |
| | | $data["old"]["move_junk"] != $data["new"]["move_junk"]) { |
| | | if($data["old"]["custom_mailfilter"] != $data["new"]["custom_mailfilter"] |
| | | or $data["old"]["move_junk"] != $data["new"]["move_junk"] |
| | | or $data["old"]["cc"] != $data["new"]["cc"]) { |
| | | |
| | | $app->log("Mailfilter config has been changed",LOGLEVEL_DEBUG); |
| | | if(trim($data["new"]["custom_mailfilter"]) != '' or $data["new"]["move_junk"] != 'n') { |
| | | // Delete the old filter recipe |
| | |
| | | $config_file_path = $this->mailfilter_config_dir.'/'.$email_parts[1].'/'.$email_parts[0].'/.mailfilter'; |
| | | |
| | | $mailfilter_content = ''; |
| | | |
| | | if($data["new"]["cc"] != '') { |
| | | $mailfilter_content .= "cc \"!".$data["new"]["cc"]."\"\n"; |
| | | } |
| | | |
| | | if($data["new"]["move_junk"] == 'y') { |
| | | $mailfilter_content .= file_get_contents($conf["rootpath"].'/conf/mailfilter_move_junk.master')."\n"; |
| | | } |