How quickSMTP handles incoming messages

When you write a new e-mail message in your e-mail program (like Microsoft Outlook) and this message is sent to your program to quickSMTP for delivery, based on the destination address of your message, certain internal mechanism are triggered. Here we will try to explain the logic that quickSMTP follows in order to correctly deliver your messages.

When connection is established with sender

When incoming connection is established (e.g. your Outlook is sending the message you’ve just written) quickSMTP will register this connection in its connection history screen and also add informational line in the server log console and file. First thing to check is, if the IP Address of the sender is listed as allowed for mail relay in your server configuration. If this is the case, then quickSMTP will grant the right to send any messages to the client that has connected.

In case relay is not allowed, the following two scenarios are possible:

  • The client might issue authentication command and if authentication is successful (both username and password match an existing mailbox that you have defined), the client will be granted the right to send any messages thru your quickSMTP.
  • The client might attempt to send a message. quickSMTP will accept this message, and if the message is addressed to an e-mail address, which is defined by you in your list of mailboxes, the message will be accepted and delivered to that mailbox. But if the address is not on your list, then the message will be declined and the client will be informed, that s/he is not authorized to use this system.

If incoming message has destination a local mailbox


If incoming message has destination a remote mailbox

A remote mailbox is any mailbox that is not defined in your quickSMTP configuration.

How incoming messages for non-existing local mailboxes are handled

There would be many cases in which the address of the incoming message would be a mailbox that does not exist, but the domain of this mailbox is services by you. Should this be the case, quickSMTP would follow these steps:

  • quickSMTP will check if you have defined a catch-none mailbox for this domain. The catch-none mailbox is a special type of box that is used to deliver all messages which have as destination non-existing account on a domain you serve. If there is a catch-none mailbox, then quickSMTP will place the message in this mailbox and tell the sender that delivery is successful.
  • In case catch-none mailbox does not exist, quickSMTP will inform the sender that the address does not exist and decline the message.

quickSMTP news review

Latest Version: 0.3

Important bugfix! There was a bug in version 0.2 that would cause quickSMTP to consume a lot of resources when a client connects to SSL POP3 or SMTP and does not comply with the protocol commands. We recommend you to upgrade

Latest Version: 0.2

Version 0.2 optimizes existing functionality, fixes some bugs and introduces a few new features. Upgrade is highly recommended! 

Version: 0.1

This version is a major upgrade and is not compatible with the previous versions. You need to manually uninstall any previous version before installation!

  • SQLite is being used as back-end storage which means that all .ini files are no longer needed.
  • SSL encrypted POP3 and SMTP protocols are available.
  • New intrusion prevention system that allows you to block nodes who are probing brute force users.
  • Monitoring interface and program that allow you to connect to and monitor your quickSMTP.
  • Statistics with various graphs that can give you a good overview of the operation of your mail server.
  • Quotas for mail storage introduced on per account level.
  • Retention period for local storage of emails.
  • Remote blocking rules have been extended to include expiration time should you need to impose time limited bans.

Click here to learn more and download