Actualizar post de wordpress enviado por mail

 

http://=
codex.wordpress.org/Post_to_your_blog_using_email

 

WordPress =
can be configured to use e-mail to post to a blog. To enable this =
functionality, you need to:

Create a dedicated e-mail account to be =
used solely for posting to your blog,
Configure WordPress to access that =
account, and
Configure WordPress to publish messages =
from the e-mail account

You can blog by e-mail using most standard e-mail software =
programs or a
Weblog Client =
— a program specifically designed to send posts via email. =

Limitations: – Standard =
characters in the object – Plain text only

Setting Up Post via E-mailStep 1 – Create an e-mail =
account
Log in to WordPress with the =
administration login you use to administer your WordPress blog. =
Go to Settings > Writing. Read the instructions under Post via =
e-mail
at the bottom of the page. At the end of these instructions, =
WordPress will suggest three random strings of numbers you may want to =
use for the login name of the new e-mail account you’ll create. =
Create a new e-mail account on your web =
host’s mail server or a separate e-mail server, using one of the =
suggested numeric strings (or your own secret word) for the username =
(also called a "login name"). A mail server receives e-mails =
on your behalf and stores them for retrieval. Do not use public, =
free e-mail servers like Yahoo, Hotmail, etc., for this account. =

Note: It is =
strongly recommended that you use a "secret" address – that =
is, an e-mail account name that is very difficult to guess and known =
only to you, such as those suggested by WordPress. Any e-mail sent to =
this address will automatically be posted to your blog. 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.

Step 2 – Configure WordPress to =
access your new account
When you are done creating the new =
e-mail account , return to the Writing Options panel and fill in the =
name of the mail server and port number your web hosting =
provider uses. (If you don’t know these, refer to your web hosting =
provider’s FAQ or manual pages. The port number is usually 110.) If your =
mail server requires an SSL (secure) connection, precede your mail =
server address with
ssl://, e.g. =
ssl://pop.example.com. Next, enter the login name and =
password for your new e-mail account =
.

NOTE: In the =
Login Name field, use the full e-mail address (e.g.,
user@example.com).

Choose the default category that will be =
assigned to posts submitted via e-mail.
Click Update Options .

NOTE: If you are using the Administration > Settings > Writing > Post via =
e-mail section
to specify the e-mail =
address before you’ve actually created the e-mail account, =
remember to use the same login and password when you create the account =
as you specified in the section.

Step 3 – Publish Your E-mail =
Posts

You’ve created the new e-mail account and configured your =
WordPress blog to accept e-mails from that account, but you still need =
to set up WordPress to publish those e-mail messages on your blog. Do =
one of the following:

Manual Browser Activation

Go to the =
following link
http://example.com/ins=
talldir/wp-mail.php
immediately after =
you send an e-mail to your new e-mail account. (Note: You must do =
this every time you send a new post.)

Automated Browser Activation

An alternative =
to manual browser activation is to add the following iframe code to the =
footer of your blog:

<iframe =
src=3D"
http://yourblogdomain/wordpressinstalldir/wp-mail.php=
" name=3D"mailiframe" =
width=3D"0" height=3D"0" frameborder=3D"0" =
scrolling=3D"no" =
title=3D""></iframe>
=

Edit the above line of code =
so that it refers to the location of your wp-mail.php file. Add this =
line of code to the footer.php file in the directory for whatever theme =
you are using (don’t include it within an HTML paragraph). =

You may have to refresh your =
blog to see the new post. New users may find this method the most =
helpful.

If you’re using or =
would like to use the
Postie Plugin for WordPress, =
use the following iframe code, which will call Postie’s check mail =
commands:

<iframe =
src=3D"
http://yourblogdomain/wordpressinstalldir/wp-content/plugins=
/postie/get_mail.php?Submit=3DRun+Postie
" name=3D"mailiframe" width=3D"0" =
height=3D"0" frameborder=3D"0" =
scrolling=3D"no" title=3D""> </iframe> =

Add this code to your =
footer, and the next time anyone goes to your blog, your new emails will =
be automatically posted, so you need to do nothing but send them. You =
may have to refresh the blog to see the changes. =

Action-based =
functions.php Activation

