That really has more to do with knowing how to handle WP scheduled events than it does the plugin.
Certainly, if you want to manage the email content in the plugin, you can use wpmem_add_custom_email()
to do that (see: https://rocketgeek.com/plugins/wp-members/docs/api-functions/wpmem_add_custom_email/).
So what you’d do is create a scheduled event to run daily. In the function triggered by your event, you’d check the value of your custom field and if it is X from the date, then use wp_mail()
to send your custom email.
The trickiest part is probably the date handling to see if you need to send the message or not. All custom fields (wp_usermeta) are stored as strings but you’ll need to handle it as a date. There isn’t an internal function in WP for doing that, so to get your users who are at the time period you need from the date, you’ll need to do that with a direct SQL query. You may need to tweak things but I think you could that with something like:
"SELECT user_id, meta_value
FROM wp_usermeta
WHERE
meta_key = 'whatever_your_date_field_meta_key_is'
AND
CURDATE() = DATE_SUB( STR_TO_DATE( meta_value, '%Y-%m-%d' ), INTERVAL 11 months)"
That would get you an array of user IDs who are due to receive your email, so then you’d loop through the result and send your custom email.