iCloud email is protected with Apple’s two step verification, so you need an ‘app-specific password’ to sign into an app that’s not provided by Apple, like Windows Mail which doesn’t support entering verification codes.
Answer
Here are the steps:
Sign into Apple ID with your iCloud email and password: https://appleid.apple.com/account/manage
If you’re a two step verification user, your device (for me, my iPhone) will give you a verification code to enter after you put in your iCloud email password
In the ‘Security’ section, hit ‘Edit’
In the ‘App-Specific Passwords’ section, hit ‘Generate Password…’
Enter a label for this password (Windows 10 mail app)
Hit ‘Create’
An app-specific password will be created for you, in this format (case sensitive) tmah-jdbq-rdby-gdes
Copy the password and hit ‘Done’
Now open up Windows Mail > settings (cog icon) > manage accounts > Select your iCloud account and enter your app-specific password then ‘Save’ – do not enter your iCloud email password, you just need to input the app-specific password
Your iCloud email should now start to appear. It seems Windows Mail pre-set config is correct, so you shouldn’t need to change the incoming or outgoing email server settings:
Incoming email server: imap.mail.me.com:993:1
Outgoing (SMTP) email server: smtp.mail.me.com:587:1