Skip to main content

Enables you to login using your emailaddress.

Project description



What is betahaus.emaillogin?

The use of emailaddress are speading more and more but Plone does not have a convenient way to use a users registered email address to login.

betahaus.emaillogin makes it possible to login using the email address specified in the user profile.

Plone has a very powerful and modifiable authentication system called Pluggable Authentication Service (PAS). As the name suggest the system is pluggable and thus can easily be extended by third-party products such as this.


  • add betahaus.emaillogin entries to eggs and zcml in the appropriate buildout configuration file.

  • re-run buildout.

  • Install via portal_quickinstaller or Site Setup in plone

  • copy this eggnest file to your eggnest directory

  • re-run buildout

  • Install via portal_quickinstaller or Site Setup in plone

How it works

betahaus.emaillogin is at installation put first in the list of extraction plugins. If an email address is specified and a corresponding user is found. The email address in the request is replaced with the username and then simulates failed extraction to continue normal login procedure.


The current default implementation does a lookup of the email by iterating over all of the PAS users until the corresponding email is found. This approach is fine for a large number of sites with a liberal number of users. It is however computationally expensive and slow when the number of users rise. If you experience performance issues there is a GenericSetup profile called extended that can be applied. This extension adds a custom email->userid catalog that enables faster userid look-up from email address.

The extended profile is applied via portal_setup -> Import -> select and apply profile Extended performance for EmailLogin Support.

If you want to uninstall this extended profile just remove the email_catalog from the site root and emaillogin will fall back to default lookup implementation.

A quick word about buildout.eggnest

buildout.eggnest is an extension to buildout that enables you to auto load eggs. You only drop a .nestegg specification file into a predefined directory and it will get downloaded by buildout as if it was entered in the buildout configuration file. This way you don’t have to edit the buildout config all the time. The .nestegg specification file is normally made by the author of the egg. More information at

Change history

0.3 (2009-07-27)

  • Added a warning to managers when changing email in the prefs_users_overview to an already existing email. [mlundwall]

  • Added a optional custom email catalog, for better performance with large number of users. [mlundwall]

0.2 (2009-05-22)

  • Fix bug in personalize_form.vpy that prevented editing user profiles. [davisagli]

0.1 (2009-05-11)

  • Added custom personalize_form.vpy to prevent changing an existing user’s e-mail address to one that already exists. [davisagli]

  • Avoid applying the custom import steps when other profiles are applied. [davisagli]

  • Duplicate email warning at install [mlundwall]

  • Check at registration to not allow multiple users with same email [mlundwall]

  • Moved to collective. [mlundwall]

  • Created recipe with ZopeSkel [Robin Harms Oredsson].


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

betahaus.emaillogin-0.3.tar.gz (25.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page