Proto Co Networking
HomeTrialsProductsNewsDocumentationCustomersSupportAbout Us

Mail Frequently Asked Questions

         Can I deploy multiple Proto Balance Mail machines in a "no-single-point-of-failure" arrangement?

Yes. Multiple Proto Balance Mail machines will discover each other and keep their user account databases and client access information replicated and synchronized. See "Multiple Proto Balance Mail Machines" in the Mail User Manual.

         How do Proto Balance Mail instances discover each other?

Proto Balance Mail broadcasts UDP packets on port 7931 and 7932 using a discovery and replication protocol. Proto Balance Mail machines will automatically negotiate sessions with all other machines on the local LAN as well as all machines explicitly configured as sister hosts. Protocol packets are crypto-signed for security.

         How many Proto Balance Mail machines can I have replicating between one another?

Proto Balance Mail replicates all data to all discovered sister machines. The replication protocol is a binary encoded protocol of very small packets and is therefore light-weight and fast. However network load will increase quadratically with the number of Proto Balance Machines. Therefore, we recommended proceeding cautiously over 20 machines. Note that this has nothing to do with the number of back-end mail servers - which is unlimited.

         If I have a University/College with different faculties, can I put each faculty on a different mail server even if all email addresses have the same domain part of the email address?


You can have separate email servers for each faculty or department, that do not have to know about each other nor share the same file-system. Only Proto Balance Mail will know about all of them.

         Does Proto Balance Mail work with Microsoft Exchange, qmail, PostFix, sendmail?

Yes. Proto Balance Mail strictly implements the SMTP and POP protocols. All SMTP servers are supported.

         Is Proto Balance Mail an MTA? What is an MTA?

MTA means Mail Transfer Agent. This is an email server (like Microsoft Exchange or sendmail) that receives email, queues it on disk, and appends it onto local mailboxes of users who have accounts within.

Proto Balance Mail is not this. It does not store email but directs email traffic (SMTP) to the server suited to receive delivery. Proto Balance Mail can do this even if there are ten or a hundred MTAs connected directly to it.

         How do I gradually migrate to Proto Balance Mail?

You begin by installing it on a separate machine and following the instructions in "Mail User Manual". However you do not need to migrate your entire system. You can begin by testing a single user.

With some mail solutions you have to migrate all your mail servers: an all-or-nothing affair that is risky. With Proto Balance Mail, you perform an incremental migration where each step is risk-free and reversible.

Consider if you have a typical mail server deployment as follows:

Begin by deploying Proto Balance Mail and moving a single trial user:

Next gradually migrate all your users as follows:

Finally, migrate your MX record of your DNS (Domain Name Server):

Your system will now work as before, but with Proto Balance Mail's advanced Spam filtering system.

Now you can scale your new system, apportion your mailboxes, divide users into groups as you please:

         Why is this better than any other system?