An alternative =
to calling the
iframe on =
every page load (detailed above), or setting up a cron job (details =
below), you can add an action to your active theme’s
functions.php file. This will check for mail every 15 minutes and does =
not add any HTML to your theme.

add_action(‘shutdown’, =
‘retrieve_post_via_mail’);
function retrieve_post_via_mail() =
{
        flush(); // =
Display the page before the mail fetching =
begins
        =
if(get_transient(‘retrieve_post_via_mail’)) { =
          =
     return; // The mail has been checked recently; =
don’t check again
        } else { // The =
mail has not been checked in more than 15 =
minutes
          =
     $mail =3D =
wp_remote_get(get_bloginfo(‘wpurl’).’/wp-mail.php’);
          =
     if(!is_wp_error($mail)) { // If retrieve =
succeeded
          =
             =
set_transient(‘retrieve_post_via_mail’, 1, 60 * 15); // check again in =
15 minutes.
          =
     } else {
          =
             =
set_transient(‘retrieve_post_via_mail’, 1, 60 * 5); // check again in 5 =
minutes; we don’t want to overload the =
server
          =
     }
        =
}
}

This method =
is good for users who would like to avoid using cron jobs, which are =
configured on the server. Unlike cron jobs, this process will only run =
when pages on the blog are loaded. Cron jobs run independent of site =
traffic.

WP-Cron Plugin Activation

Download, =
install, and activate the
WP-Cron Plugin. It will work =
in the background without user intervention to update your site about =
every 15 minutes.

NOTE: =
WP-CRON is no longer supported by the author

Cron Job Activation

Set up a UNIX =
cron job to have your blog periodically view
http://example.com/ins=
talldir/wp-mail.php
using a =
command-line HTTP agent like wget, curl or GET. The command to execute =
will look like:

wget -N http://example.com/ins=
talldir/wp-mail.php

If =
you use a different program than
wget, =
substitute that program and its arguments for
wget in this line.

Note: Another possibility is =
to run "php /full/path/to/wp-mail.php" in a cronjob. This will =
run the php-script using php, without the need for an extra program to =
run. (You are more likely authorized to run php than wget.) =

For more information about =
setting up a cron job, see:

Intro=
To Cron Jobs Your hosting provider’s FAQ or manual =
pages

Note to =
Windows Users:
There are similar programs =
to cron available if your host runs Windows. For example,
VisualCron, Cron for =
Windows
and pycron. Consult these =
projects’ documentation for further information. =

Procmail Activation

If your server =
uses
procmail, a simple =
.procmailrc in =
the blogmailaccounts home directory will be sufficient: =

