I use subaddressing a lot when I send e-mails. Currently I use Thunderbird with some plugins for this purpose but it is slow and I would prefer to use Mail.app.
Is there a way in Mail.app to edit the from address when composing a new mail?
Not the answer you're looking for, but there's no way to use subaddressing from Apple Mail in the way you're after.
iCloud itself does support the overall functionality via email aliases, but this is limited to three email aliases per account (unless you previously moved across from MobileMe with five email aliases). More information about this is available at Create an email alias in iCloud Mail, although this is rather limited compared to what you're really after and only relates to iCloud mail.
Unfortunately, I'm also not aware of any plugin that add this functionality, but hopefully someone will develop one in future as the demand for this seems to be increasing, especially as a way to help users tag email addresses based on the services they're subscribing/signing up to.
You also won't get any joy from MS Outlook as it still doesn't support this (although, similar to Apple, Microsoft does support it via its Outlook.com service).
There may be other solutions, but I'm not personally aware of any (except for gmail which does support this).
In the meantime you could provide feedback to Apple about Mail.
Since there is no native native mechanism to edit the email address in From: field in Mail.app in macOS (you can select from one of the available addresses by clicking on the email address in From: field and selecting from the dropdown), you can make use of email aliases in Mail on Mac.
Create or change an alias
- Choose Mail → Preferences, then click Accounts.
- Select an account, then click Account Information.
- Click the Email Address pop-up menu, choose Edit Email Addresses, then do one of the following:
- Add an alias: Click the Add button (
+), then enter a name and email address.
- Edit an alias: Click the Full Name or Email Address field, then change the name or email address.
- Remove an alias: Select an alias, then click the Remove button (
Pre-add all the desired aliases in the Mail.app preferences and select the desired one as needed.