Convert Email-Addresses in TYPO3 Frontend to links to a powermail form. The form will be send to this email. This will help you to hide email-addresses in frontend from spiders.
First of all define some email-addresses and add some names to it:
Editors can add email addresses anywhere in the frontend:
But emails will not be shown in frontend:
Instead they will parsed into links to a powermail form:
After clicking a link, a powermail form will be shown:
- Install powermail 4.0.0 or newer first
- Install this extension
- Take care that static templates (powermail and email2powermail are included) - Important: powermail must be included before email2powermail!
- Add a powermail form to a page and remember the PID (e.g. 123)
- Add this pid to constants: plugin.tx_email2powermail.settings.pid=123
- Add some email-records to a sysfolder (all this emails will be encoded in frontend)
- Have fun!
- Powermail 4.0.0 or newer
- TYPO3 7.6 or newer
- PHP 5.5 or newer
Version | Date | Description |
---|---|---|
2.0.0 | 2017-10-29 | Update for powermail 4.x |
1.1.1 | 2017-05-20 | TCA update for TYPO3 8.7 |
1.1.0 | 2017-03-17 | Add simple mode to convert all email addresses |
1.0.1 | 2016-10-05 | Prevent function if extension is turned off |
1.0.0 | 2016-10-03 | Complete refactored version of email2powermail |
If you want to add a label field in the form, you can add a new field of type TypoScript and add the path lib.email2powermail.decode.introductionText With this a field will be shown at first if powermail will be called from a link.
Of course you can also use this TypoScript in your setup if you need this.
You can use markers like {email2powermail_name} or {email2powermail_email} in the RTE of powermail:
See TypoScript file EXT:email2powermail/Configuration/TypoScript/setup.txt - there is a mapping configuration. Per default tx_email2powermail_domain_model_email will be used, but you can also use another table - see following example. Use fe_users which are located in pages 1 or 237. Use field email for email and use field first_name for name:
config.tx_extbase {
persistence {
classes {
In2code\Email2powermail\Domain\Model\Email {
# Example how to use fe_users instead of tx_email2powermail_domain_model_email
mapping {
tableName = fe_users
columns {
uid.mapOnProperty = identifier
email.mapOnProperty = email
first_name.mapOnProperty = name
}
in {
pid = 1,237
}
}
}
}
}
}