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?
- Condionally/limited emails from system (cantact-form, registration, passwd reset)With
- SMTP connect() failed PHPmailer – PHP
- What is the difference between ports 465 and 587?
- Email validation in Ruby on Rails?
- Is there a way to embed an iframe in an email with text that updates?
- How to change the default registration email ? (plugin and/or non-plugin)
- Sending multipart (text/html) emails via wp_mail() will likely get your domain banned
- How to set SMTP programmatically
- 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
- changing notification emails from WordPress @mydomain.net to something else
- How do I programmatically set default role for new users?
- Alert Email when any Post or Page is Changed
- Do something after sending email
- How do you update user_email on the front end in WP 3.3?
- Missing URL in password reset email
- “Reply-to Address” Email
- prevent users from changing their email address
- What the user_status column?
- 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
- Disable new user notification to admin email
- How to remove administrator role in settings -> general -> New User Default Role?
- Customizing lost password email
- Login email after registration never sent or received
- Create custom welcome email without a plugin
- Include HTML template file in wp_mail
- Email sent from WordPress has HTML tags
- How to disable automated E-Mail on PHP error/exception?
- Reset Password – change from name and email address
- How do i send mail with custom Form Data using WordPress
- Email stats at Ma.tt contact form
- Fwd: [Website Name] Notice of Email Change [closed]
- How to loop through each user id?
- Send all WPMU emails via SMTP
- Send mail to wordpress admin
- Mail isn’t sent after local site registration
- Prevent user creating new users with specific roles
- How to disable wordpress confirmation email for new users
- WP Cron emails not working
- Roles at registration (classipress)
- Dynamically send pdf attached to post with contact form 7 [closed]
- Few chars getting replaced with ‘=’ in mail content in wp_mail()
- Locked out of my own blog and password reset not working
- wp_mail recipient array not sending?
- wordpress separate registration for different roles
- Change Password notification text on mail
- 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)
- Is there a way to set the user Role based on email domain
- On form submission how to send 2 email to different users
- How to Configure SMTP on wordpress Cant Send Email
- email wordpress users using BCC
- Best way to create a user programatically
- How to customize wp_signon()
- Contact Form 7 + Configure SMTP: Sender email appearing as my own email [closed]
- email sends from [email protected] even though I have it set to something else
- How to add line breaks to $email[‘body’] when using auto_core_update_email hook
- Joining confirmation email
- How to sent one form values to 2 different sites in wordpress
- How to setup SMTP for only one specific wp_mail()
- Ajax Redirect role = ‘Editor’ to their Dashboard after register
- apostrophe in email name
- Sanitizing and validating email field
- Disable WP notifications for commenting on own posts