After I activated MailPress, I had to refresh my browser to allow the MailPress user interface elements to show up, but this was probably because I also use the Lighter Menus plugin (a staple for any WordPress site I manage).  MailPress spreads its user interface elements around to several places within the WordPress admin panel, which gives you the sense that MailPress is actually an integral part of WordPress.  As I was coming up to speed on it, though, I found it a little disconcerting as I was still learning how to use and configure it.  Fortunately MailPress allows you to bring all the MailPress UI elements together under one top-level menu.  This is what I’m using now, but I may switch back after using it for a while.

The first thing you will want to do is to go to the MailPress Settings page which you can find under the Settings menu.  This page has three sub-pages.

MailPress-Settings-General

General
  • All Mails sent from
    The email address and display name of the email account from which emails will be sent.
  • Allow subscriptions to
    You can choose to only allow certain types of subscriptions.  The plugin calls emails containing posts newsletters, and newsletters can be sent in the following situations: 

    • Whenever a post is sent.
    • On a daily basis containing posts from the previous day.
    • On a weekly basis containing posts from the previous week.
    • On a monthly basis containing posts from the previous month.

    You can also choose to allow subscriptions to comments.  Enabling comment subscriptions also adds a checkbox after comments on posts to allow users to subscribe to comments on that post. Note that in order for comment subscriptions to work your WordPress theme must include the following statement in the comment form:
    <?php do_action('comment_form', $post->ID); ?>

  • User manage subscriptions from
    Specifies how users will be able to manage their subscriptions. 

    • Default
      Will display an HTML page with the WordPress theme header and footer.
    • Page template
      Indicates you are using a specified page that uses pt_mailPress.php from the plugins\mailpress\xtras folder as a page template.  To do this, you must copy that file to your theme directory.  You will probably also want to modify it for your theme.  This option requires that you specify the ID of the page using the page template.
    • Category template
      Indicates you are using a specified page that uses category-xx.php from the plugins\mailpress\xtras folder as a page template.  To do this, you must copy that file to your theme directory as, e.g., category-99999.php.  You will probably also want to modify it for your theme.  This option requires that you specify the ID of the category that will use the template.  Note, though, that you don’t need to create a new category.  Note: At this point this feature is somewhat of a mystery to me.  It’s not clear to me how this works or how it would be used.
  • Newsletters show at most
    Indicates the maximum number of posts included in a newsletter email. Leaving it blank uses the value from the Blog pages show at most setting on the WordPress Reading settings page, which defaults to 10.  You can change this value to anything from 1 to 30.
  • Admin
    • MailPress version of wp_email
      When checked, causes all email coming from WordPress to go through MailPress.  When cleared, new user mail and mail for comment moderation will not go through MailPress.  In most cases, you will want to check this checkbox.
    • MailPress admin menus in one place
      By default MailPress adds menus to the Dashboard, Write, Manager, Design, Settings, and Users menus.  Checking this option will create a top-level MailPress menu and put all those menus below it.
  • Logging
    Specifies options for logging MailPress’s email activity.  A log for each day is stored in the plugins\mailpress\tmp folder. 

    • Logging level
      Specifies the type of logging to perform.  This setting applies to all mail sent through MailPress, so if you don’t check the MailPress version of wp_mail checkbox new user and comment moderation emails won’t be logged.  The following values can be selected: 

      • No logging - No logging will be done.
      • Mailing log - All email causes logging.
      • Various return codes (E_ERROR, E_WARNING, E_PARSE, E_NOTICE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE, E_STRICT, E_RECOVERABLE_ERROR, E_ALL) - Only log if the specified status occurs when attempting to send email.  Some of these seem pretty obvious (e.g. E_ERROR) but others seem like they are for debugging purposes (e.g. E_NOTICE). E_ALL seems like it might be the same thing as the Mailing log option.  Some clarification from Andre on how the average user should set this would be helpful.
    • Number of Log files
      Specifies the number of daily log files to keep.  A value from 1 to 10 can be specified.
    • Date of last purge
      Indicates the date MailPress last purged log files.  This value cannot be changed.