Shell=3D/bin/shMAILDIR=3D$HOME/.maildir/DEFAULT=3D$MAILDIR:0{:0Wc./:0| wget -N =
http://example.com/installdir/wp-mail.php}

This could =
be more specific, such as capturing certain subject expressions. Check =
procmail for more =
information.

.qmail Activation

If your server =
uses qmail to process e-mail, you may be able to use it to call =
wp-mail.php whenever an e-mail message is delivered. To do this, first =
create a small shell script to call wp-mail.php. You could call the file =
wp-mail: =

#!/bin/sh/bin/sh -c "sleep 5; /path/to/php =
/path/to/your/blog/wp-mail.php > /dev/null" =
&

The sleep command causes a 5-second delay to allow qmail to finish =
processing the message before wp-mail.php is called. Note that the =
ampersand on the end of the line is required. The above script should go =
in your root directory, and the execute bit should be set (chmod 700). =
For debugging purposes, you could change
/dev/null to a =
filename to save the output generated by wp-mail.php. =

Then all you need to do =
create/modify the appropriate .qmail file to call your shell script. Add =
the following line to the .qmail file for your mailbox name: =

|/path/to/your/root/directory/wp-mail

See your ISP’s documentation for use of .qmail =
files. Naming conventions may vary for different ISPs. =

Email Format

WordPress will =
use the Subject line of your email for the title of the post, and all =
body of the email will be used as the content of the post, with =
common HTML tags stripped. WordPress will file the post under =
whichever category is selected for "Usual Category" in Step 1, =
and will use Site Admin as the poster.

Posting by email does not support attachments and any =
attachments sent with the email will appear in their raw form in the =
blog post.

Testing

To test your =
configuration, simply send an e-mail to
yournewaccount@yourmaildomain (or to user@yourmaildomain if you used the .qmail =
forwarding setup).
Then do the following:

If you have no automated system set up, =
simply view
http://example.com/ins=
talldir/wp-mail.php
in your browser. =
The script should tell you that it found an e-mail, and print details of =
the post it made. Then view your blog again to see your email posted. =
If you are using an iframe code in your =
footer, refresh your browser to see the new post. =
If you are using WP-Cron, simply wait =
fifteen or twenty minutes.
If you have a cron job running, wait =
until the next time it’s scheduled to run (or temporarily edit the cron =
job to make it run sooner). If you run tail
-f =
/var/log/cron
in a terminal, you’ll be =
able to see the job create its log entry when it’s finished running. =
When that happens, just view the site in your web browser to see your =
email posted.
Your email may be recorded with a post =
status of ‘Pending Review’ rather than ‘Published’. If the status is =
‘Pending Review’, then the post will be visible in the Dashboard but =
will not be visible in the Blog. By default, wp-mail.php will validate =
the sending email address against the email addresses for authorized =
users. If the email address is found, the post status will be =
‘Published’, otherwise the status will be ‘Pending Review’. =
Troubleshooting

If you receive =
the following error messages, follow the procedures below. =

Error =
Message:

Ooops POP3: premature NOOP OK, NOT an RFC 1939 Compliant =
server

For this error, open =
wp-includes/class-pop3.php and change this line:

if($this->RFC1939) {

to this:

if(!$this->RFC1939) {

Note the exclamation point. =

Error =
Message:
There does not seem to be any new =
mail

This error is a bit of a misnomer – the test just checks to =
see if anything was retrieved.

If you’re feeling adventuresome, =
open

wp-mail.php

and search for: =

$count =3D =
$pop3->login(get_settings(‘mailserver_login’), =
get_settings(‘mailserver_pass’));

Change the lines following it to something like: =

  if (0 =3D=3D =
$count) :
    echo "There does not seem to be any =
new mail. <br/>\n";
    echo "count =3D $count<br/> =
\n";
    echo "$pop3->ERROR =
\n";    =
exit;  endif;

You’ll =
then be presented with a more informative message. =

The e-mail server may be =
refusing connections that attempt to provide an unencrypted password – =
like POP3. If your webserver and e-mail server are on the same physical =
computer, you can specify
localhost or =
127.0.0.1 as =
the mail server. That traffic is assumed to be OK without encryption =
because it never traveled across the network. =

Extensions and Add-ons

There are =
several add-ons and hacks that will extend the capabilities of posting =
by e-mail with WordPress. Some of these may involve changing the core =
files, so do it carefully and make backups. =

Enhanced Functionality Hack

One =
replacement file for the original
wp-mail.php =
file has been created:

Postie supports posting to =
categories, automatic removal of email signatures, POP3/IMAL (+SSL) and =
more.
Hack E-mail Format

The following =
enhancements may be made to your
wp-mail.php so =
your e-mail will be translated into metadata for your post: =

Sender’s =
e-mail address 

The enhanced =
wp-mail.php =
looks up the email address you send from in its user database. If there =
is a match with any user there, it files the post under that user. If =
there is no match, it drops the e-mail and does not create a post in the =
blog. (Great for security and spam prevention.) It is set by the =
From field.

Subject line 

If =
[n] is present =
anywhere in the subject line of your email, the e-mail will be filed =
under the category numbered n. Otherwise, it will be posted under =
whichever category is selected for "Usual Category" in Step 1. =
Example: [1] This is a Test! would be posted as "This is a =
Test!", filed under General.

Blog By Email From Yahoo! Mail, =
Gmail and Hotmail

By default, =
most web-based email clients send messages in HTML formatting, which =
WordPress’s blog-by-email feature filters out. =

To get around this, you must =
select "plain text" before sending. =

In Yahoo! Mail, the button =
for switching to plain text is just to the right of the SUBJECT field. =
In Gmail a similar button is located at the right end of the text =
formatting tool bar. Hotmail’s is found next to the SPELL CHECK button =
in the email action bar which is located above the email message.