Close

Copyself & Backup

Version 1.0
Document release 1.0 (30-SEP-2017)

    Copyself & Backup system.

    The programs, scripts, utilities, documentation in this kit
    are released under the GNU General Public License.

    Copyright (C) 2017 Francesco Gennai

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see .



    Francesco Gennai - francesco.gennai@isti.cnr.it
                       francesco.gennai@gmail.com

Contents.

Terminology used in this document.
Introduction.
Installation.
PMDF configuration for SAVESENT channel.
PMDF configuration for SAVERECEIVED channel.
Channel OPTION files.
Mappings tables.
How to restore an email.
Appendices.
1. Workaround to solve the problem introduced by the special rule.
2. Msgstore users management.
3. A simple configuration for testing Copyslef & Backup.
4. Legal considerations.
5. Contents of the zip kit.

Terminology used in this document.

Original mailbox: the user mailbox.
Original user: the user used to access the original mailbox.
Backup mailbox: the mailbox associated with the original mailbox where the backup email are delivered.
Backup user: the user used to access the backup mailbox.
Original email: email sent or received by an original user.
Copyself email: the copy of the original email sent by the user, that is delivered to the sent folder.
Backup email: the copy of the original email that is delivered to the backup user for each original email sent or received by the original mailbox.
Copyself sent folder: is the folder name in the original mailbox where the copyself email are stored.
Backup sent folder: is the folder name in the backup mailbox where the backup copy of the sent original email is delivered.
Backup received folder: is the folder name in the backup mailbox where the backup copy of the received original email is delivered.
Special rule: an undocumented PMDF configuration rule.

Contents

Introduction.

After reading this document, I strongly recommend starting with the test setup described in Appendix 3.

Copyself & Backup adds a couple of functionalities to the PMDF MTA.

COPYSELF.

There are users that configure the email client to send back each email that they send. The email will be delivered to the user INBOX as a copy of the sent email.
Copyself is a PMDF channel that delivers the email sent to the sender's mailbox.
Here are described some scenarios where this function is applicable.
To maintain a copy of the sent email on the server and share it among different email clients, many users (mainly POP users) send every sent email to themselves, by adding their email address to a CC or BCC field.
Not all the email clients permit to configure a permanent CC or BCC field. In this case, to save the email on the server, users need to add their email address every time they send an email.
The email sent by a client will not contain a BCC field. If the original email was sent also to BCC addresses, the stored email will not contain these addresses (no BCC field). (To maintain the BCC field in sent email, the client should send separate copies of the email, one for each BCC address, plus the one without any BCC address: for example, the Gmail client do so).
Copyself do it for you and stores the email on the server without losing the bcc addresses.

When a user sends an email by an IMAP client, the sent email can be appended to the Sent folder (mailbox) on the server. In this case the email will be transferred twice from the client to the server; one time by the SMTP protocol (to send the email), the other time by the IMAP protocol (to append the email to the Sent folder).
If the client fails to save the email on the sever (IMAP server unreachable, problems with the IMAP mailbox, ....), sending the email can have different results. It depends by the client:
1) The whole operation fails: the client sends the email over SMTP protocol only after that the email is saved on the Sent folder on the server.
2) The email is sent but not saved on the Sent mailbox on the server: the email is lost from the point of view of the sending user.
Copyself simplifies this procedure, by transferring only one copy of the email (over SMTP protocol) and permits to store the sent email to a Sent folder on the IMAP mailbox.

Users that have more clients, mixed IMAP and POP, will have the sent email stored in the Sent folder also when the email is sent by a POP client. Of course if they prefer to store the email to the sent folder. Otherwise the email can be stored to the INBOX.

Copyself has a fine control by two mappings tables:
FG__COPYSELF, to enable the function under some conditions, on user basis.
FG__COPYSELFFOLDER, to select the sent folder name, on user basis. Although I recommend using the same name for all users. In fact, another advantage of copyself is having the same sent folder name for all users/email-clients.

The PMDF channel name for copyself is SAVESENT. It is possible to define more SAVESENT channels, by adding a suffix to the channel name. For example: SAVESENT, SAVESENTONE, SAVESENT_FIRST are valid channel names.

BACKUP.