MailPress-Settings-SMTP

SMTP

This is perhaps the most important section to fill in as it describes the connection to your email server.

  • SMTP Server
    The name of the server through which email will be sent.  Typically you can use the same server you use for email from your ISP, e.g. smtp.comcast.net.  You may also be able to use the server of a service on which you have an account, e.g. smtp.gmail.com.
  • Username
    The username for the account that has permission to send email through the SMTP server.  One caveat I found is that you cannot use backslashes here.  I use a Microsoft Exchange Server for my email and when I attempted to specify the username as domain\username, it doubled up the backslashes.  Then, whenever I saved settings again, it doubled up the backslashes again.
  • Password
    The password associated with the username for the account that has permission to send email through the SMTP server.
  • Use SSL or TLS ?
    If your server requires you to use secure communications, select the appropriate option.  Note that Transport Layer Security (TLS) was formerly known as Secure Sockets Layer (SSL), but these must be separate options in the underlying API.  I’m not sure how they’re different, though.  In any event, if your email host doesn’t mention anything about this, leave it set to No.
  • Port
    Email is sent via TCP/IP using ports, and the standard SMTP port is 25. For most installations this should be set to Default SMTP Port.  If you specified SSL or TLS (or you specified smtp.gmail.com for the SMTP server, apparently - I didn’t try it), then select Use for SSL/TLS/GMAIL.  If your email server uses a different port, set this to Custom Port and specify the port in the box to the right.
  • SMTP-AUTH
    Most installations will set this to No.  However, if your email server requires authentication - a way to verify that you are who you say you are - specify the appropriate option: CRAM-MD5, LOGIN, PLAIN, or POP before SMTP.

In addition to SMTP, you can also use native PHP mail or sendmail by installing and activating one of the included plugins.
MailPress-Settings-Test

Test

This page allows you to test your connection as well as the appearance of mail using a theme.  This is perhaps the next most important page when developing a new MailPress theme.  One thing to note about this page - it’s both a settings page and a test page.  In order to test, you must check one of the checkboxes in the Advanced options section.

  • To
    Specifies the email address and display name of the user to which test email will be sent.  This allows you to test sending email to different types of email clients (e.g. those that use Microsoft Office Outlook, those that use various types of web mail, etc.).
  • Advanced options
    This is where you specify the MailPress theme and message template to use in the test plus what type of test to perform. 

    • Theme
      Select the MailPress theme to use when sending the test email. MailPress ships with 5 themes (MailPress, classic, default, nogent94, and nohtml), all of which reside in the plugins\mailpress\mp-content\themes folder.  As you add additional themes, they will show up here as well.
    • Template
      Specifies the message template to use when sending the test message.  Each template found in the theme directory will be listed.
    • Log it
      Forces logging when sending the message if logging was disabled on the General page.  If logging is enabled test messages will be logged (based on the criteria specified on the General page) even if this option is not enabled.
    • Send it
      This checkbox must be checked if you want to actually send email, e.g. you want to test your connection settings.
    • Archive it
      If this option is checked the email will be added to the email archive allowing you to see the email from the MailPress Manage page.
    • Include it in statistics
      MailPress includes an impressive array of statistics gathering and dashboard elements for tracking email sent through it.  This option allows you to specify whether the test email will get included in those statistics or not, allowing you to test the statistics UI.

Wishlist

The configuration of MailPress is really quite simple, which is impressive for a plugin this complex and full-featured.  There isn’t really a lot that can be improved here, but there are a few things.

  1. Add a link on the plugins page next to the Deactivate and Edit links to the MailPress Settings page.  This would help users find the Settings page quickly.
  2. Allow the logging location to be specified so that multiple sites that use the same WordPress files (e.g. WordPress-MU or MultiBlog-based sites) could have their log files stored in separate folders.

Resources