EmailToEncryptedMailto by cwsoft

Converts text emails and regular mailto links into encrypted mailto links.


ProcessWire module to convert text emails and regular mailto links into encrypted mailto links to hide them from spam bots. The text email would turn into the following encrypted mailto link:

<a href="javascript:cdc('dw:ckfv:e.frzfdw:esyfd','Ihre AnfrageV')">
   info<span hidden>(</span>@<span hidden>)</span>
   domain<span hidden>(</span>.<span hidden>)</span>com

The link will be decrypted on click by the Javascript method cdc, which is automatically linked in your page head section if a email exists on that page.


Download latest module zip file via Download button of the ProcessWire module page or from Github release section and unzip it to your site/modules folder. Ensure the module folder is named EmailToEncryptedMailto. Alternatively you can clone the repository into your Processwire site/modules folder (recommended way for developers) via the following commands:

cd /your_processwire_folder/site/modules
git clone

Once the module files are copied in place, login to your ProcessWire backend and reload the modules. Afterwards the EmailToEncryptedMailto module should show up in your backend ready to be installed by ProcessWire as usual. Once installed, view a page with email(s) in your frontend to see the module in action. You may want to install the German language file shipped with the module. For details see section Language files of the README.


By default the characters [@.] are wrapped in paranthesis added via span tags in the visible mailto part to trick spam bots. The paranthesis () are hidden by default from human beeings via the HTML attribute hidden. Emails entered in input fields will be skipped from encryption by default. The module comes with zero configuration and should work out of the box.

Language files

Enrypted mailto links automatically get a mail subject "Your Request" (Default), respective "Ihre Anfrage" (German). If you want to use the German language file, you need to install it from the module installation section in the backend. Learn how to install language files or add translation files yourself by following the steps described in the Helloworld module by Ryan Cramer.

You can specify pageIDs as comma separated list of pages to skip from the email encryption via the module configuration section in the Processwire backend. Apart from that, no further customizations are yet available. Idea was to keep this module as clean and lean as possible. If you need additional features or want to customize stuff to your needs, you may want to test out other E-Mail obfuscation modules available in the official ProcessWire modules catalog.

Have fun cwsoft

Install and use modules at your own risk. Always have a site and database backup before installing new modules.

Latest news

  • ProcessWire Weekly #498
    The 498th issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on! / 25 November 2023
  • Using date range fields in ProcessWire
    This week we'll take a detailed look at the newest addition to the ProFields set of modules: the Date Range Fieldtype and Inputfield.
    Blog / 24 November 2023
  • Subscribe to weekly ProcessWire news

“To Drupal, or to ProcessWire? The million dollar choice. We decided to make an early switch to PW. And in retrospect, ProcessWire was probably the best decision we made. Thanks are due to ProcessWire and the amazing system and set of modules that are in place.” —Unni Krishnan, Founder of PigtailPundits