# Script Repository for CommuniGate Pro
This page contains a collection of scripts used for different purposes with CommuniGate Pro and its data files. The majority of the scripts are written in Perl language. It is installed by default in most of the Unix-type OSes; for using Perl in Windows you may want to install ActivePerl package. The majority of the Perl scripts use CLI interface to CommuniGate Pro Server and require CLI.pm module which can be downloaded here. ## Reporting
Script file | Description
--- | ---
LogAnalyse.pl | A sample CommuniGatePro log analysing script. Prints out incoming and outgoing traffic details.
EmailLogAnalyse.pl | A simple script for analysing CommuniGatePro supplementary Email logs.
countAccounts.pl | This script prints out the total number of accounts and the numbers of different grades
countMailboxes.pl | This script prints out the total number of accounts and mailboxes
listBigMailboxes.pl | This script prints out mailbox names with sizes greater than some value
countMailboxMessages.pl | This script prints out the number of messages in each mailbox
checkQuotas.pl | This script prints out accounts with mail storage size close to or over quota
listGroups.pl | Prints out all Groups and their members.
listGrades.pl | Prints out names of all accounts wigh a Grade.
listClassOfService.pl | Prints out accounts with non-empty "Class of Service" value.
listACL.pl | Prints out mailbox Access Control List and shared mailboxes for all accounts.
listPasswords.pl | Prints out all users' passwords.
listActive.pl | Prints out active account names (who had logged in recently)
exportLDIF.pl | Exports basic account data (RealName, password, city, department, etc) into LDIF file.
getRPOP.pl | Reads the RPOP records of users and exports the data into a .CSV file for viewing in Excel
findInGroups.pl | Finds a user in Groups, Forwarders and Mailing Lists
## Administering
Script file | Description
--- | ---
changeGrade.pl | The script for bulk users' grade change.
createSpecMailboxes.pl | This script creates special mailboxes (Calendar, Contacts, Notes, Tasks, Junk) in all accounts.
resetSettings.pl | This script resets AccessModes setting to default. Can be easily modified to reset other settings.
setSettings.pl | Imports account names and values for RealName attribute and assigns them to accounts. Can be easily modified to import other settings.
subscribeUsers.pl | Subscribes users to a shared mailbox via adding everyone a mailbox alias.
unsubscribeUsers.pl | Searches the users' mailbox aliases and subscription lists for specified pattern and optionally deletes those subscriptions.
checkMboxSizes.pl | Checks sizes of mailboxes (.mbox for being close to 2Gb and .mdir for more than some number of messages in mailbox) and sends alerts to users.
checkRules.pl | Prints out names of accounts who have redirection rules.
cmpSettings.pl | Compares settigs of two Cluster Member servers.
ClusterCheck.pl | Checks Dymanic Cluster status - if all cluster members are online and connected to the same Controller.
delQueueMsg.pl | Deletes a message from Queue by ID.
execCLI.pl | The script for quick launching a CLI command from OS command prompt. Automatically authenticates and submits the command specified in parameters.
RosterGroup.pl | The script for managing Roster groups.
Moved... | Set of scripts for E-mail Journaling. Guarantees you will have a backup in the event of an accidental incoming mail deletion from the user's side.
spamhaus_drop.sppr | CG/PL script for automatic copying SpamHaus DROP (Don't Route Or Peer) list https://www.spamhaus.org/drop/ to CommuniGate's Denied IP Addresses.
syncAD.pl | Script for copying account data from Microsoft ActiveDirectory and other LDAP servers. Use it as a complementary to authLDAPNew.pl or authLDAPNewAD.pl external authentication helpers.
deDuplicate.pl | The script for deleting duplicate messages in mailboxes.
Archive.pl | A customizeable alternative to built-in message archiving.
## Maintenance
Script file | Description
--- | ---
SweepMailboxes.pl | The junk/virus mail deletion script for CommuniGate Pro. This script deletes mail whose raw text matches the specified pattern(s) from users' mailboxes. This may be useful when a virus had contaminated your accounts, or when you mailed to all@ address something by mistake.
delOldMail.pl | Deletes old mail from all mailboxes in all accounts.
recreateAccount.pl | Creates a copy of an account. Can be used to convert an account to a different type or format; to move account to another domain (however in basic cases it's better to move accounts using CommuniGate's built-in capabilities)
fixBoxTypes.pl | Fixes mailbox types for special mailboxes such as Contacts, Calendar and Notes for the case if they were created without Class attribute or lost one
cleanQueue.pl | The script for emergency cleaning CommuniGate queue. You may need this tool badly if your queue is flooded with spam or bounces and you want to clean it quickly without stopping the server.
fixLongLines.pl | Rewrites .mbox files and deletes long lines. Used to remedy the "mailbox contains a very long line" error.
mboxSplitter.pl | Splits large .mbox files into several small files.
convLDAPAddrBook.pl | Reads users from Central Directory via LDAP and adds them to a contacts-type mailbox in vCard format via IMAP.
migrateRPOP.pl | This script "converts" RPOP retrieved messages UIDs from 5.2.x to 5.3.x by moving files from {account}/account.rpopids/ into {account}/account.web/private/rpopids/
touchMailboxes.pl | This script walks through all mailboxes and forcing them to create indexes.
convertToSliced.pl | The script for converting mailbox formats from .mbox and .mdir to Sliced. Works fast on filesystem level. No need for server shutdown.
convertToMB4.pl | The script for converting mailbox formats from .mbox and .mdir and .mslc to 4th format. Works fast on filesystem level. No need for server shutdown.
importCalendars.pl | The script for importing calendar and contacts data from .ics/.vcf files.
## Other
Script file | Description
--- | ---
createTestAccounts.pl | Creates (or deletes) a number of accounts in a test domain.
fillMailbox.pl | Fills a mailbox with dummy messages for test purposes.
sendIM.pl | A sample script for sending instant message from OS shell using XIMSS protocol.
XIMSS_call.pl | A sample script which uses XIMSS protocol to make a connected phone to call someone.
ximssStressTest.zip | A primitive stress testing tool which puts some load to the server using XIMSS protocol.
webStressTest.zip | A primitive stress testing tool which puts some load to the server emulating WebMail activity.
CGP-Helper-Plugin.pl | A sample of base code for CommuniGate Pro helper plugins.
helper_DKIM_sign.pl | DomainKeys signing helper based on Mail::DKIM::Signer Perl module.
DMARC.pl | A helper which implements DMARC (Domain-based Message Authentication, Reporting & Conformance) www.dmarc.org with sending aggregate reports.
groupsMerge.pl | A helper plugin. Merges recipients from multiple Groups (including nested ones), removes duplicate recipients.
check_from.pl | A helper plugin which checks if "From" address matches the sender's account name.
masquerade.pl | A helper plugin for replacing addresses in messages passing through.
resubmitter.pl | A helper plugin for passing incoming messages to an external scanner.
If you want your script to be here to share it with other users please mail us at support@communigatepro.ru address.
CommuniGate Pro Guide. Copyright © 2022, AO StalkerSoft