Backup is composed by two PMDF channels that duplicate any sent or received email to store it in a backup mailbox.
It may happen that users complain that they have lost emails. For example, because they accidentally deleted them; because a malformed client filter save them to an unrecognized folder; or, for POP mailboxes, because the client at home has downloaded and deleted the email from the server and the user is in the office :-).
Backup permits user immediate access to the duplicate of each email received or sent by the user.
It does not require any intervention from the system administrator.
It applies to both IMAP and POP mailboxes, legacy operating system mailboxes or popstore/msgstore mailboxes.
Moreover, for site using the msgstore mailboxes, it is possible to have the backup mailboxes on a different disk array than the original mailboxes, by the map_profile_filename routine (one routine example is provided in this kit).
The backup mailbox has two folders: bckReceived and bckSent, where the emails are delivered.
The backup mailboxes could be also on a remote MTA.
It is particularly interesting the case in which both original mailboxes and backup mailboxes are msgstore (POP/IMAP access) and are on the same system. In this case, the backup mailbox folders (bckReceived and bckSent) can be shared with the original mailbox, also as read-only folder, if preferred.

Backup has a fine control by two mappings tables:
FG__BACKUP, to enable the function under some conditions, on user basis.
FG__BACKUPUSERS, to control to which addresses can send a backup user when restores a saved email (this applies only if the backup mailboxes are on a PMDF MTA that runs a SAVESENT channel).

The PMDF channel names for the backup function are SAVESENT and SAVERECEIVED.
It is possible to define more channels, by adding a suffix to the channel name. For example: SAVERECEIVED, SAVESENTONE, SAVERECEIVED_FIRST are valid channel names.

NOTE
SAVESENT channel relies on an undocumented PMDF configuration rule.

Copyself and Backup are independent functions. You can enable just Copyself or just Backup, or both.
To enable Copyself it just needs SAVESENT channel. To enable Backup it needs SAVESENT and SAVERCEIVED channels.

Contents

Installation.

OpenVMS.
Download the kit cpsbckxx.zip
Choose a path ( device:[directory] ) where to unzip the kit.
$ set default device:[directory]
$ unzip device:[zipfiledir]cpsbckxx.zip
$ set default device:[directory.savechannels]
$ @BUILD_SAVE_CHANNELS.COM all|compile|link
Where:
all = compile + link
compile = only compile
link = only link

Copy the channels executables savesent_channel.exe and savereceived_channel.exe to the pmdf_exe: directory.
Copy the files SAVESENT_CUSTOM_MASTER.COM and SAVERECEIVED_CUSTOM_MASTER.COM to the pmdf_com: directory.

Contents

PMDF configuration for SAVESENT channel.

The SAVESENT channel and the PMDF special rule.
The SAVESENT channel must be called by the following PMDF undocumented rule:

$*     $U%$H@savesent.local$Mtcp_submitauth$E$F
tcp_submitauth is the SMTP submission channel where the user must authenticate the SMTP session and savesent.local is the host name assigned to the SAVESENT channel.
To complete the configuration it needs to add the following rule and channel:

rule:

savesent.local        $U%savesent.local

channel:

savesent
savesent.local
Optionally (see the reprocess_channel option parameter) you could add the following rule:
.sent                        $U%$H@reprocess-channel
Where reprocess-channel is the host name of a reprocess channel.

Side effect of the special rule.
With the above special rule the user authentication on the PMDF CGI (Mailbox Filters, including Vacation Notice and Forwarding Address, password change, etc.) doesn't work. I was not able to verify if it is a problem of my configuration.
I solved the problem with a workaround explained in the Appendix 1.

Contents

PMDF configuration for SAVERECEIVED channel.

To use only the COPYSLEF function it doesn't need to configure the SAVERECEIVED channel.
The SAVERECEIVED channel must be activated immediately before the delivery channels: msgstore and local channels.
Here is an example of the mapping entries for the CONVERSIONS mapping table:

  IN-CHAN=*;OUT-CHAN=msgstore;CONVERT    channel=savereceived,Yes
  IN-CHAN=*;OUT-CHAN=l;CONVERT    channel=savereceived,Yes
Rule and channel definition in PMDF.CNF
rule:
savereceived.local        $U%savereceived.local
channel:
savereceived
savereceived.local
Optionally (see the reprocess_channel option parameter) you could add the following rule:
.received                        $U%$H@reprocess-channel
Where reprocess-channel is the host name of a reprocess channel.

