The MyFitnessPal database has been compromised for years . I register with a unique email address for every website and app that I use so that I can tell when somebody's database gets compromised or they sell my data. I started getting an influx of spam to my MyFitnessPal email years ago. I told them about it at the time but they didn't care.
How do you do this ?
realemailaddress+myfitnesspal@example.com
Or: realemailaddress+0f3eda@example.com
The assumption here is that you have something to keep track of what code you've assigned to what service.Of course, some services don't allow a + in the email address so this only goes so far.
If you want to get slightly fancier, you could use your own domain and a catchall alias that sends everything to your real mailbox. That lets you use an address that doesn't have any obvious relationship to your real email address, apart from the domain name.
If you want to get ultra fancy, you could run your own mail server and set up a process to generate unique email addresses on the fly and keep track of which service was given which address. This is really just attaching some automation to the previous example, possibly using 'real' mailboxes for the incoming email.