WordPress.org

Make WordPress Core

Opened 16 months ago

Last modified 3 months ago

#22942 new enhancement

Deprecate Post by Email

Reported by: ericmann Owned by:
Milestone: Future Release Priority: normal
Severity: normal Version: 3.5
Component: Mail Keywords: dev-feedback has-patch needs-testing 3.9-early
Focuses: Cc:

Description

We said last year that we'd remove the post by email functionality from core as it was better suited for plugins. The Jetpack plugin has already added this functionality and, honestly, includes better functionality than the core version.

We should move forward with our plans to remove this feature.

I recommend deprecating it similar to the way the link manager was removed in 3.5. Essentially:

  • New WordPress installations will never see the core feature
  • Existing installations that aren't using it won't see it any more
  • Existing installations that are using it will see a notice explaining they should switch to a plugin instead as the feature will be completely removed in the future

Basically, I want the option to go away, but I don't want anyone to start a riot if we remove a tool they're actively using.

Attachments (6)

22942.diff (4.5 KB) - added by ericmann 16 months ago.
First pass at deprecating the post by email settings section.
22942_updated.diff (4.5 KB) - added by adamsewell 14 months ago.
Fixed a typo in previous patch
22942_updated_for_3.7.diff (14.4 KB) - added by codebykat 8 months ago.
Updated for 3.7
22942_updated_for_3.7.2.diff (15.7 KB) - added by codebykat 7 months ago.
Super minor update to the previous that fixes spacing as per coding style guide.
22942_updated_for_3.8.diff (15.9 KB) - added by codebykat 6 months ago.
Here's the version for 3.8.
22942_updated_for_3.8.26148.diff (16.4 KB) - added by codebykat 5 months ago.
Updated to fix merge conflicts with inline documentation added to wp-mail.php.

Download all attachments as: .zip

Change History (39)

comment:1 trepmal16 months ago

  • Cc trepmal@… added

comment:2 sabreuse16 months ago

  • Cc sabreuse added

comment:3 mbijon16 months ago

  • Cc mike@… added

comment:4 follow-up: toscho16 months ago

  • Cc info@… added

Before we do that there should be a good, standalone plugin as replacement. Jetpack might be nice, but for many people it is just not an option due to many side effects.

comment:5 in reply to: ↑ 4 ; follow-up: alex-ye16 months ago

Replying to toscho:

Before we do that there should be a good, standalone plugin as replacement. Jetpack might be nice, but for many people it is just not an option due to many side effects.

Yes I agree with you , We should publish an official plugin .

comment:6 in reply to: ↑ 5 ericmann16 months ago

Replying to alex-ye:

We should publish an official plugin.

That's what derailed this the first time 'round. We wanted to make post-by-email a "canonical" or "official" plugin and that never happened.

Before we do that there should be a good, standalone plugin as replacement.

No, we don't. Anyone who's not already using the feature will be unaffected if it goes away. Anyone already using the feature can still use it if we deprecate it.

JetPack is a perfectly reasonable plugin for the majority of people who need/want post-by-email functionality. Deprecating the feature (not turning it off, but warning people that it will be eventually disappearing) is the first step to encouraging others to develop a plugin that fills the I-need-this-but-can't-use-Jetpack void.

comment:7 DrewAPicture16 months ago

  • Cc xoodrew@… added

comment:8 MikeHansenMe16 months ago

  • Cc mdhansen@… added

comment:9 SergeyBiryukov16 months ago

  • Version changed from trunk to 3.5

comment:10 rmccue16 months ago

+1 on deprecation, but I don't agree Jetpack is a good replacement for it. I think there needs to be a good standalone plugin to do this. I've got a reply by email plugin for bbPress; I might see about adding support for posting by email too.

comment:11 follow-up: Ipstenu16 months ago

Given how fugly the current one is, and it's limitations, deprecate.

