Вам нужен URL-адрес активации. URL-адрес активации содержит уникальный идентификатор, возможно, UUID, который проверяется, когда пользователь щелкает URL-адрес активации.
Чтобы избежать сохранения пользовательских данных в базе данных, вы можете сохранить пользовательские данные в URL-адресе активации, отправленном пользователю:
import urllib
data = urllib.urlencode({'name':'joe', 'password':'1234'})
activation_url = 'http://example.com/activate?%s' % data
Но поскольку пользовательская информация отправляется в виде простого текста, этот метод очень небезопасен.
Правильный способ сделать это - сохранить информацию о пользователе вместе с флагом активации в базе данных. Когда пользователь щелкает URL-адрес активации, уникальный идентификатор проверяется, и для флага активации устанавливается значение true, что позволяет создать новую учетную запись пользователя.
Отправка электронной почты в Python довольно проста, если у вас есть доступ к SMTP-серверу или учетной записи Gmail.
Документы Python содержат примеров отправки электронной почты с Python.