POP3 Connector for Microsoft Exchange and Lotus Domino with Anti-Spam Filter and Anti-Virus Protection: PYTHEAS MailGate

Getting-started Guide

How to Install the Product

The PYTHEAS MailGate product is made up of four components:

  • the PYTHEAS MailGate Service: this is the part of the product which does all the work in the background.
  • the PYTHEAS MailGate Control Panel: lets you specify the configuration options, and includes many tools for checking your installation.
  • the Remote Control program: shows you in real time what the PYTHEAS MailGate Service is doing. It can be used it on the same machine, and it can also be installed and used on another machine.
  • the Outgoing Queue Management program: like the Configuration program, it can be run on another machine, so that you can perform the queue management from there.
Where to install it

You can install the PYTHEAS MailGate on any machine with the appropriate operating system on your LAN. Generally however, it may be a good idea to install it on your mail server itself.


Benefits of handling outgoing mail with PYTHEAS MailGate

  • Authenticate to the SMTP relay server before sending mail, maybe even using the credentials depending on the sender of the message.
  • Configure several SMTP relays. The SMTP relay will be chosen depending on the sender's email domain.
  • With a permanent Internet connection: "freeze" outgoing mail for a while. "Frozen" messages can be managed by the Outgoing Queue Management program.
  • Add a disclaimer to outgoing mail.
  • Configure several mailboxes on your mail server to have the same reply address.
  • Rewriting of the real name part in the sender's address.
  • Have control over who may send Internet mail.
  • Archive outgoing mail.
  • Write a log entry for each outgoing message.
  • With an expensive dial-up Internet connection: collect several messages before sending them all at the same time, in coordination with download sessions for incoming mail.

Basic configuration

When you run the PYTHEAS MailGate Control Panel for the first time, it will automatically launch the Configuration Wizard, which will ask you some questins:

  • what kind of mail server you are running, how can it be reached,
  • if you want PYTHEAS MailGate to handle outgoing mail,
  • how to connect to one of your POP3 mailboxes,
  • the SMTP address of one of the mailboxes on your mail server.

The wizard will give you instructions on how to configure your mail server. After saving the basic configuration, you should be able to successfully download email from your first POP3 mailbox to the mailbox hosted on your internal mail server: check that the PYTHEAS MailGate service is running (use the Dashboard of the PYTHEAS MailGate Control Panel), start the Remote Control Program, and start a Download Session (use the toolbar button at the upper left).

Please note that you may want to run this wizard again at a later time, for example if you change your mail server, or want to activate outgoing mail handling through PYTHEAS MailGate.

How to configure incoming mail handling

To handle incoming mail, PYTHEAS MailGate needs to know...

  • where the mail comes from: this is what the POP3 accounts list and property pages are about;
  • to which mailbox on your mail server the downloaded messages should be delivered: this is what the Recipients list and property pages are about.

Creating a new POP3 Account entry

Add a new POP3 account entry. Once you have entered the basic information (POP3 server, username, password), check if you can successfully connect: use the Try connection button. Most of the time, it will be ok to leave the other settings as defined by default.

Creating a new Recipient entry

A Recipient is a pointer to a mailbox hosted on your internal mail server. The most important information is its SMTP address. This should be the SMTP address belonging to the Recipient's Internet POP3 mailbox. Have a look at the address book of your mail server. This e-mail address should be configured as the principal SMTP address for the mailbox. This is particular important for outgoing mail which will be sent from this mailbox, so that it will get a correct reply-address. Use it as SMTP address for the Recipient.

The next information to set is the POP3 account where the Recipient's mail comes from.

In the Message routing criteria, you configure how messages downloaded from the POP3 account should be distributed. You can have several Recipients receiving mail from a single POP3 account. The easiest case is a one-to-one relationship, where you would just check the route all mail from the POP3 account to this Recipient option. For one-POP3-account-to-many-Recipients scenarios ("catch-all POP3 mailboxes"), please see this page.

You can leave the other options with their default values; however, you may be interested in the following features:

Before closing the Recipient property sheet, you may want to send a test message: click on the corresponding button, then open the messaging client and confirm that the message has been delivered to the Recipient's mailbox.

