This tutorial was created using an earlier version of WordPress and may contain outdated information. Please bookmark this page as we will be updating this tutorial soon! To be notified of updates to our content, subscribe to our updates list (see sidebar), or Like our Facebook page.
***
How To Add Posts To WordPress Via Email
Typically, to add new content to your WordPress site, all you need to do is log into your WordPress administration area, create a new post, then type or paste content into your post editor and publish.
There are additional ways to post content to your WordPress site, however, that do not require you to open up a browser on your computer or laptop and log into your WordPress admin area. Technology makes posting to your blog via remote methods like email extremely convenient, especially if you have a smartphone.
With a smartphone (e.g. iPhone), there are apps you can download for WordPress. In fact, we have created an entire set of tutorials that show you how to post to WordPress using mobile devices.
In this tutorial, you are going to learn how to add posts to your WordPress site using email. First, we’ll cover the manual method for setting up posting via email, then we’ll explain some of the limitations of using the manual method. We’ll also talk about using plugins to overcome these limitations.
Once you have completed this tutorial and set up your site for posting via email, you will then be able to go to any computer, or use your smartphone (with or without a WordPress app installed), and simply email your content to a special email address set up specifically for posting content to WordPress. Your post will then be added to your WordPress site without requiring you to first log into your WordPress admin area.
Complete the tutorial below to learn how to post to WordPress via email.
How To Post To WordPress Via Email: Manual Method
1 – How To Set Up WordPress For Posting Via Email
The first step in setting up your WordPress site so you can post using email is to set up an email address and then connect it to WordPress.
To set up your WordPress site so you can post using email, go to Settings > Writing …
Scroll down the Writing Settings page to the section that says Post via e-mail …
Important: For this step, you will need to create an email account specifically for sending posts to WordPress. Do not use a regular email address that you normally use, or every email sent to that email address is going to become a new post on your site …
Note: You can create an email address with Gmail, cPanel, or anything else, as long as it provides you with “POP3” access.
What is POP3? POP3 (Post Office Protocol 3) refers to a communication protocol that is used to retrieve emails from a mail server to the email client’s machine. Just like a post office, POP3 receives and holds your email until you pick it up. When you check your e-mail, your e-mail client (e.g. Microsoft Outlook) connects to the POP3 server using your account name and password. Once you’ve logged in, the POP3 server allows you to access all of your e-mail messages. POP3 makes it easy to check your email from any computer in the world, provided you have configured your email program to work properly with the protocol.
If your email provider or application doesn’t provide “POP3” access, then choose another email provider.
Gmail provides “POP3” access …
If your web host provides cPanel, then use cPanel to create an email address …
To learn more about creating an email account in cPanel, see the tutorial below:
How To Create An Email Account In cPanel
Do not share your email address with anyone. Anyone with access to the email address you created specifically to post content to WordPress will be able to post content to your WordPress site.
For this reason, we recommend creating a “secret” email address that is very difficult to guess and that is known only to you. You can use random characters, such as those suggested by WordPress, or create your own. Be aware, however, that some e-mail servers do not allow numbers-only e-mail accounts or accounts starting with a number. Please check with your web host if you have any doubts, or experience any problems.
Remember: Any e-mail sent to this address will automatically be posted to your blog, so be careful.
You can use any one of the random strings suggested by WordPress itself in the Settings > Writing > Post via e-mail section, or create your own random string of characters …
In this example, we’ll use cPanel.
Log into your cPanel account, and create a new email account using either a random string of characters or a combination of characters that no one will be able to guess …
Once your email account has been created, scroll down to the email accounts list, and click on More > Configure Email Client (drop down menu)…
A new screen will open up giving you more information on how to configure your email client for “POP3” access …
Scroll down the page until you see the Manual Settings section. This section contains the information that you’re going to need for the next step.
Note: typically, your incoming mail server address is “mail.yourdomain.com” …
Leave your cPanel browser open or copy the above details down into a text file and go back to WordPress.
In the Settings > Writing > Post via e-mail section, enter the following details:
- Mail Server: Enter “mail.yourdomain.com” (use your domain name). In Port, enter the port number as per your settings. Typically this is ‘110’ – if this doesn’t work, you will need to contact your webhosting company to find out which port number you should use.
- Log in name: This is the new email address you have just created.
- Password: Enter the password associated with your new email account into this field. Note: the password is displayed in plain text, so make sure that you know which users have access to the Settings > Writing page because they will be able to login to your “secret” email address.
- Default Mail Category: Whatever category you select here is where all of your posts sent via email will be posted under. Tip: You can set up a category specifically for posts that you send via email.
Remember to click on Save Changes to save your settings …
Posting via E-Mail – General Tips
- Every email message you send will create a new post on your site. The subject line of your email will be the Post Title and the body of your email will be the content of your post.
- Only plain text messages are received by WordPress. If your email is not sent in plain text, WordPress will ignore the entire email body content (you will have a post with a title but no content). If you normally use HTML in your emails, remember to switch your email program to “plain text” before sending out your email.
- Do not attach files when sending emails. If you do, WordPress will most likely ignore the email body.
- If “Re:” or “Fwd:” are present in the subject line of your email, these will be added to your Post title.
- If the email message is sent from an email address that matches a user account with posting permissions on your site, the email will be Published with that account as the author.
- If the email message comes from an email address that does not match an existing account or an existing account with posting permissions on your site, the post will be saved with a “Pending”status, not “Published”.
Gmail Settings Use the settings below to set up WordPress Posting via e-mail settings for Gmail:
- Mail Server: Enter “ssl://pop.gmail.com“. In Port, enter ‘995’.
- Log in name: This is the new email address you have just created.
- Password: Enter the password associated with your new email account into this field. Note: the password is displayed in plain text, so make sure that you know which users have access to the Settings > Writing page because they will be able to login to your “secret” email address.
- Default Mail Category: Whatever category you select here is where all of your posts sent via email will be posted under. Tip: You can set up a category specifically for posts that you send via email.
Gmail Tips
- When you send emails directly from your Gmail account, select “Plain Text” before sending, or the body of your post will not appear in your post’s content area.
If you need help with Gmail, see the video tutorial section below:
Online Business Video Tutorials – Using Gmail
Once you have completed the above, the next step is to send a test email to your new address.
Open up your email client (e.g. Gmail, Outlook, etc… ) and note the following when composing your post:
- Enter the email address you have created specifically for posting content to WordPress.
- The subject line is the “Title” of your post.
- When creating the body of your post, begin by adding a “#” symbol. Type in your content. You can add ordered lists if you want to.
- Add two stars ** before ** and two stars after any text or content you want to bold. (Note: This does not always work for everyone)
Note: Using this method to post content to WordPress has certain limitations. You can only use standard characters and plain text. In the following section, we’ll show you how to get more out of the “post via email” feature of WordPress using plugins.
After creating your post content in your email client, click “Send” …
Here’s the same step as shown above using an email composed using Gmail …
You are not done yet.
To ensure that you post is added to WordPress, you will need to type in a specific URL into your internet browser after sending your email that will then trigger a WordPress command to import your post from your POP3 email account.
If you have installed WordPress on your main domain, then use the URL shown below to trigger the mail import command in your WordPress site:
If you have installed your WordPress site in a directory (e.g. “blog”), then use the URL shown below to trigger the mail import command in your WordPress site (replace “blog” with the actual name of your subdirectory):
The screenshot below shows you an example of what happens when you trigger the wp-mail.php file …
When you trigger the specific URL address shown in the examples above, WordPress imports your post and places it into a “Pending” status …
Now that you know how to post to your WordPress site via email, then next step is to automate the process of triggering the wp-mail.php URL.
To do this, you are going to need to set up an action called a Cron Job on your server that will automatically trigger the URL every hour of every day to ensure that any posts sent to your site via email get added to your site.
2 – How To Automate The Process Of Posting To WordPress Via Email
The next step after setting up your WordPress site to post using email is to set up a Cron Job so you can automate the process.
A Cron Job is a time-based job scheduler that resides on your server. Cron jobs allow you to automate certain commands or scripts on your site. You can set a command or script to run at a specific time (e.g. every 5 minutes, every hour, twice a day, once a week, etc…).
Unless you set up a Cron Job to automate this task, you will have to manually trigger the wp-mail.php URL every time you email a post to your site. Setting up a Cron Job is a relatively easy thing to do. For this example, we’ll set up a Cron Job using cPanel. First, log into your web hosting panel …
Inside your cPanel admin area, scroll down the page and click on Advanced > Cron jobs …
Scroll down to the Add New Cron Job section and select a time period to trigger the Cron Job from the Common Settings: drop-down menu …
Note: The time period you select for running your Cron Job depends on how frequently you plan to post to your WordPress site via email.
Although you can set up a Cron Job to run every minute of every hour of every day, we suggest not doing this for this particular job, because every time you run a Cron Job, it uses up server resources.
The best way to calculate the time interval for your Cron Job is to be realistic about how often you intend to post content to your WordPress site via email, and how urgently the content needs to be added to your site.
Do you plan to post every few hours? Every day? Every week? Twice a week?
If for example, you plan to post once or twice a week via email, then you should set up a Cron Job to run either every day or once a week (you can edit the Cron Job time interval anytime).
In the example below, we have set up as Cron Job to run once a day …
Once you specify the time interval, the next step is to enter the command that will trigger the Cron Job into the Command: line …
For this particular task, the command you need to enter is shown below. Please note that you must enter it exactly as shown – spaces and case sensitive characters included. Use this command if your WordPress site is located in the main directory (i.e the root directory) …
Use this command if your WordPress site is located in a sub-directory (e.g. a directory called “blog”) …
Enter the command line and click the Add New Cron Job button. Your Cron Job will be saved …
Now, the Cron Job is going to run every day, and every time you send an email to your WordPress blog or site via the specific email address you have created in this tutorial, your post will be automatically added to your WordPress site. You no longer have to manually activate the link containing the wp-mail.php file.
Note: If you experience any issues with the Cron Job (e.g. not posting), contact your webhosting provider – they will be able to advise you on how to fix the issue, or let you know if an alternative command is required to make the Cron Job work on your server.
Set Up WordPress Posting Via Email Using Plugins
As you can see, posting to WordPress manually via email has some limitations. Having to open up an internet browser to trigger a command to post your content to WordPress after creating and sending an email seems to defeat the purpose of using email to avoid opening a browser to post content. Not only that, but you are then limited to posting simple content in plain text only and having to create a cron job on your server to run the task.
Fortunately, you can use a plugin like Postie to help make sending posts to your WordPress site via email a lot easier.
POSTIE
(Postie)
Postie allows you to create posts via email and includes many advanced features not found in WordPress’s default Post by Email feature, such as the ability to assign categories by name, include pictures and videos, and automatically strip off signatures. It also supports IMAP and POP3, with the option for SSL with both.
To learn more about this plugin, visit the plugin website below:
WordPress Plugin: Postie – Post To WordPress By Email
Congratulations! Now you know how to add posts to WordPress using email.
(Source: Pixabay)
***
"If you're new to WordPress, this can stand on its own as a training course and will stay with you as you progress from beginner to advanced and even guru status." - Bruce (Columbus, Ohio)