The purpose behind the CiviMail Processor
When you have a CiviMail install that's actually sending mail, it's a good idea to have a processor for the return channel - so at least you can track bounces and replies to your mailings (and get the benefit of SMTP actions, like subscribe, unsubscribe, resubscribe and opt-out working as well).
In the past, the only solutions for a working return channel was to either setup our patched version of AMaViS or use imap2soap, a third-party Perl solution. CiviMail Processor is the PHP counterpart of imap2soap, in that it polls periodically the given mail source and processes all CiviMail-related messages found there.
CiviMail Processor's capabilities
CiviMail Processor is able to poll IMAP and POP accounts, as well as local Maildir directories.
The accounts to poll are configured in CiviCRM Admin → CiviMail → Mail Accounts. Note that to catch bounces, you must use a catchall account unless your mail server supports sub-addressing (a.k.a. plus addressing, address extensions, recipient delimiter (Postfix)) i.e. using a separator such as '+' to enable addresses of the form email@example.com.
The catch-all account has to be marked as the default account using the checkbox. Otherwise, Civimail ignores the mail account information, generates a Return-Path with a blank domain, which leads to a 501 - Recipient not recognized SMTP error when mailing is attempted. (As of Civicrm 3.2.5).
Once you do this, you can test whether the polling works by visiting
make sure the username and password are for the drupal or joomla user. And that this user has the proper permissions for civicrm and civimail.
Making it run periodically
If you're sure your script is working, the easiest way to make it run periodically is to add a cronjob entry utilizing the
Also you still need to setup the out-going Cron job. This is what tells CiviMail to send scheduled mailings.
incase the above does not work for you I had to wrap my wget like this
*/10 * * * * wget -O - -q 'URL INSIDE HERE'
Missing Protocol Options
For Sites upgraded from previous versions of CiviCRM, you may need to run this SQL (via phpMyAdmin or the command-line) to populate the Mail protocol options:
Or like me you might have forgotten to setup http://yoursite.org/civicrm/admin/mailSettings?reset=1&action=browse
The Mail Accounts in CiviCRM Admin Mail area.