Contents

Channel OPTION files.

SAVESENT and SAVERECEIVED channels are configured by pmdf option files that are in the pmdf_table directory.
There are 3 options file:
SAVECHANNELS_OPTION.
Contains the configuration parameters shared across multiple channels.
SAVESENT_OPTION and SAVERECEIVED_OPTION.
Contain the channel specific parameters.
Any parameter defined in the channel specific option file, will override the one specified in the SAVECHANNELS_OPTION.
It is possible to define all the parameters only in the channel specific option files, without using the SAVECHANNELS_OPTION file.

Parameters.

debug
enable debug (1 = enabled, 0 = disabled)
To enable the channels debug it is possible also to use the master_debug keyword in PMDF.CNF
default = 0
debug_timestamp
timestamp in log file (1 = enabled, 0 = disabled)
default = 1
envelope_from
envelope_from to choose the envelope-from of the copyself and backup email.
Put envelop_from = (without a value) for an empty envelope from or specify a valid email address.
See the note at the end of the file SAVECHANNELS_OPTION.TEMPLATE for tips on using envelope_from and notary parameters.
default = envelope-from copied from the original message.
notary
notary to choose the notary flags assigned to the copyself and backup email.
notary = 0 disable notary (PMDF_RECEIPT_NEVER)
notary = 1 enable notary (PMDF_RECEIPT_FAILURES + PMDF_RECEIPT_DELAYS)
See the note at the end of the file SAVECHANNELS_OPTION.TEMPLATE for tips on using envelope_from and notary parameters.
default = 1
reprocess_channel
reprocess_channel if reprocess_channel = 0 SAVESENT and SAVERECEIVED channels enqueue the copyself/backup email to the channel itself.
If reprocess_channel = 1 SAVESENT and SAVERECEIVED channels enqueue the copyself/backup email to the reprocess channel. In this case two rules (.sent and .received) must be present in PMDF.CNF.
default = 0
copyself_on
copyself_on switch on/off the copyself function.
By the PMDF mapping table FG__COPYSELF it is possible to control the switch on/off for each user.
default = 0
copyself_store
copyself_store parameter permits to choose the channel (l, msgstore or both) to deliver the copyself email to the sending user.
copyself_store = 1 assumes that the senders' mailboxes are on the pop/msgstore store. The delivery msgstore channel to deliver the copyself email is selected by the copyself_domain parameter.
copyself_store = 2 assumes that the senders' mailboxes are on the VMSmail/Mail store. The delivery channel for the copyself email is the local channel.
The copyself_domain parameter is ignored, if present.
copyself_store = 3 assumes that the senders' mailboxes could be on both the email stores: VMSmail/Mail and pop/msgstore. To select the store-type where to deliver the copyself email, it checks the pop/msgstore store, if the mailbox exists, the email is enqueued to the msgstore channel identified by the channel_domain parameter, otherwise the email is enqueued to the local channel.
default = 3
copyself_domain
copyself_domain defines the domain associated with the channel that will deliver the copyself email to the sending user.
It is used to identify the msgstore channel where to enqueue the email. It could be the same domain of your current msgstore channel (for more details, see the description of the copyself_store parameter).
no default, if copyself_store = 2 this parameter is ignored.
copyself_folder
copyself_folder defines the name of the sent folder of the sending user.
The value of copyself_folder is added as subaddress to the destination address of the copyself email.
On msgstore mailboxes: the folder needs to be created by the user or by the administrator with the appropriate ACL. A Perl script is provided to manage user's folder.
If the folder doesn't exist or the ACL is wrong, the email will be delivered to the INBOX.
To display the folder the user must subscribe it.
(OpenVMS) for msgstore mailboxes a script is provided to subscribe users' folders without to know the user password.
On legacy mailboxes (OpenVMS): the folder is automatically created when the DELIVER script save the email to the folder. An example of MAIL.DELIVERY file is provided with this kit.
For each user it is possible to overwrite this value by the PMDF mapping table FG__COPYSELFFOLDER.
no default
backup_on
backup_on switch on/off the backup function.
By the PMDF mapping table FG__BACKUP it is possible to control the switch on/off for each user.
default = 0
backup_store
backup_store parameter permits to choose the destination of the backup email:
remote destination, or local destination by l channel, msgstore channel or both
backup_store = 0 the backup mailboxes are on a remote system; no suffix (see backup_usersuffix) will be added to the username.
The duplicated email (backup email) are sent to the domain defined by the backup_domain parameter.
backup_store = 1 the backup mailboxes are on the pop/msgstore store.
The msgstore channel to deliver the duplicated email (backup email) is selected by the backup_domain parameter.
backup_store = 2 the backup mailboxes are on the VMSmail/Mail store.
The delivery channel for the duplicated email (backup mail) is the local channel. The backup_domain parameter is ignored, if present.
backup_store = 3 the backup mailboxes could be on both the mail stores: VMSmail/Mail and pop/msgstore. To select the store-type where to deliver the duplicated email (backup email), it checks the pop/msgstore store, if the mailbox exists, the email is enqueued to the msgstore channel identified by the bakup_domain parameter, otherwise the email is enqueued to the local channel.
-- With backup_store 1 or 2 or 3 the name of the backup mailbox is created by adding the backup_usersuffix to the sender's username.
default = 1
backup_domain
backup_domain defines the domain associated with the channel that will deliver the email to the backup mailbox of the sending user.
It is used to identify the remote MTA where to forward the backup email or the msgstore channel where to enqueue the email. It could be the same domain of your current msgstore channel (for more details, see the description of the backup_store parameter).
no default, if backup_store = 0 or 2 this parameter is ignored.
backup_sent_folder
backup_sent_folder is the folder name where the email sent by the user will be delivered. The backup_sent_folder value is added to the backup email address as subaddress.
To disable subaddressing do not define this option.
no default
backup_received_folder
backup_received_folder is the folder name where the email received by the user will be delivered. The backup_received_folder value is added to the backup email address as subaddress.
To disable subaddressing, do not define this option.
no default
backup_usersuffix
backup_usersuffix is the suffix that is appended to the sender username (local part) to obtain the name of the backup user.
Example: if the backup_usersuffix = bck and the email has been sent by the user franz, the backup username will be franzbck.
To disable the suffix, do not define this option.
no default
restore_domain
restore_domain is the domain for the backup mailboxes on a remote MTA.
Email sent by these backup users should have this domain in the from address.
For more details, please read "How to restore an email", in this document.
no default

