Net-Axigen version 0.11 ======================= Net::Axigen - Perl extension for Gecad Technologies Axigen Mail Server (www.axigen.com). This module use Axigen CLI interface. INSTALLATION To install this module type the following: perl Makefile.PL make make test make install DEPENDENCIES This module requires these other modules and libraries: Net::Telnet Encode DESCRIPTION Module Net::Axigen is intended for creation and removal of domains, accounts, handle of quotas, and also execution of other necessary operations on handle of a Gecad Technologies Axigen Mail Server. Operation with a mail server is carried out by means of Telnet protocol with Net::Telnet module usage. Note: Gecad Technologies do not offer support and should not be contacted for support regarding the Perl module Net::Axigen. Gecad Technologies and the author of the Net::Axigen module do not take full responsibility in case of miss-usage of the Perl module or for any damage caused in this matter. SYNOPSIS Connections use Net::Axigen; my $axi = Net::Axigen->new('127.0.0.1', 7000, 'admin', 'password', 10); $axi->connect(); my $rc=$axi->close(); Axigen Mail Server and OS version my ($version_major, $version_minor, $version_revision)=$axi->get_version(); my ($os_version_full, $os_name, $os_version_platform)=$axi->get_os_version(); Domains $axi->createDomain($domain, $postmaster_password, $maxFiles); $axi->unregisterDomain('my-domain.com'); $axi->registerDomain('my-domain.com'); my $domain_list = $axi->listDomains(); foreach my $ptr(@$domain_list) { print "$ptr\n"; } my $domain_info = $axi->listDomainsEx(); print "Domain \t\tUsed\tTotal\n"; foreach my $domain( sort keys %$domain_info) { print "$domain:\t".$domain_info->{ $domain }->{used}."\t".$domain_info->{ $domain }->{total}."\n"; } Accounts my $account_list = $axi->listAccounts('my-domain.com'); foreach my $ptr(@$account_list) { print "$ptr\n"; } my $account_list = $axi->listAccountsEx($domain); print "Account \t\tFirst Name\tSecond Name\n"; foreach my $acc( sort keys %$account_list) { print "$acc\t".$account_list->{ $acc }->{firstName}."\t".$account_list->{ $acc }->{lastName}."\n"; } $axi->addAccount($domain, $user, $password); $axi->removeAccount($domain, $user); $axi->setAccountContactData($domain, $user, $firstName, $lastName); $axi->setQuotaLimitNotification($domain, $user, $firstName, $lastName); $axi->setAccountPassword($domain, $user, $password); Quotas my $quota = { maxAccounts => 10, # admin limits maxAccountMessageSizeQuota => 200000, # admin limits maxPublicFolderMessageSizeQuota => 300000, # admin limits messageSize => 20000, # domain quota totalMessageSize => 200000 # domain quota }; $axi->setDomainQuotas($domain, $quota); $domain - the domain in which the account will be removed; $quota - quota hash ptr Storage Files $axi->compactAll($domain); $axi->compactAllDomains(); AUTHOR Alexandre frolov, . COPYRIGHT AND LICENCE Copyright (C) 2009 by Alexandre Frolov. All rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.