I want to see more plugins challenge Jetpack, since offloading the email parsing to .com's servers won't work for everyone (but that's a lot why that plugin is so much better than the core version).

ericmann16 months ago

First pass at deprecating the post by email settings section.

comment:12 ericmann16 months ago

  • Keywords has-patch needs-testing added

This first pass at a patch follows the same logic we used when deprecating/removing the Link Manager for 3.5:

  • Default options for Post by Email configuration are no longer added to the DB on install
  • New installs have post_by_email_enabled set to 0 (disabled)
  • Old installs that are still using the default values (i.e. mail.example.com for mail server) will have the post_by_email_enabled option set to 0 upon upgrade
  • Installations actually using the settings will have post_by_email_enabled set to 1
  • The table on options-writing.php that presents the Post by Email settings is hidden if post_by_email_enabled is set to 0

This doesn't actually remove the option to post by email from core, but it hides it from new installs. Hopefully, this first step will encourage more well-written plugins that enable post-by-email functionality to show up in the community. We already have Jetpack, but quite a few people have voiced concern to that being the only player.

Hiding the feature in such a way will:

  1. Encourage more plugin contributions
  2. Not have a negative impact on those currently using the feature
  3. Allow stubborn users/developers to easily turn things back on by changing 1 option in the DB, or by even adding a filter

The next step will, hopefully, be to actually remove the code for the feature in 3.7 or 3.8. But this should be a solid step forward for 3.6.

comment:13 follow-up: JustinSainton16 months ago

Just voicing a reminder to check the db_version before 3.6 goes stable. IIRC, there was a link manager issue in an RC due to referencing a stale db_version.

comment:14 in reply to: ↑ 13 ericmann16 months ago

Replying to JustinSainton:

Just voicing a reminder to check the db_version before 3.6 goes stable. IIRC, there was a link manager issue in an RC due to referencing a stale db_version.

Solid reminder. The current patch is referencing the DB version as of 3.6-alpha (latest svn up) but can/should be incremented as things continue to develop.

comment:15 follow-up: lgedeon16 months ago

  • Cc luke.gedeon@… added

Would be great if we could send a deprecation note via email to anyone that uses the feature. Reasoning: some people may be using this feature as their only interaction with their blog and never log in to see the notice.

comment:16 in reply to: ↑ 15 ericmann16 months ago

Replying to lgedeon:

Some people may be using this feature as their only interaction with their blog and never log in to see the notice.

At the very least, someone would have to log in to trigger the update in the first place. When we release a version deprecating the feature, we'll document it. When you upgrade you'll either see the announcement or the welcome screen with a list of changes. Either way, the person upgrading should be aware that the feature is going away.

comment:17 lgedeon16 months ago

Ha! I almost mentioned someone having to log in to update but I am notorious for answering objections that would never have been raised anyway. :)

You might see the notice when updating, but many installs are being automatically updated by hosts now. If the host sees the notice they might realize their client never logs in and needs to be notified by email. Maybe.

comment:18 TheAdityaJain16 months ago

  • Cc TheAdityaJain added

comment:19 ethitter15 months ago

  • Cc erick@… added

adamsewell14 months ago

Fixed a typo in previous patch

comment:20 adamsewell14 months ago

  • Cc adam@… added

comment:21 in reply to: ↑ 11 mighty_mt13 months ago

  • Cc bikertom@… added

Replying to Ipstenu:

offloading the email parsing to .com's servers won't work for everyone

That's exactly why I don't like Jetpack's post by e-mail feature. I've written a plugin that hooks into the 'wp_mail_original_content' filter and parses/modifies the original body of the e-mail. This obviously doesn't work with Jetpack because the content has already been parsed/sanitized before it reaches my blog...

I know that wp-mail.php is quite rudimentary and can be a little buggy but I think it's a good base to build on. Would be very interested if it was made into a plugin and extended with some new functionality.

comment:22 codebykat12 months ago

Researching this, I noticed the Codex entry references Postie, which appears to be a full replacement for wp-mail.php with new functionality.

comment:23 juk22012 months ago

I am applying now for the gsoc post by email project. And I would like to create that

good, standalone plugin as replacement

here is the description so far:
http://jukgsoc13.wordpress.com/

I would be glad for any kind of feedback, things that would be great to include, questions...

comment:24 jeherve10 months ago

  • Cc jeremy+wp@… added

codebykat8 months ago

Updated for 3.7

comment:25 codebykat8 months ago

Just added an updated patch for 3.7; now that the Post By Email plugin is in the repo, this can be reconsidered for a merge into trunk. In addition to deprecating the options and removing the admin menu stuff if no options have been set, it guts wp-mail.php, which for now just calls the action of the same name.

If options *were* set, the admin menu now displays a link to the plugin (which will read the existing options in on activation, so nothing will be lost); in other words, those who are using the existing functionality will need to install the plugin to continue using it. This is by design, as the code in Core has multiple problems.

comment:26 SergeyBiryukov8 months ago

  • Milestone changed from Awaiting Review to 3.7

comment:27 helen7 months ago

  • Keywords 2nd-opinion removed
  • Milestone changed from 3.7 to Future Release

Probably late for 3.7. Somebody else can move it back if I'm wrong, but sounds like a great candidate for testing now and landing in early 3.8.

codebykat7 months ago

Super minor update to the previous that fixes spacing as per coding style guide.

comment:28 codebykat7 months ago

@helen - Cool, I will keep this updated against current trunk.

codebykat6 months ago

Here's the version for 3.8.

comment:29 SergeyBiryukov6 months ago

  • Milestone changed from Future Release to 3.8

comment:30 rachelbaker5 months ago

  • Cc rachel@… added

codebykat5 months ago

Updated to fix merge conflicts with inline documentation added to wp-mail.php.

comment:31 wonderboymusic5 months ago

  • Keywords 3.9-early added
  • Milestone changed from 3.8 to Future Release

comment:32 adamsilverstein4 months ago

  • Cc adamsilverstein@… added

comment:33 nacin3 months ago

  • Component changed from Blog by Email to Mail
Note: See TracTickets for help on using tickets.