Example of a backup address composition with the following parameters values:
backup_usersuffix = bck
backup_received_folder = bckReceived
backup_sent_folder = bckSent
backup_domain = backup.local

sending user: franz
backup address: franzbck+bckSent@backup.local
receiving user: franz
backup address: franzbck+bckReceived@backup.local
franzbck is the backup mailbox for the original user franz (legacy VMSMail/Mail or msgstore).
bckSent and bckReceived are folders of the franzbck mailbox.
Tips: if both the original mailbox franz and the backup mailbox franzbck are msgstore mailboxes (IMAP access), the folders bckSent and bckReceived could be shared with the user franz and optionally as read-only folders.
A Perl script is provided to manage this scenario.

Tips on envelope_from and notary parameters.
These parameters defines how to manage the delivery notifications that could be generated for copyself/backup email.
The notifications for copyself/backup email should not be sent to the sender (return-path) of the original email.
To avoid this, if the copyself/backup email are addressed to a system that supports Notary (such as PMDF) just put notary = 0.
If the destination system (for example the remote MTA for backup email) doesn't support Notary put envelope_from = (leave empty the value)
and optionally notary = 0.
Finally, you could put notary = 1 and envelope_from = some-email-address where to receive the delivery service notifications, to monitor the copyself and/or backup functions.

SAVESENT_OPTION.
Mandatory parameter
channel_domain
channel_domain is the domain assigned to the savesent channel in the pmdf configuration file pmdf.cnf
no default
In this option file it is possible to define the channel specific parameters. These parameters override the one specified in savechannels_option.
debug
debug_timestamp
backup_on
backup_domain
backup_usersuffix
backup_sent_folder
coyself_on
copyself_domain
copyself_folder
reprocess_channel
envfrom
notary

SAVERECEIVED_OPTION.
Mandatory parameter
channel_domain
channel_domain is the domain assigned to this savereceived channel in the pmdf configuration file pmdf.cnf
no default
In this option file it is possible to define the channel specific parameters. These parameters override the one specified in savechannels_option.
debug
debug_timestamp
backup_on
backup_domain
backup_usersuffix
backup_received_folder
restore_domain
reprocess_channel
envfrom
notary

