You could combine your two ideas- generate a code and send them a link to a sign up form with that code as a query string in the url. match the code with the email address they enter when they sign up, then delete it once sign up is complete so it can’t be used again.
Related Posts:
- Disable user registration password email
- How do I customise the new user welcome email
- Send user activation email when programmatically creating user
- User Without Email?
- Allow Duplicate Email Address for Different Users
- Email confirmation on registration
- Email as Username in registration
- Send a confirmation of user role upgrade conditionally
- Handle registrations in WordPress when user doesn’t have any email?
- Email notification after registration in WordPress
- wordpress do not let user registered with info@ email and other reserved emails to get registered by users
- How do I make WordPress send an email to the user when his account gets approved (manual by me)
- User registration email and let user choose pasword
- 2 Email addresses for each user
- Script or plugin to send activation email automatically again after 2 hours
- how to email username and password to admin of new registration
- WordPress Won’t Send Email When a User Register
- Programming WordPress to Send an Email on Registration Form Submit?
- How do I troubleshoot registration/password email errors?
- Auto Log In Users after registration and send confirmation email
- Send email for confirmation during user registration
- Send confirmation email when a user’s role is upgraded
- User Without Email?
- I need to verify emails when users signup
- How to Enable registration email for a custom user role?
- Check if “Send the new user an email about their account” is ticked
- WP Mail isn’t sending user account messages, does send from plugins
- User Registration – no Email required
- Get emails of register user in WordPress
- Duplicate notifications for new user registration
- Allowing Loading/Downloading of .mp3
- Create WP account from an external email form submission?
- How to allow an user role to create a new user under a role which lower than his level only?
- Separate registration and login for different roles
- How to change the email notification recipient (user) for new comments?
- How to set up User email verification after Signup?
- Custom admin email for new user registration
- Email stats at Ma.tt contact form
- Mail isn’t sent after local site registration
- Prevent user creating new users with specific roles
- Dynamically send pdf attached to post with contact form 7 [closed]
- Transferring contact form input to an email account without using an email-proxy
- Should I use the standard wp_mail() function for a premium theme?
- How to reload the role specific registration form on validation errors?
- Auto Delete Users (auto_delete_users)
- How to Configure SMTP on wordpress Cant Send Email
- apostrophe in email name
- User invite email not delivered – related to subdomain?
- Can I configure WordPress to use postfix without a plugin?
- WPMU – new users are automatically subscribed to the main blog – how to prevent that?
- Ability to download only after email supplied [closed]
- Obfuscating Email Addresses in Form Fields
- How to Change WooCommerce new order email?
- PHP mail() works but wp_mail() does not
- WordPress Registration Email by Role
- WP mail sent to MS Exchange recipients = occasional email corruption?
- Protect sequence of pages with same password for each of two groups of users
- How to set custom from email address in wp
- register_activation_hook not updating
- How to translate WordPress Emails?
- PAGE Specific Email Notifications
- How to edit the WordPress e-mail that gives the user their password? [duplicate]
- Do action for only switch status for publish_post
- Change the Sender(not From) on wp_mail() function [closed]
- Is Postfix required for WordPress contact forms in general?
- Adding “reply-to” in the email [closed]
- How to change a user role after registering in multisite?
- Woocommerce Wcvendors – duplicate emails when Vendor approved
- Does WordPress require port 25 for email?
- What is correct way to change user’s email?
- Is there a plugin that will let you do actions by mail? [closed]
- Send email daily using `wp_mail`
- How to send confirmation email after payment made via paypal?
- Changing email “From” address
- WordPress and IPN problem
- Add “Email Image” button with Hyperlink for individual images [closed]
- Mail through Cron Execution does not work!
- Need to suspend RSS feed while repairing missing old post
- How to recover one of WP email addresses?
- Send user auto generated password on different email
- Add a second role when registering programmatically
- Activation email to change admin address not being sent to Gsuite email account
- Send email with Content-Type text/plain
- What would cause wp_insert_user role to work sporadically?
- forgot password page with expiry link email of 60 minutes
- Where is the account email address located?
- wp_mail() not sending emails with ajax
- SMTP not working for Comments Email Notifications
- wordpress wp mail not changing sender mail
- User / membership Plugin [closed]
- changing notification emails from WordPress @mydomain.net to something else
- Send Bulk Email without them going to spam
- How can I send an email 24 hours after first email?
- WordPress doesn’t send SMTP email even by phpmailer hook
- Overwrite user role
- Asynchronous emailing
- Can wordpress users check GMAIL (G Suite) inbox & send email from their membership account on WordPress? [closed]
- Send email once every 12 months to a particular user [closed]
- WordPress isn’t sending welcome email with the password reset
- Disable Email Register form