If you have many Recipients and/or POP3 accounts (let's say, more than 50), you should consider storing their configuration data in separate files. You can learn more here. There will be another benefit: these files are tab-separated text files, and you can edit these lists with your favourite spreadsheet program. In such a case it may be advisable to configure several concurrent POP3 download tasks to speed up message download. You can do so on the EService options / Incoming mail page (you need the Pmg-MT license key option to activate this feature).

Setting the Schedule

Most of the time, you will want to start download sessions automatically at regular intervals; see the parameters on the "Service optioins / Schedule" page.


How to Configure Outgoing Mail

This feature is optional, so you may skip to the next section, if outgoing mail is not handled by PYTHEAS MailGate.

Understanding outgoing mail flow

Here's how it's supposed to work:

  • Your mail server sends outgoing mail to the PYTHEAS MailGate Service.
  • According to the outgoing mail configuration parameters, the PYTHEAS MailGate service then sends these messages are either directly, or forwards them to an SMTP relay server (smarthost).
  • If this SMTP relay server requires authentication, you will find the available options on the Outgoing mail configuration page. Authentication can be done with the same user account for all messages, or by using a different user account for each message sender.
Have a glance at the Outbound transfer tab

Here is an example of what should appear in the Outbound transfer tab of the PYTHEAS MailGate Remote Control. When a message is accepted in the outgoing queue, you should see something like this:

[10:09] Queue [1] ESMTP Connection accepted from: mailserver.yourdomain.private
[10:09] Queue [1] Mail From: <pmgsupport@pytheas.com> SIZE=7741 RET=FULL (Pmg5C47.tmp)
[10:09] Queue [1] Rcpt To: <webmaster@pytheas.com> NOTIFY=FAILURE,DELAY
[10:09] Queue [1] Subject: This is an outgoing message
[10:09] Queue [1] Connection closed.

When the message is sent to the SMTP relay server (smarthost), you should get:

[10:10] Send: Connecting to smtprelay.isp.com...Login successful...done. (ESMTP, Max size: 21000000, DSN)
[10:10] Send: Mail From: <pmgsupport@pytheas.com> (Pmg5C47.tmp, 7,4 kb, queued: 01/07/2015 10:09:54)
[10:10] Send: Rcpt To: <webmaster@pytheas.com>
[10:10] Send: Subject: This is an outgoing message
[10:10] Send: Message sent (7,4 kb).
[10:10] Send: Outbound connection closed.

If this does not work as expected, you may want to have a look at our article about troubleshooting of outgoing mail handling.

Outgoing mail schedule with a permanent Internet connection

Under these conditions, use the "No coordination" option on the "Service options / Schedule" page. Please note that with this choice, you can configure outgoing messages to be sent...

  • either immediately,
  • or after sitting for some time in the outgoing mail queue (the freeze in queue, for... option, depending on message priority) - thus leaving a chance to intercept an outgoing message which may have been sent by error.
Outgoing mail schedule with a dial-up Internet connection

Under these conditions, you may want to use the "Coordinated" option, and the after collecting more, for... parameters for outgoing message sending. If you want to avoid triggering an Internet connection in behalf of outgoing mail, which means that outgoing mail will be sent only during the regular schedule for incoming mail download sessions, then use the when connected anyway option.

The outgoing mail queue

You can manage the outgoing mail queue from the PYTHEAS MailGate Control Panel, or with the Outgoing Queue management program. Besides viewing the list of messages in the queue, you can also freeze or unfreeze messages, or remove messages from the queue, which will then be returned to the sender.


How to Define Exceptions in Incoming Mail Delivery

To define exceptions in incoming message delivery, you can use content-checking rules. There are two kinds of rules: interception and pass-through. If a match occurs for an interception rule, the action associated with the rule will be performed. If a match occurs for a pass-through rule, message delivery will be done as usual; this kind of rule is used to stop the content checking engine trying to find a match at a certain point, when walking through the list of rules from top to bottom.

Let's see an example: we choose not to allow attachments containing executable files to be directly delivered to internal mailboxes. Proceed as follows:

  • Add a new rule to the list, and give it some meaningful name, for example Block executable attachments. Define it to be an interception rule.
  • On the What to check pages, switch to the Attachments tab, Enter the list of patterns for attachment file names which should be detected by this rule: *.exe; *.bat; *.com; *.pif; *.scr (please note that this is not a complete list of patterns for dangerous attachment tracking!). If later a message has several attachments, then an interception rule match will occur when at least one of the attachment file names matches a pattern in the list.
  • In the What to do part of the rule, let's keep it simple for the moment: specify for example to send a notification + headers to the intended Recipient(s) (such a notification will not contain the offending attachment), and a notification + message to somebody in the IT department (for further analysis - this kind of notification contains the complete original message as an attachment).
  • Try it: Use the Try Content-checking Rules function in the PYTHEAS MailGate Control Panel. Use it to simulate reception of a message containing an attachment named something.pif.

You can find another example here. Please note that the notification messages are based on templates which can be customized (cf. the online help file).

Virus checking

The anti-virus interface submits each incoming message to a file-level real-time on-access virus scanner. We have a dedicated web page on this topic.

Spam detection

Spam detection can be done using SpamAssassin (tm). We have a dedicated web page how to get SpamAssassin and PYTHEAS MailGate work together to help you avoid spam.



The PYTHEAS MailGate Remote Control program allows you to keep track in real time of what PYTHEAS MailGate is doing. You can also use it to start an out-of-sequence download session.

Install it on your workstation using the appropriate option of the PYTHEAS MailGate setup program. When you run it for the first time, go to the Preferences tab and enter the name of the machine where the Pytheas.Mailgate service is running.

Another source of information are session log messages, which we already mentioned earlier in this document.


Keep track of Internet mail flow

For each incoming and outgoing message, PYTHEAS MailGate can write a line to a log file, which can be queried by a CGI program. Configure this feature on the Service options / Logging page.



All system messages which are generated by PYTHEAS MailGate are made from templates, which can be customized and translated. Please see the online help for more information, Templates for System Messages chapter.

Back to top  Back to top