Notes.

Copyself sent folder.
Copyself folder is the folder in the original mailbox where will be delivered all the sent email.
For msgstore type original mailboxes the copyself sent folder needs to be created with the appropriate ACL (anyone p).
It is possibile, for msgstore type original mailboxes, to create and assign the ACL to the copyself folder by some utilities provided with this kit (access with any msgstore privileged user).
The folder subscription can be done by the user or by the utility provided with this kit (access with username and password).
On OpenVMS an utility is provided to subscribe the folder without to know the user password.
If the folder doesn't exist or the ACL are wrong, the copyself email will be delivered to the INBOX.

Backup mailboxes.
The store type of a backup mailbox is independent by the store type of the original mailbox.
The backup mailbox can be a msgstore mailbox, a legacy mailbox (VMSMail/Mail) or could be on a remote MTA.
The backup mailboxes are accessibile by a normal IMAP client.
If the original mailbox and the backup mailbox are both of type msgstore and are on the same system it is possibile to share the backup folders with the original mailbox. A utility is provided with this kit.

BckSent and bckReceived folders.
As for copyself sent folder, you need to create these folders on msgstore type backup mailboxes.
These folders need to be created with the appropriate ACL (anyone p).
A utility is provided with this kit.
If the backup mailbox is a legacy mailbox there are no ACL to set and the folders, at least on OpenVMS system, will be created automatically when an email is filed to the folder by the DELIVER script provided with this kit.

Contents

Mappings tables.

FG__COPYSELF
syntax

   savesent_channel|source_ip_addr|source_chan|envelope_from|username    yes or no
savesent_channel is the name of the savesent channel that is doing the mapping.
source_ip_addr is the IP address of the SMTP client submitting the email.
source_chan is the tcp_channelname where the username is authenticated during the submission SMTP session.
envelope_from is the envelope_from of the submitted email.
username is the sending username, autheticated during the submission SMTP session.
For a dynamic update of the mappings table it could be useful to use the genarel database, as decribed by the PMDF documentation.
An utility is provided with this kit, to add/remove entries to the general database.
FG__COPYSELF

  *|*|*|*|*    $C${copyselfmanager|$4}
Example of entry with the access to the general database, where the syntax for the database entry is:
copyselfmanager|username yes   (or no)
FG__COPYSELFFOLDER
syntax
   savesent_channel|username   foldername
savesent_channel is the name of the savesent channel that is doing the mapping.
username is the sending username, authenticated during the SMTP submission session.
foldername is the name of the "Sent" folder.
Example:
FG__COPYSELFFOLDER
   *|franz  Sent
   *|jhon   Outgoing_email
   *|*      0-INSMsent
FG__BACKUP
syntax
   save_channel|source_channel|envelope_from|username   yes or no
save_channel is the name of the savesent or savereceived channel that is doing the mapping.
source_channel is the channel that enqueues the email to the savesent* or savereceived* channels.
envelope_from is the envelope_from of the email enqueued to the savesent* or to the savereceived* channels.
username: for savesent* channel, username is the sending username, autheticated during the SMTP submission session.
For savereceived* channels username is the VMSmail/Mail or pop/msgstore username to which the original incoming email is addressed.
For a dynamic update of the mappings table it could be useful to use the genarel database, as decribed by the PMDF documentation.
An utility is provided with this kit, to add/remove entries to the general database.
  *|*|*|*    $C${backupmanager|$3}
Example of entry with the access to the general database, where the syntax for the database entry is:
backupmanager|username yes   (or no)
FG__BACKUPUSERS
syntax
   savesent_channel|source_channel|backup_username|recipient_to  yes or no)
savesent_channel is the name of the savesent channel that is doing the mapping.
source_channel is the tcp_channelname where the backup_username is authenticated during the SMTP session.
This mapping table could be used to limit backup users to send email only to the original user.
Suppose that the backup_usersuffix is bck, these are two simple rules to limit a backup user usernamebck to send the email only to the original user username
  *|*|*bck|$2@msgstore-channel-domain-for-orig-mailboxes yes
  *|*|*bck|$2@local-channel-domain yes
