Support and Documentation


Important!
This documentation has been deprecated. We are migrating Oempro help articles to our new help portal. Take a look at more detailed help articles on our new help portal.

Sections:

  1. Setup A Catch-All Email Address On Your Server
    1. Catch-All Email Address Setup in Plesk
    2. Catch-All Email Address Setup in cPanel
  2. Setup POP3 Monitoring Or Email Piping Oempro Bounce Handling Module
    1. POP3 Monitoring
    2. Email Piping
      1. Email Piping In Linux With Plesk
      2. Email Piping In Linux With cPanel
      3. Email Piping In Linux With Postfix
      4. Email Piping In Windows
  3. Define The Catch-All Email Address Domain In Oempro Settings
  4. Testing The Bounce Handling System
  5. Troubleshooting The Bounce Handling System

Bounce Handling Module Setup

Bounce handling is a must-have for anyone who is sending mass email to several email addresses. Keeping your subscriber lists away from bounced email addresses will increase your email reputation and decrease the chance of getting black listed.

Bounced email address means permanently or temporarily disabled/inactive email address. The reason can be exceeded size limit, temporary connection failures, invalid or incorrect email address, etc.

Oempro uses powerful VERP (Variable Envelope Return Path) bounce handling method. This method speeds up the detection performance of bounced email addresses as well as the accuracy.

In order to setup Oempro bounce handling on your server, you need to set up a catch-all email address on your server. Catch-all email address means, all incoming emails to non-existing email accounts on your server will be redirected to a specific email address.

Basically, we will follow these steps to setup your bounce handling:

  1. Setup a catch-all email address on your server
  2. Setup POP3 or Email Piping Oempro bounce handling module
  3. Define the catch-all email address domain in Oempro settings
  4. Test the bounce handling system

Setup A Catch-All Email Address On Your Server

In order to setup catch-all email address on your server, you will need to access your domain (or server control panel). In this document, we will explain how to setup a catch-all domain in Plesk and cPanel control panels.