Because no other clustering solution allows you to apportion mailboxes to separate machines. With Proto Balance Mail you can, for example, put your sales department on one mail server, and your engineering department on another mail server, even if those departments have the identical domain part of the email address (e.g. Without Proto Balance Mail this is only possible by changing the domain (e.g.,

If you are an ISP you can put different geographic regions on different mail servers. In fact you can apportion the mailboxes any way you like. And relocate them whenever you like. Typically, Proto Balance Mail customers put 8000 mailboxes to a mail server.

         How does Proto Balance Mail achieve such high traffic throughput?

Most SMTP forwarding software receives the entire of the email, storing it in a queue directory on your hard disk. Proto Balance Mail does not store the email, but directs the SMTP session on-the-fly to your email server.

It does this using a patented method that is also able to create concurrent duplicate sessions. This means alias expansion works.

         How do I setup Proto Balance Mail just for blocking of spam?

If you are not interested in the load balancing features and just want to use Proto Balance Mail's sophisticated spam blocking functionality; then you can channel just incoming email through Proto Balance Mail.

Consider if you have a three-mailserver system as follows:

Begin by installing Proto Balance Mail. For Proto Balance Mail's spam-blocking to work, you need to create a flat file of all email addresses, as well as all aliases. Follow the instructions in the "Mail User Manual". You will need to randomly assign a box to each email record so that one third of the deliveries direct to each mail server. Now deploy Proto Balance Mail and create a cluster with boxes pointing to each of your mail servers. Setup each box to be a fall-over to its neighboring box:

You can now test that mail delivery works, either by setting up a dummy delivery from a foreign SMTP server (tricked to thinking your MX record is that of Proto Balance Mail), or you can telnet to Proto Balance Mail and issue a mail session manually (see the "Mail User Manual" for how to do this). Note that grey-listing will block first deliveries - you need to wait until the grey-listing first interval has expired and try again. Alternatively, you can turn off grey-listing by setting "Default spam filtering" to "Disabled" in the cluster configuration.

Finally you can switch over your MX records:

Note that it is not ideal to use Proto Balance Mail for incoming spam filtering without also doing outgoing deliveries through Proto Balance Mail. This is because outgoing deliveries create white-list records that prevent incoming email from being delayed. However it is still an acceptable solution.

         How do I load balance an outgoing mail queue with Proto Balance Mail?

This question pertains to admins who want to use Proto Balance Mail for outgoing mail and are not interested in POP or incoming SMTP. You would be asking this question if you found your outgoing SMTP servers experiencing high load and very long queue lengths. There are two ways to load balance outgoing SMTP:

The preferred way is to use Proto Balance Mail's capabilities to direct SMTP sessions. Begin by adding an "SMTP Cluster" in the config web page. Add "Boxes" for each outgoing mail server and set their traffic lights to green. In the cluster configuration set "Client relay address ranges" to cover all the IP addresses that are allowed to relay email. Then set "Recipients per MAIL FROM..." to a high value like 10000. Set "Allow notifications..." at your preference. Set "How to choose relay box" to [Load balance over SMTP-relay-enabled boxes]. Under the "Info" tab, set the four settings "Distinct FROM emails/domains per IP address", "MAIL FROM quota", and "Recipient exceeded quota" to a high values like 10000. Then go to each box and select "SMTP relay" to [Enabled].

Such settings will result in outgoing SMTP deliveries being more-or-less randomly distributed between the boxes. Proto Balance Mail will use "consistent hashing" based on the sender address to choose the box. This means that the same sender will tend to send through the same box unless that box is unavailable.

The second way to load balance is to use Proto Balance Mail's pure TCP load balancer with queue monitoring. Click on "Add Cluster" to add a pure TCP load balancer listener on port 25. Add a Box for each outoging SMTP server. Set all traffic lights to yellow. You now need to write scripts that run on your SMTP server that can turn the box traffic lights from green to yellow based on the mail queue length:

Begin by going to the "Login" tab and clicking on [Change password]. Here you will be able to enter your XML access key. Let us say that your XML access key is "qwerty12345" and your cluster is called "Cluster001". In order to change BOX001's traffic light to green, your SMTP server needs to issue the following XML to port 8080 of Proto Balance Mail:

    <?xml version="1.0" encoding="UTF-8" ?>

If your mail queue becomes too full, you can issue the XML:

    <?xml version="1.0" encoding="UTF-8" ?>

An example python script to do this is:

    import socket, string
    from myconfig import *
    balance_address = ""
    def xmlsubmit(xml):
        c = socket.socket()
        c.connect ((balance_address, 8080))
        c.send("POST /xml HTTP/1.0\r\n")
        c.send("content-length: %s\r\n" % len(xml))
        c.send("\r\n%s" % xml)
        r = ""
        while 1:
            v = c.recv(4096)
            if not v:
            r = r + v
        return r
    red_yellow = """
        <?xml version="1.0" encoding="UTF-8" ?>
    print xmlsubmit(red_yellow)

How you establish the length of your mail queue depends on the SMTP software you have available.

         Will Proto Balance Mail handle email alias addresses?


With Proto Balance Mail you can configure aliases to different users, even foreign email addresses and across different mail servers. Proto Balance Mail will transparently copy all emails in the alias expansion.

Free Trial | Products | News | Documentation | Customers | Support | About Us    2010, Shine The Way 238 CC. All rights reserved.