Contents

How to restore an email.

How to restore an email depends on the backup system configuration.
If both the original mailbox and the backup mailbox are of msgstore type and are on the same system, it is possible to share the bcksent and bckreceived IMAP folders, so that the saved emails are directly accessible by the client of the original users.
It is not possible to share the bcksent and bckreceived folders, if one of the mailboxes, or both, are on the legacy mail store.
Anyhow the user can access to the backup mailbox by an IMAP client (for example a webmail) to select the email the needs to restore and redirect it to the original user.
Important: if the client by which the user is accessing the backup mailbox has not a function to resend (redirect) a message as it is, the message to restore should be forwarded as attachment (NOT as inline message).
In this case, for emails coming from local backup users, the save channels will extract the original message from the forwarded message so that the original user will receive exactly the original message.
This action is applicable, by the savereceived channel, also to emails coming from backup mailboxes defined on a remote MTA, providing that such emails have, as from address domain, the domain defined in the restore_domain option parameter.
To avoid that a backup user send emails everywhere, and not only to the original mailbox, it is possible to use the mapping table FG__BACKUPUSERS.

Contents

Appendices.

1. Workaround to solve the problem introduced by the special rule.
The special rule:
$*     $U%$H@savesent.local$Mtcp_submitauth$E$F
prevents access to the pmdf cgi (Mailbox Filters, password change utilty, etc...)
If PMDF runs on an OpenVMS cluster, here is described a workaround to avoid this problem.
It needs to create two PMDF compiled configuration, one without the special rule. The node that will run the configuration without the special rule can be used to access the PMDF cgi, but cannot be used for SMTP submission.
It needs that the domain name to access to the pmdf cgi points to such node.
Create two files in pmdf_table:
PMDF_SPECIAL_RULE.CNF
and
PMDF_NOSPECIAL_RULE.CNF
in PMDF_SPECIAL_RULE.CNF put the special rule
leave PMDF_NOSPECIAL_RULE.CNF empty (no records)
In pmdf_com:pmdf_site_startup.com insert:
$!
$ nospecial_nodename = "nodex" !  substitute nodex with the name of the
$!                                node that will NOT have the special rule
$!
$ nodename = f$edit(f$getsyi("NODENAME"),"LOWERCASE")
$!
$ if (nodename .eqs. "blade3")
$  then
$   define/system/exec PMDF_SPECIAL_RULE pmdf_table:PMDF_NOSPECIAL_RULE.CNF
$   define/system/exec PMDF_IA64_CONFIG_DATA
          PMDF_ROOT:[IA64_EXE]CONFIG_DATA_'nospecial_nodename'.EXE
$  else
$   define/system/exec PMDF_SPECIAL_RULE pmdf_table:PMDF_SPECIAL_RULE.CNF
$ endif
$!
In the [.utilities.vms] directory of the distribution kit there is the utility PMDF_CNBUILD.COM to compile and load the PMDF configuration with this double configuration.

2. Msgstore users management.
a) For sites that have the original mailboxes on msgstore or have the backup mailboxes on msgstore some utilities are provided to manages the folders for copyself & backup.
b) The msgstore mailboxes are distributed on a directory tree. A map_profile_filename.c is provided to distribute the backup mailboxes on a separate directory tree. This directory tree colud be assigned to disks that are on a different disk array respect to the disk array where are the original mailboxes.
These utilities are in the directories msgstore and vms of the distribution kit.

3. A simple configuration for testing Copyslef & Backup
Please read the files:

  AAA_test_config_copyself_only.txt
BBB_test_config_backup.txt
in the directory test_config.
The test configuration proposed here does not impact the production system and helps to better understand the Copyself & Backup system.

4. Legal considerations.
Duplication of user emails could be of legal significance.
In order to mitigate this aspect, I have developed a CGI to give the user total control of the system copyself & backup.
By this CGI the user can:
- enable/disable the Backup.
- enable/disable the sharing of the folders bcKSent and bckReceived (between the backup mailbox and the original mailbox, both of msgstore store type).
- enable/disable the direct access to the IMAP backup mailbox, by requesting a temporary password.
- enable/disable the Copyself.
- enable/disable the delivery of the sent email to the sent folder (when disabled the sent email are delivered to the INBOX, if copyself is enabled).

5. Contents of the zip kit.

