Support » Plugins » HOW TO: Only dispay errors or successful posts when Emailing submissions

  • Exposition:
    WordPress provides a file named wp-mail.php which (in combination with settings in options->writing) allows people to post to their blog(s) by emailing the post to a special email address. Only when wp-mail.php is run does something actually get posted (which is a good thing ®)

    The Caveat:
    In order to fully automate this task you need to use a cron job or some other automation program to call wp-mail.php on a schedule. Several of these programs work well. My web host uses the cURL library and has a handy tool which sends the result of the cURL call to an email address. The email is (unfortunately in my case) required. Every return from cURL will generate an email.

    Since I have curl/wp-mail checking for new messages every 5 minutes, I get a new email every 5 minutes, with or without a post.

    The Solution:
    I have added modified the wp_die call for ‘There doesn’t seem to be any new mail’ to allow for a variable to be passed in the url which suppresses the page output when there are simply no emails to post:

    if (0 == $count){
    		 	wp_die(__('There doesn’t seem to be any new mail.'));

    The cURL command is:
    curl -s -S http://[yoursite]/[wordPress_install_dir]/wp-mail.php?echoNoneFound=0

  • The topic ‘HOW TO: Only dispay errors or successful posts when Emailing submissions’ is closed to new replies.