Guides/Create content/Pages and posts/Post by Email

Post by Email

Last reviewed on February 16, 2026

Post by Email lets you publish to your blog by sending an email, so you can post quickly from devices like phones. This guide shows you how to publish a blog post by email.

About Post by Email

With Post by Email, you can publish posts to your blog by sending a message to a special email address that is unique to you and your site. Keep this address secret—anyone who knows it can publish to your blog.

You can only publish one blog post per email sent.

Enable Post by Email

To set up Post by Email on your site, follow the steps for your site type:

  1. Go to SettingsWriting in the left sidebar of your site dashboard.
  2. Under the “Post by Email” section, click the Enable button.
  3. You will then see an email address for you to send your posts to, along with options to download a vCard, regenerate the address, and disable Post by Email.
An arrow pointing to the "Enable" button under Post by Email in Writing Settings.

Send a post by email

Once you have your Post by Email address, you can use it to publish posts to your site.

  • The email subject becomes your post’s title.
  • The body becomes the post’s content.
An example of an email client showing the post by email secret email address, an email subject, and some content in the email.

A few minutes after sending your email, you’ll receive a notification with the published post’s details.

⚠️

Send the email to your secret email address, not the example shown in the image above.

Your email can be plain text or formatted. As much formatting as possible will be retained, although the Post by Email system strips unnecessary HTML tags so your email displays correctly. You’ll need an email client that supports rich text or HTML formatting to use this feature. Most email clients support this—you may need to switch your client into rich text or formatted mode.

Media and attachments

Images and galleries

Image attachments appear in your published post as follows:

  • Single images display inline (a single image is one without another image immediately following it).
  • Multiple images display as a gallery.

You can include multiple galleries and single images in the same post. Using the [nogallery] shortcode disables all galleries.

You can also send attachments separately to: media+YOUR_SECRET_EMAIL@post.wordpress.com. Your attachments will be stored in your account without creating a new post—they’ll appear alongside your other media.

If you have a paid WordPress.com plan, the following additional attachment types are supported:

  • Supported audio files (mp3) display using the WordPress audio player.
  • Supported video files (mp4, mov, wmv, avi, mpg, and m4v) display using the WordPress video player, available on specific plans.
  • All other files (doc, PDF, etc.) display as links to the attachment.

Shortcodes

You can embed special shortcodes in your email to configure various aspects of the published post. The supported shortcodes are:

  • [title Your post title]
  • [slug your-post-slug]
  • [status publish | pending | draft | private]
  • [password secret-password]
    • Note: The [password] shortcode is only supported on sites without plugins. On sites with plugins, use [status private] to create a private post, then add password protection in the editor after the post is created.
  • [excerpt]some excerpt text[/excerpt]
  • [category x,y,z]
  • [tags x,y,z]
  • [delay +1 hour]
  • [comments on | off]
  • [nogallery] – disables the auto-gallery and displays all images inline
  • [ slideshow ] – (use without spaces) replaces the auto-gallery with a slideshow
  • [poll]questions and answers[/poll] – insert a Crowdsignal poll into your post (details below)
  • [publicize off | twitter | facebook]
  • [geotag on | off] – override your geotagging privacy defaults to enable or disable the showing of geo information
  • [more] – add a more tag
  • [nextpage] – create pagination
  • [end] – everything after this shortcode is ignored (such as signatures). Place it on its own line with a blank line above it.

Further details on many of these shortcodes appear in the sections below.

Providing a post title

The title of your published post usually comes from the subject line of your email. In some cases—such as when sending from certain phones or via an MMS email gateway—you may not be able to provide a subject. If so, you can set your post title directly inside the email:

[title My Fancy Post]

If you use both the email subject and the shortcode, the title specified in the shortcode will be used.

Changing the post status

You may want your post to be private or reviewed before publishing. Use the [status] shortcode to set the post status:

[status private]

Specifying categories

The category shortcode matches the start of category titles, as well as category IDs. For example:

[category Hol, Food, 1894]

This matches “Holiday,” “Food,” and the category on your site with ID 1894. Categories must already exist on your blog. Spaces between commas are optional.

Specifying tags

Add any number of tags to your post, separated by commas within the shortcode:

[tags one potato, two potato, three potato, more]

This adds four tags: “one potato,” “two potato,” “three potato,” and “more.” Tags don’t need to exist on your blog—new tags are created automatically.

Changing your auto-sharing settings

Auto-sharing lets you notify other web services about your posts. With the [publicize] shortcode, you can control this from emails:

  • [publicize off] – disable all notifications
  • [publicize twitter] – only send a notification to X (formerly known as Twitter)
  • [publicize twitter]my new post[/publicize] – only send a notification to X and set the X status to my new post

Configure your settings before using this shortcode.

Inserting a Crowdsignal poll

First, create or import a Crowdsignal account into WordPress.com. Then you can insert a poll in an email like this:

[poll]

What is the worst movie of the decade?

* The Love Guru
* Fool’s Gold

[/poll]

Add the poll question after the [poll] shortcode. Each answer goes on a new line and starts with an asterisk. End the poll with [/poll].

You can configure your poll by adding extra details to the [poll] shortcode:

  • type="single | multi | 2 | 3" – how many times a vote may be registered (single by default)
  • other="yes | no" – allow an “other” response (no by default)

For example, to create a poll that allows up to three responses (including an “other” response):

[poll other="yes" type="3"]

What is the worst movie of the decade?

* The Love Guru
* Fool’s Gold

[/poll]

Delaying your post

The delay shortcode accepts any time allowed by PHP’s strtotime. For example:

[delay +1 hour]

[delay +2 days]

You can also schedule a post to publish at a precise time:

[delay 2026-12-01 11:30:00 EST]

This schedules a post to publish on December 1, 2026, at 11:30 a.m. Eastern Standard Time.

Geotagging

If your email includes an image with GPS information (for example, sent from an iPhone), it will be used to geotag your post. This information is only shown to the public if you configure your blog to do so. You can override this per email using the [geotag on] and [geotag off] shortcodes.

Emails sent from a SPOT GPS device are automatically geotagged.

Signatures

Post by Email automatically removes any email signatures that match the standard signature block pattern:

--

(that is dash dash space)

It also removes anything after a <hr/> HTML tag and attempts to clean up mobile carrier signatures.

If your email system attaches a signature that doesn’t match any of these patterns, you can manually tell Post by Email to stop including text. Add the special [end] shortcode on its own line with a blank line above it. Everything after this is removed from your post.

If your mobile carrier is adding a signature and you’d like us to remove it, let us know the details.

Example email with shortcodes

The following email publishes in two days to the “WordPress” category, with tags “announcement” and “WordPress”:

Welcome to Post by Email, the easiest way to blog!

[tags announcement, WordPress]

[category WordPress]

[delay +2 days]

Additional information

  • The secret email address is per user account, not per blog. If you have a multiuser blog, each user can create their own Post by Email address, regardless of their user role.
  • For users in the Contributor user role, emailed posts are saved as pending rather than published. They receive confirmation of their post with the content in the email but don’t receive a second email when the post is approved.
  • Click “Regenerate” or “Regenerate Address” to get a new secret email address.

Was this guide helpful for you?

Not quite what you're looking for? Get Help!

Copied to clipboard!