1.5.0 Released

  • Apply Postie Time Correction to date: command
  • Add support for Post Formats
  • Add support for Post Status
  • Add warning if Admin username is invalid
  • Fixed bug where date: was not always being detected in html emails
  • Improved handling of attachments and mapping to file extensions for template selection
  • Video templates now include scale=”tofit”
  • Add support for older png mime type
  • New filter postie_filter_email. Used to map “from” to any other email. Allows custom user mapping.

Supporting WebP

WebP is a new image format being promoted by Google.

By default WordPress (and therefor Postie) doesn’t support WebP images attached to emails. However, it is quite easy to add support.

First add WebP support to WordPress by installing the wp-webp plugin.

The second step is to ensure your web server is sending the correct MIME type for *.webp images (image/webp). A little Googling will explain how to check/add MIME types for your server. If you are using shared hosting contact your hoster to see if it is set up correctly.

Version 1.5 is here

Since taking over Postie 6 months ago my goal has been to stabilize the product and make sure all the support questions got answered.

Version 1.5 is the start of new features which have been a long time coming. Without further adieu here is what is part of 1.5:

  • Setting the Post Format
  • Setting the Post Status
  • Additional filter (postie_filter_email) for Postie plugins
  • Better attachment handling
  • Featured image support
  • Additional preferences
  • Better comment handling

Filter: postie_post_before

This filter is called just before Postie saves the post.

At the point the filter is called a placeholder post has been created, but it doesn’t have any content. All the attachments have been uploaded and associated with this post.


  • $post
  • $headers (available starting at version 1.7.28)

The $post parameter is an array describing the post extracted from the email.

Essentially any field described here can show up.

You may modify any of the array elements.

The $headers parameter is an array of email headers. Note that this will vary depending on where the email came from.

You must return the $post array from your function. You may return null to prevent the post from being saved.

Example without headers

add_filter('postie_post_before', 'my_postie_post_before');

function my_postie_post_before($post) {
    //Do something
    return $post;

Example with headers

add_filter('postie_post_before', 'my_postie_post_before', 10, 2);

function my_postie_post_before($post, $headers) {
    //Do something
    return $post;

Post array

Array index Notes
post_author the WordPress user that is the author of the post.
post_date the localized date of the post.
post_date_gmt the GMT/UMT date of the post.
post_content the actual content of the post.
post_title the post title (email subject line).
post_name the sanitized post title.
post_excerpt the post excerpt.
ID the post id.
post_status the post status.
post_category an array of category IDs

Note that if Postie detects a email reply it will add a comment to the original post and the data in the array will be as follows:


See this for more details.

Header array

The header variable is an associative array of mail headers, the keys being the lowercase header names. By default the values are a string, but the following headers are further parsed:

  • received: An array of the Recieved headers
  • to: An array of parsed addressees, each being an associative array in the format:
    • mailbox: The part before the @
    • host: The part after the @
    • personal: The addressee’s name optional
  • cc: An array of parsed addressees, in the same format as to
  • from: An associative array of the from address, in the same format as to
  • sender: An associative array of the sender address, in the same format as to
  • reply-to: An associative array of the address to reply to, in the same format as to
  • content-type: An associative array in the format:
    • value: The main header value
    • fields: An associative array of the ; separated key=value pairs after the main value
  • content-disposition: An associative array in the same format as content-type

Postie & WP Super Cache

Some users have reported that Postie stops checking mail when WP Super Cache is installed.

You can fix this by adding “wp-content/plugins/postie/get_mail.php” to W3TC “Never cache the following pages” on the “Page Cache Settings tab”

1.4.38 Released

  • Improved POP3 configuration test
  • Fixed bug where :start and :end were removing commands like tags: and date: before they got a chance to be processed

1.4.37 Released

  • Fixed bug in tag handling
  • Fixed bug in category detection
  • Worked around a bug in WordPress that was mangling filenames that are not in ASCII, i.e. Arabic, Hebrew, Cyrillic, etc.

1.4.36 Released

Removed some debugging code from filters and hooks
Fixed bug where the date command was being ignored
Added ‘quicktime’ as a default type for the video1 template