Hello. I just adjusted the plugin so that it would work for me. Bear in mind that I'm not a programmer at all.
I opened the following file: /post-by-email/class-post-by-email.php
Then I searched for "$post_status”…which shows you the following line:
$post_status = ( $user->has_cap( 'publish_posts' ) ) ? ‘publish’ : 'pending';
I replaced 'publish' with 'draft' in that line.
Result $post_status = ( $user->has_cap( 'publish_posts' ) ) ? ‘draft’ : 'pending';
I then zipped the full package up. I used FTP to delete the plugin folder:…/wp-content/plugins/post-by-email since attempting to load the plugin on top of previous install / delete gave a "folder already exists" error.
I loaded my email information and got an error on line 588 of class-post-by-email.php. I took a guess and changed the plugin email settings to IMAP since email accounts on my server tend to give me trouble. I retested and the plugin loaded two test emails as posts 'pending' since I sent them from an email address that is not part of a registered user.
I did not test the PIN security feature as it seems this is not related to the post status.
ddillard, I imagine that if you made the same changes I did, instead replacing ‘publish’ with ‘pending’ instead of ‘draft’ as I did, that you might find that a solution to your request.