Archive:  cpsbck10.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
     3313  10-14-17 13:23   savechannels/api_qu_context.h
     2140  10-01-20 14:54   savechannels/BUILD_SAVE_CHANNELS.COM
      671  09-26-20 10:37   savechannels/check_popstore_user.c
        0  10-01-20 14:55   savechannels/EXE_IA64/
      960  09-27-20 11:46   savechannels/license.txt
     6796  09-28-20 00:46   savechannels/load_options.c
    10922  09-28-20 00:59   savechannels/load_options.h
        0  10-01-20 14:55   savechannels/OBJ/
     9573  09-29-20 23:52   savechannels/savechannels_option.template
    24601  09-27-20 11:41   savechannels/savereceived_channel.c
      580  09-03-20 19:13   savechannels/savereceived_channel.h
      119  09-27-20 08:08   savechannels/SAVERECEIVED_CUSTOM_MASTER.COM
      936  09-20-20 22:40   savechannels/savereceived_option.template
    42366  09-27-20 11:40   savechannels/savesent_channel.c
      689  09-08-20 16:59   savechannels/savesent_channel.h
      107  09-27-20 07:52   savechannels/SAVESENT_CUSTOM_MASTER.COM
      815  09-20-20 22:39   savechannels/savesent_option.template
    33100  09-28-20 01:38   savechannels/save_channels.h
     2569  09-27-20 08:06   savechannels/save_constants.h
      792  09-22-20 22:04   savechannels/save_extern.h
        0  09-27-20 12:10   savechannels/test_config/
        0  09-27-20 09:57   savechannels/utilities/
     3872  10-01-20 14:55   savechannels/OBJ/check_popstore_user.OBJ
    26256  10-01-20 14:55   savechannels/OBJ/load_options.OBJ
   101264  10-01-20 14:55   savechannels/OBJ/savereceived_channel.OBJ
   124048  10-01-20 14:55   savechannels/OBJ/savesent_channel.OBJ
     4294  09-29-20 16:43   savechannels/test_config/AAA_test_config_copyself_only.txt
     9498  09-29-20 16:43   savechannels/test_config/BBB_test_config_backup.txt
     1149  09-27-20 10:30   savechannels/utilities/aaareadme_folder.txt
     1343  09-27-20 09:59   savechannels/utilities/aaareadme_pmdfutil.txt
      512  09-27-20 10:03   savechannels/utilities/BUILD_PMDF_UTIL.COM
        0  09-27-20 11:03   savechannels/utilities/msgstore/
     6350  09-24-20 17:45   savechannels/utilities/msgstore_create_folder_by_admin.pl
     8225  09-30-20 17:04   savechannels/utilities/msgstore_folder_backup_user.pl
     4590  09-30-20 17:05   savechannels/utilities/msgstore_sent_folder.pl
    75582  10-01-20 12:36   savechannels/utilities/pmdf_util.c
   106448  09-27-20 12:12   savechannels/utilities/pmdf_util.OBJ
        0  09-27-20 10:29   savechannels/utilities/vms/
     1176  09-27-20 11:55   savechannels/utilities/msgstore/BUILD.COM
      399  09-27-20 11:26   savechannels/utilities/msgstore/constants.h
     6257  09-27-20 11:33   savechannels/utilities/msgstore/map_profile_filename.c
     6656  09-27-20 11:56   savechannels/utilities/msgstore/map_profile_filename.OBJ
     1558  09-27-20 10:41   savechannels/utilities/vms/aaareadme_special_rule.txt
     7177  09-27-20 10:48   savechannels/utilities/vms/BACKUP_MAILBOX_CLEANER.COM
      110  09-27-20 12:40   savechannels/utilities/vms/MAIL.DELIVERY_BACKUP
       68  09-27-20 12:36   savechannels/utilities/vms/MAIL.DELIVERY_COPYSELF
     2614  09-27-20 10:36   savechannels/utilities/vms/PMDF_CNBUILD.COM
     4612  09-27-20 10:56   savechannels/utilities/vms/SUBSCRIBE_FOLDER.COM
      726  09-25-20 09:32   savechannels/utilities/vms/USER_TO_CLEAN.FDL
 --------                   -------
   645833                   49 files
Contents

----------------
Francesco Gennai
ISTI - CNR

Close