codebykat / wp-post-by-email

Post By Email plugin for WordPress
GNU General Public License v2.0
31 stars 11 forks source link

Post By Email

Contributors: codebykat, flyingtrolleycars, barryceelen, UaMV, nikolovtmw
Tags: post-by-email, email
Requires at least: 3.6
Tested up to: 4.2
Stable tag: 1.1
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Create new posts on your WordPress blog by sending email to a specific email address.

Description

Any new messages sent to the configured email address will be posted to the blog. This plugin replaces the functionality that used to live in WordPress core.

Once an email has been successfully posted to the blog, it can either be marked as read (IMAP servers only) or deleted from the mailbox.

Features

Post Authors and Security

The "From" address is matched to WordPress users in the database to determine the post's author. If the author doesn't have an account or isn't allowed to publish posts, the post status will be set to "pending".

By default, any users in the Author, Editor or Administrator roles are able to publish posts. Use the Users menu item in the admin dashboard to view and manage which users have this capability. For more information on the WordPress permissions system, see Codex: Roles and Capabilities.

Shortcodes

By default, emailed posts will be placed in the default category configured in the settings.

You can also set the categories, tags, custom taxonomy terms and post format on your posts by including shortcodes in your email. These should be space-separated. Use slugs for tags (and non-hierarchical taxonomies) and either slugs or IDs for categories (/ hierarchical taxonomies). Terms that do not yet exist will be created. Examples:

Categories: Use either slugs or IDs. [category posted-by-email another-category] [category 14]

Tags: Use slugs. [tag cool-stuff]

Custom Taxonomies: Use slugs for non-hierarchical taxonomies, and IDs for hierarchical. [custom-taxonomy-name thing1 thing2] [another-custom-taxonomy 2 3 5]

Post Format: Supported formats: aside, audio, chat, gallery, image, link, quote, status, video. [post-format format]

Attachments

Any files attached to an email will be uploaded to the Media Library and added to the post as a gallery. You can specify gallery options, or its location within the post, by including a gallery shortcode in your email. If no gallery shortcode exists, it will be added to the end of the post.

Installation

  1. See Installing Plugins.
  2. Set up an email address that will be used specifically to receive messages for your blog.
  3. Make sure your email service is configured to allow external connections via POP3 or IMAP.
  4. Activate the plugin through the 'Plugins' menu.
  5. Configure mailbox information under Tools->Post By Email.

Instructions for specific email services

Frequently Asked Questions

What timestamp will be used for posts?

Posts will be backdated to use the date and time they were received by the mailserver, NOT the time they were imported by the plugin.

Will messages show up on my blog as soon as I send them?

No, emails are not "forwarded" to your blog. Just like any third-party mail client, Post By Email has to check for new messages, and will only do this once per hour (or when you click the "Check Now" button in the settings). In addition, because of how WordPress' task scheduling (wp_cron) works, this check will only be triggered when a page on your blog has been loaded. There is also sometimes a delay between when messages are sent and when they show up in the mailbox, especially with POP3 access.

I found a bug!

Please report it so I can track it down and squish it! For the information to include with a bug report, see the Reporting Bugs section in Other Notes.

What does the error "Bad tagged response" mean?

This probably means you're trying to connect to a POP3 server over the IMAP port, or vice versa. Double-check your server URL, protocol and port number and try again.

Screenshots

1. Main settings page

Main settings page

2. The activity log

The activity log

Testing

Automated Tests

Like WordPress Core, this plugin includes automated unit tests written in PHPUnit.

Build Status

To run the unit tests:

  1. Set up the WordPress testing library: bash install-wp-tests.sh wordpress_test root '' localhost latest
  2. Install composer: curl -sS https://getcomposer.org/installer | php
  3. Install testing library: php composer.phar install
  4. From the plugin directory, run WP_TESTS_DIR=/path/to/WordPress/test/install phpunit

Manual Testing

  1. Set up a test email address (services such as Gmail work great for this) and enable IMAP or POP3 access. (Refer to Installation for detailed instructions.)
  2. Verify that you are using the correct mailbox settings by using a third-party email client, such as Outlook or OSX Mail.app, to connect to your test mailbox.
  3. Enter those settings into the Post By Email settings and save them.
  4. Navigate to the "Activity Log" tab and press the "Check Now" button. When the page reloads, you should see a new entry in the log file describing the results of the mail check.

Caveat: There is sometimes a delay between sending an email and having it show up in the mailbox, especially with POP3. If you're using IMAP, you can connect using a third-party mail client to verify that messages have been received, then mark them as unread so Post By Email will pick them up.

Reporting Bugs

Before reporting a bug, make sure you've updated the plugin to the latest version.

Then, provide as much of the following information as possible:

  1. WordPress version (e.g. 4.1.x).
  2. Plugin version (e.g. 1.0.4).
  3. PHP version (e.g. 5.3.x).
  4. Your mailbox settings (URL, protocol, port and whether SSL is enabled; not your login and password).
  5. Any error messages displayed (it might help to enable WP_DEBUG in your wp-config.php).
  6. If the issue is related to a specific email, the full email, including headers. Feel free to replace any personal information with dummy text (such as "sender@example.com"). This link has instructions for viewing full message headers in Gmail, Outlook and Yahoo.

Contributing

Help with development, support and testing is always welcome! See the Contributing guidelines for more info.

Changelog

1.1 (in development)

1.0.5

1.0.4b

1.0.4

1.0.3

1.0.2

1.0.1

1.0.0

0.9.9

0.9.8

0.9.7

0.9.6

0.9.5

0.9