Catch-All Email Address Setup in Plesk

  1. Login to your Plesk control panel

    Plesk Login Screen

  2. Click "Mail" icon on the main control panel screen

    Mail Control Panel

  3. Click "Preferences" icon

    Mail Preferences

  4. Select "Forward to address" option and set an email address (shouldn't be existing)

    Catch-All Setup

    Important: The email address you set as "catch-all" will start to receive all emails which have been sent to non-existing email addresses on your domain. These emails will be fetched by Oempro once your setup is completed.

  5. Save catch-all settings

That's all. You have successfully set catch-all settings in your Plesk control panel.

Catch-All Email Address Setup in cPanel

  1. Login to your cPanel

  2. Click "Default Email Address" icon in the main menu

  3. Enter the email address you wish to forward to (ex: bounce@yourdomain.com)

    Some shared hosting companies such as Hotmonster.com does not allow you to set catch-all email address in your cPanel.

  4. Save default email address settings

Setup POP3 Monitoring Or Email Piping Oempro Bounce Handling Module

Okay, you have successfully created catch-all email address on your server. To make things easier, let's assume that you have set "bounce@yourdomain.com" catch-all email address on yourdomain.com control panel. We will be using this dummy catch-all address for the rest of the guide.

Now, it's time to make a decision about how to let Oempro monitor bounce@yourdomain.com catch-all email address. This can be in two ways:

  1. POP3 monitoring (slower but easier to setup)
  2. Email piping (highly stable, faster but needs advanced server knowledge)

POP3 Monitoring

This is the easier way and compatible with almost all server and hosting types (dedicated, shared, grid, VPS, etc.). Just follow these easy steps to complete the setup:

  1. Since you have set bounce@yourdomain.com catch-all email address, setup a POP3 email address on your control panel for bounce@yourdomain.com.

  2. Now, all emails coming to invalid email addresses will be caught and forwarded to bounce@yourdomain.com.

  3. Login to Oempro administration area (http://yourdomain.com/oempro/admin/)

    Oempro Login Screen

  4. Click "Settings" link on the top right menu

    Email Settings Menu Item

  5. Click "Email Delivery" link on the left menu and then "Bounce Handling" tab

    Email Delivery Settings

  6. Setup your bounce handling settings and once you click "Save" button, Oempro try to connect and test your POP3 account settings.

    "POP3 Connection" method should be selected as "Process Type" and POP3 email account information should be entered correctly. Otherwise connection problems may occur.

    Bounce Handling Settings

  7. Add oempro/cli/pop3_bounce.php to your CRON job (scheduled tasks in Windows) list. Click here for instructions.

  8. That's all. You have successfully set your Oempro to monitor POP3 email address frequently for any possible bounce delivery report email.

Email Piping

Email piping needs more server knowledge and linux/unix/mac os x operating system. Unfortunately, Windows users can not get benefit of this high-performance bounce handling method.

Email piping means, all received emails to a specific email address are piped/forwarded to a script on the server. There's no POP3 or IMAP between the forwarded email and the script.

You have successfully setup catch-all email address on your server above. Now, you will be setting up email piping for this catch-all email address, therefore received emails can be piped to the Oempro bounce handling module properly.

Important: When you setup email piping on your server, be sure that there's no POP3 account with the same name. Let's say, if you have setup bounce@yourdomain.com catch-all email address and setup email piping for "bounce", be sure that there's no POP3 account with the name of "bounce". Otherwise, email piping will not work.

We have written specific descriptions for different server environments. Please proceed based on the server environment you are using below.

Email Piping In Linux With Plesk

Plesk powered servers come with Qmail mail transfer agent. It's easy to setup email piping in Plesk environment. Follow these steps:

  1. Login to your server via SSH or telnet
  2. Change your directory to Oempro directory

    cd /var/www/vhosts/yourdomain.com/httpdocs/oempro

  3. Be sure that cli/ directory and all files in it are set as executable (0755). If not, change the permissions to 0755:

    chmod -R 0755 cli

  4. Set the httpdocs directory under your domain as executable:

    chmod 0755 /var/www/vhosts/yourdomain.com/httpdocs

  5. Change your directory to the qmail mail names directory:

    cd /var/qmail/mailnames/yourdomain.com

  6. Create a new alias file named as .qmail-xxxxx (xxxxx is the email address you wish to set for bounce handling.

    vi .qmail-bounce

  7. Type the following code and save the file:

    |/var/www/vhosts/yourdomain.com/httpdocs/oempro/cli/bounce.php

Important: Be sure that you have not created a POP3 account in your Plesk control panel with the same as you have set as alias. Otherwise, email piping will not work.

That's all. You have successfully created email alias inside Qmail directory and piped it to Oempro's bounce handling module.

Email Piping In Linux With cPanel

  1. Login to your server via SSH or telnet
  2. Change your directory to Oempro directory

    cd /var/www/vhosts/yourdomain.com/httpdocs/oempro

  3. Be sure that cli/ directory and all files in it are set as executable (0755). If not, change the permissions to 0755:

    chmod -R 0755 cli

  4. Set the httpdocs directory under your domain as executable:

    chmod 0755 /var/www/vhosts/yourdomain.com/httpdocs

  5. Checking whether the shebang is correctly set within the script or not. It should be a very first line in your script and must specify the path to the php binary. Suitable values may be:

    #!/usr/bin/php -q
    #!/usr/local/bin/php -q
    #!/usr/local/php5/bin/php5 -q

  6. Login to your cPanel control panel

  7. Click "Forwarders" link under "Mail" group

    Forwarders Icon

  8. Click "Add Forwarder" button

    Add New Forwarder

  9. Fill-in the form just like the one in the example below. Be sure that you have entered the address to forward as the same as you have set as catch-all email address domain.

    New Forwarder

Email Piping In Linux With Postfix

For this guide we will use the following:

  • Domain name is "mydomain.com".
  • Oempro is installed in "/var/www/html".
  • Postfix is installed in "/etc/postfix" and running properly.
  • We use "nano" for text editing, replace this with your favorite editor.
  • Change all values and paths to match your setup.

Create the proper aliases and pipe them to the script

  1. Edit alises

    # nano /etc/aliases

  2. Add the alias with piping to the file:

    bounce: "|php /var/www/html/cli/bounce.php"

    or

    bounce: "|/usr/bin/php /var/www/html/cli/bounce.php"

  3. Save and exit and update aliases database:

    # newaliases

Next is to set up the catch-all in postfix to point to the "bounce" alias.

  1. Edit the virtual file of postfix:

    # nano /etc/postfix/virtual

  2. Add the catch-all line:

    @mydomain.com bounce@mydomain.com

  3. Save and exit.

  4. Now edit the postfix config file to use the virtual database:

    # nano /etc/postfix/main.cf

  5. Add the following line:

    virtual_maps = hash:/etc/postfix/virtual

  6. Save and exit.

    Note: This is only needed if postfix hasn't been configure to work with the virtual database yet, if you find the above line already in the config file just ignore this step.

  7. Reload Postfix:

    # postfix reload

Any mail now delivered to @mydomain.com will now be forwarded to bounce@mydomain.com and processed by the bounce script while keeping the :X-Original-To:" intact. Oempro is now able to process your bounce emails.

Email Piping In Windows

Unfortunately, email piping feature can not be used in Windows environment.

Define The Catch-All Email Address Domain In Oempro Settings

This is the last step. Once you have setup your bounce handling on the server properly, you will need to set Oempro to send emails with a return-path to the domain where you have set the catch-all forwarding. Let's say, if you have set bounce@yourdomain.com as catch-all email address, you need to set this in Oempro by following these steps:

  1. Login to Oempro administration area (http://yourdomain.com/oempro/admin/)

    Oempro Login Screen

  2. Click "Settings" link on the top right menu

    Email Settings Menu Item

  3. Click "Email Delivery" link on the left menu and then "Bounce Handling" tab

    Email Delivery Settings

  4. Enter catch-all domain based on your settings and save your settings.

    Bounce Handling Settings

Testing The Bounce Handling System

The only way to test your bounce handling is to follow these steps:

  1. Login to your Oempro administration area
  2. Go to "Settings > Email Settings" section
  3. Click "Bounce Settings" tab
  4. Check "Send notification emails on detection to bla@bla.com email address"

    Send Notification Checkbox

  5. Save the form

  6. Oempro will send a notification email if any error occurs during the monitoring.
  7. Send an email to a dummy email address on your bounce handling domain such as dummy@yourdomain.com
  8. If you have setup bounce handling properly, the email you have sent will be fetched by the catch-all email address
  9. If you have set bounce handling email piping method, the fetched email will be piped to Oempro bounce handling module. If you have set bounce handling pop3 method, it will sit in the bounce POP3 account until your server cron executes Oempro's cli/pop3_bounce.php script.
  10. Once Oempro retrieves the received email, it will look for possible RFC standard bounce delivery codes as well as special signature of Oempro for easy bounce handling.
  11. Because this is a dummy email, Oempro will fail on identifying the bounce level and source.
  12. Oempro will send a system notification email to the administrator email address with a subject similar to "BOUNCE DELIVERY FAILED - ..."

If you receive this notification email, it means that you have successfully set the bounce handling on your server.

Troubleshooting The Bounce Handling System

If you didn't receive the system notification email as described above, please check for the following:

For email piping method:

  1. Be sure that you have successfully set email piping on your server
  2. Be sure that you have set file and directory permissions to 0755 as described above
  3. Be sure that there's no POP3 account with the same name of email piping alias

For POP3 method:

  1. Be sure that you have set a cron job on your server to run oempro/cli/pop3_bounce.php periodially and it's running