Difference between revisions of "Bulk Import of Email Files"
[unchecked revision] | [checked revision] |
Ltalaschus (talk | contribs) |
|||
(18 intermediate revisions by 5 users not shown) | |||
Line 3: | Line 3: | ||
The following describes how to archive all PST-, MBOX-, EML- or MSG-files of all users in a few steps, using a bulk import script written in Python. | The following describes how to archive all PST-, MBOX-, EML- or MSG-files of all users in a few steps, using a bulk import script written in Python. | ||
− | The bulk import script expects the email files in folders that are named after the corresponding MailStore users. Such a folder structure can easily be created by another script included in the [ | + | The bulk import script expects the email files in folders that are named after the corresponding MailStore users. Such a folder structure can easily be created by another script included in the [[Media:Scripts.zip|Python scripting package]]. |
− | If you want to archive PST- or MBOX-files of one user only, you can use the | + | If you want to archive PST- or MBOX-files of one user only, you can use the bulk import scripts from the [[Media:Batchscripts.zip|batch scripting package]]; the installation of Python is not required in that case. |
== Preparing Python == | == Preparing Python == | ||
− | The provided scripts are written in Python. Python 3. | + | The provided scripts are written in Python. Python 3.6 or newer is required as well as the [[Media:scripts.zip|Python scripting package]]. |
The [[Python API Wrapper Tutorial|Python API-Wrapper]] has to be installed. | The [[Python API Wrapper Tutorial|Python API-Wrapper]] has to be installed. | ||
== Preparing the Folder Structure == | == Preparing the Folder Structure == | ||
− | The scripting package contains the < | + | The scripting package contains the <code>create_user_folders_server/spe.py</code> script which prepares the folders by fetching a list of existing MailStore Server users and creating folders with the same names in the filesystem. The actual bulk archiving script uses these folder names to assign the enclosed files to the corresponding users in MailStore. |
The MailStore Server Administration API must be enabled in the [[MailStore Server Service Configuration]]. | The MailStore Server Administration API must be enabled in the [[MailStore Server Service Configuration]]. | ||
− | After installing Python, the script can be modified by right-clicking on it, then selecting ''IDLE'', the supplied Python editor. Adapt the values | + | After installing Python, the script can be modified by right-clicking on it, then selecting ''IDLE'', the supplied Python editor. Adapt the values of <code>USER</code>, <code>PASS</code>, <code>HOST</code> and <code>PORT</code> to your installation. |
− | The < | + | The <code>rootpath</code> variable contains the path where the folders will be created. |
Press F5 to run the script. A security question follows. | Press F5 to run the script. A security question follows. | ||
Line 25: | Line 25: | ||
Before executing the bulk import script, a new archiving profile that corresponds to the email files (PST, MBOX, EML/MSG) to be archived must be created manually in MailStore Server. | Before executing the bulk import script, a new archiving profile that corresponds to the email files (PST, MBOX, EML/MSG) to be archived must be created manually in MailStore Server. | ||
− | The settings in this archiving profile apply to all read files. For instance, if your exclude or include folders or define filters, they will be applied to all files you archive from. | + | The profile must of the type ''Single User''. The settings in this archiving profile apply to all read files. For instance, if your exclude or include folders or define filters, they will be applied to all files you archive from. |
The path you specify in the profile to the PST or MBOX file, or the folder containing EML/MSG files, is irrelevant, as it gets overwritten by the bulk import script. Additionally, sub folders are recognized when archiving EML/MSG files, whereas MailStore headers in EML files are always ignored. | The path you specify in the profile to the PST or MBOX file, or the folder containing EML/MSG files, is irrelevant, as it gets overwritten by the bulk import script. Additionally, sub folders are recognized when archiving EML/MSG files, whereas MailStore headers in EML files are always ignored. | ||
Line 31: | Line 31: | ||
<p class="msnote">'''Important Notice:''' If you want to archive PST files, Microsoft Outlook must be installed on the machine where the archiving profile is run.</p> | <p class="msnote">'''Important Notice:''' If you want to archive PST files, Microsoft Outlook must be installed on the machine where the archiving profile is run.</p> | ||
− | Depending on the file type to be archived, the created profiles must be named < | + | Depending on the file type to be archived, the created profiles must be named <code>templateBulkImportEMLMSG</code>, <code>templateBulkImportPST</code> or <code>templateBulkImportMBOX</code>. |
== Filling the Folders == | == Filling the Folders == | ||
− | For each user, put the email files to be archived into the corresponding folders under the < | + | For each user, put the email files to be archived into the corresponding folders under the <code>rootpath</code>. When archiving PST files, these can be located in subfolders. A simultaneous import of different file types is not supported. If you want to archive PST and MBOX files, a separate run is necessary for each. |
== Archiving == | == Archiving == | ||
− | Archiving is done by the < | + | Archiving is done by the <code>bulk_import.py</code> script. Before running it must be adapted to your MailStore installation by using ''IDLE''. Since this script uses the MailStore Client to connect to the server, rather than connecting to the MailStore Server Administration API you have to use slightly other values. |
− | + | The path to <code>MailStoreCmdSilent.exe</code>, the host name, credentials of an administrator and the <code>rootpath</code> have to be adjusted. | |
− | + | When importing into MailStore Server the <code>HOST</code> has to be in the format <code>computer:port</code>. When importing into a MailStore SPE instance the format has to be <code><nowiki>https://computer:port/instanceid</nowiki></code>. | |
− | + | Similar to the <code>create_user_folders_server/spe.py</code> script, <code>rootpath</code> points to the folder that contains the actual user folders. | |
− | + | The <code>filetype</code> variable can have one of the following values according to the file type to archive: <code>pst</code>, <code>mbox</code> or <code>emlmsg</code>. | |
− | |||
− | |||
− | |||
− | The < | ||
In ''IDLE'', press the F5 key to run the script. | In ''IDLE'', press the F5 key to run the script. | ||
== Logging == | == Logging == | ||
− | While the archiving process runs, its progress can be monitored in the status window. The message ''exitcode: 0'' means that the file or folder has been archived successfully. A different output would show the error. The task logs of the procedures are stored in the < | + | While the archiving process runs, its progress can be monitored in the status window. The message ''exitcode: 0'' means that the file or folder has been archived successfully. A different output would show the error. The task logs of the procedures are stored in the <code>rootpath</code> folder and are named as follows: |
Date-Time-User-File.log (PST,MBOX) | Date-Time-User-File.log (PST,MBOX) |
Latest revision as of 15:35, 10 April 2024
When archiving email files, MailStore only allows archiving of individual email files (PST, MBOX) or directories which contain email files of one user (EML, MSG).
The following describes how to archive all PST-, MBOX-, EML- or MSG-files of all users in a few steps, using a bulk import script written in Python.
The bulk import script expects the email files in folders that are named after the corresponding MailStore users. Such a folder structure can easily be created by another script included in the Python scripting package.
If you want to archive PST- or MBOX-files of one user only, you can use the bulk import scripts from the batch scripting package; the installation of Python is not required in that case.
Preparing Python
The provided scripts are written in Python. Python 3.6 or newer is required as well as the Python scripting package. The Python API-Wrapper has to be installed.
Preparing the Folder Structure
The scripting package contains the create_user_folders_server/spe.py
script which prepares the folders by fetching a list of existing MailStore Server users and creating folders with the same names in the filesystem. The actual bulk archiving script uses these folder names to assign the enclosed files to the corresponding users in MailStore.
The MailStore Server Administration API must be enabled in the MailStore Server Service Configuration.
After installing Python, the script can be modified by right-clicking on it, then selecting IDLE, the supplied Python editor. Adapt the values of USER
, PASS
, HOST
and PORT
to your installation.
The rootpath
variable contains the path where the folders will be created.
Press F5 to run the script. A security question follows.
Preparing the Archiving Profile
Before executing the bulk import script, a new archiving profile that corresponds to the email files (PST, MBOX, EML/MSG) to be archived must be created manually in MailStore Server.
The profile must of the type Single User. The settings in this archiving profile apply to all read files. For instance, if your exclude or include folders or define filters, they will be applied to all files you archive from.
The path you specify in the profile to the PST or MBOX file, or the folder containing EML/MSG files, is irrelevant, as it gets overwritten by the bulk import script. Additionally, sub folders are recognized when archiving EML/MSG files, whereas MailStore headers in EML files are always ignored.
Important Notice: If you want to archive PST files, Microsoft Outlook must be installed on the machine where the archiving profile is run.
Depending on the file type to be archived, the created profiles must be named templateBulkImportEMLMSG
, templateBulkImportPST
or templateBulkImportMBOX
.
Filling the Folders
For each user, put the email files to be archived into the corresponding folders under the rootpath
. When archiving PST files, these can be located in subfolders. A simultaneous import of different file types is not supported. If you want to archive PST and MBOX files, a separate run is necessary for each.
Archiving
Archiving is done by the bulk_import.py
script. Before running it must be adapted to your MailStore installation by using IDLE. Since this script uses the MailStore Client to connect to the server, rather than connecting to the MailStore Server Administration API you have to use slightly other values.
The path to MailStoreCmdSilent.exe
, the host name, credentials of an administrator and the rootpath
have to be adjusted.
When importing into MailStore Server the HOST
has to be in the format computer:port
. When importing into a MailStore SPE instance the format has to be https://computer:port/instanceid
.
Similar to the create_user_folders_server/spe.py
script, rootpath
points to the folder that contains the actual user folders.
The filetype
variable can have one of the following values according to the file type to archive: pst
, mbox
or emlmsg
.
In IDLE, press the F5 key to run the script.
Logging
While the archiving process runs, its progress can be monitored in the status window. The message exitcode: 0 means that the file or folder has been archived successfully. A different output would show the error. The task logs of the procedures are stored in the rootpath
folder and are named as follows:
Date-Time-User-File.log (PST,MBOX)
or
Date-Time-User.log (EML/MSG)
The table Recent Results in MailStore Client gives you an overview of all run archiving profiles. Failed runs can by easily identified by their start time as the file names of the log files begin with the same value.