powermail

Extension Key: powermail

Language: en

Version: 2.0.x

Keywords: powermail, mailform, powermail_frontend, powermail_sendpost, spamshield

Copyright 2006-2012, powermail Dev Team, <alexander.kellner@in2code.de>

This document is published under the Open Content License

available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3

- a GNU/GPL CMS/Framework available from www.typo3.org

Table of Contents

powermail	1

Introduction	3

What does it do?	3

What's new in powermail 2.0?	4

Tested with TYPO3 version	6

Screenshots	7

For Editors	12

Add a new Form	12

Add a new Plugin	43

Manage Mails with Backend Module	49

For Administrators	53

Installation	53

Powermail_Frontend	55

Good to know	58

For Developers	84

Database Model	84

Write own JavaScript Validation	85

Write own PHP Validation	86

Signal Slots	87

userFuncs with cObject	89

FAQ	93

Changelog	98

Todos	100

Bugfixes	100

Features	100

Request	100

Additional links	101

Introduction

What does it do?

Powermail is a powerful and – in addition – a very easy mailform extension with a wide range of tools and features for editors, admins and developers. Define your form in the backend with a few clicks and look at the final output in the frontent.

Some basic points:

Main features of this mailform extension is to store the mails into the database. Export it from the backend module (xls, csv) or list the values in the frontend again (Pi2).

Powermail send mail(s) to a static receiver or to dynamic receivers or to a whole FE_User Group.

Different HTML templates (Fluid) and RTE fields in backend for all needed views.

Fieldvalidation from client or from server side (via jQuery and PHP).

A focus of the form is to prevent spam (Captcha, Spam Factor, Different Checks, etc...).

Another focus is to track some interesting information of users (funnel, browser, google searchterm, etc...)

For Developers: Powermail is a very flexible extension, which also could be extended by your code or extension (hooks, signalslots, TypoScript cObjects and userFuncs, debugoutput, etc...).

Cut a long story short: With powermail editors can create complex mailforms without html knowledge.

What's new in powermail 2.0?

Powermail >= 2.0 is a complete rebuild of the old powermail. Main focus was to keep flexibility and all the features and to create even more. The rebuild was done with Extbase and Fluid.

See videos to 2.0 on youtube:

Powermail 2.0 Introduction: http://youtu.be/tuhMiwEvhIs

Powermail 2.0 Hidden Secrets: http://youtu.be/XAkenuTmxZ0

NOTE: At the moment there is no update script to use old forms and mails with the new powermail!

NOTE: Powermail 2 runs on TYPO3 4.6 or higher only

Powermail integrated the most interesting extensions into the core:

powermail_frontend: Show stored Mails again in the frontend (build a fast guestbook, etc...)

wt_spamshield: Integrated spam-prevention-methods from wt_spamshield

wt_calculating_captcha: Integrated a captcha extension to powermail

powermail_optin: Double-Opt-In for powermail

powermail_sendpost: Send values to a third-party-software like a CRM (salesforce, etc...)

Forms can be used more than only one time now

Localization improved (no more different Field markers)

Database model changed – tt_content will not longer extended with powermail fields

Marketing Session – See the most important information about your user now

Adwords Implementation – Adwords Conversion Tracking could be enabled by adding the code to the constants

CC, BCC, Reply, ReturnPath, Priority now available

Send values to a third-party-software like a CRM (like salesforce, etc...) or a Marketing-Automation-Tool (like eloqua, etc...)

Spam Factor for Mails

Spam Prevention Methods – same methods from wt_spamshield

Calculating Captcha included

Change Design of the backend module

Double-Opt-In for forms

powermail_frontend to show mails in frontend (Pi2) with export possibilities (XLS, CSV, RSS)

Plugin Info in Web view of backend

Backend Module Reports (Fields and Marketing)

Backend Module Check

E-Mails to FE Groups

Form Caching

Tested with TYPO3 version

TYPO3 4.6

TYPO3 4.7

Screenshots

Frontend: Show a form with different field types

Powermail Form with Input, Textarea, Select, Checkboxes, Radiobuttons, Captcha, TypoScript Output, Locationfield and Submitbutton

Frontend: powermail_frontend integration shows mails in a list

Listing of stored mails with the possibility to see a Detail view or to re-edit the entries for a defined Frontend Usergroup.

Define your ABC- and Searchterm Filter

Define the export possibilities (RSS, CSV, XLS)

Backend: Define a Form with Pages and Fields

Backend: Module for listing mails and creating export files

Backend: Module for some Marketing Reports

Reports for Searchterm from Google, Last external Page, Payed Searchresult, Website Language, Browser Language and Page Funnel

For Editors

Add a new Form

Choose a page (could also be a folder) where to store the settings of a new powermail form and change to the list view. Click on the New Button to add a new record to this page and choose “Forms”.

Form Settings

Field:	Description:	Explanation:	Tab:
Title	Add a title for your form.	The title is used to find the form in the backend. You can also show the title in the frontend.	General
Pages	Add one or more pages to a form	A form collects a couple of pages. You need minimum 1 page to show a form	General
Layout	Choose a layout.	This adds a CSS-Class to the frontend output. Administrator can add, remove or rename some of the entries.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

Pages Settings

Field:	Description:	Explanation:	Tab:
Title	Add a title for your page.	The title is used to find the page in the backend. You can also show the title in the frontend.	General
Fields	Add one or more fields to this page.	A page collects a couple of fields. You need minimum 1 field to show a form.	General
Layout	Choose a layout.	This adds a CSS-Class to the frontend output. Administrator can add, remove or rename some of the entries.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

Field Settings

General

Backend Configuration Example

Explanation

Field:	Description:	Explanation:	Tab:
Title	Add a label for this field.	The label is shown in the frontend near to this field.	General
Type	Choose a fieldtype.	See explanation below for a special fieldtype. Different fields are related to some fieldtypes – not all fields are shown on every type.	General
Email of sender	Check this if the field contains the email of the sender.	This is needed to set the correct sender-email-address	General
Name of sender	Check this if the field contains a part of the sender-name.	This is needed to set the correct sender-name	General
Mandatory Field	Check this if the field should contain a content.	If the field is empty in frontend, the form will not be sent. Check with JavaScript and PHP.	Extended
Validation	Validate the user input to Email, URL, Phone, Numbers only, Letters only.	JavaScript and PHP validation for the field content.	Extended
Prefill with value	Prefill field value with a static content.	Other possibilities to prefill a field: - With TypoScript - With GET or POST params	Extended
Prefill with Value from FE User	Check if field should be filled from the FE_Users table of a logged in fe_user.	This value overwrites a static value	Extended
Layout	Choose a layout.	This adds a CSS-Class to the frontend output. Administrator can add, remove or rename some of the entries.	Extended
Variables – Individual Fieldname	This is a marker of this field.	Use a field variable with {marker} in any RTE or HTML-Template. The marker name is equal in any language.	Extended
Add own Variable	Check this, if you want to set your own marker (see row before).	After checking this button, TYPO3 ask you to reload. After a reload, you see a new field for setting an own marker.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

Field Types

Field:	Description:	HTML:	Category:	Example:
Textfield (input)	Simple text field (one line)	<input type=”text” />	Standard	
Textfield with more rows (Textarea)	Text field with more lines	<textarea></textarea>	Standard	
Selectfield	Selector box (Dropdown)	<select><option>X</option></select>	Standard	
Checkboxes	Checkbox (Possibility to select more than only one)	<input type=”checkbox” />	Standard	
Radiobuttons	Radio Buttons (Possibility to check only one)	<input type=”radio” />	Standard	
Submit	Send Form	<input type=”submit” />	Standard	
Captcha	Captcha Check against spam	<input type=”text” />	Extended	
Reset	Reset field to clean all values in the form	<input type=”reset” />	Extended	
Show some text	Show some text	This is a Test	Extended	
Content Element	Show an existing Content Element	Text with <img src=”...” />	Extended	
Show HTML	Add some html text (this must be enabled via Constants from the Administration!)	This is a <b>Test</b>	Extended	
Password Field	Two fields for a password check	<input type=”text” /> <input type=”text” />	Extended	
File Upload	Upload field	<input type=”file” />	Extended	
Hidden Field	Hidden field	<input type=”hidden” />	Extended	-
Date	Datepicker field	<input type=”text” />	Extended	
Location	Location field. Browser will ask user if it's ok to fill the field with current location.	<input type=”text” />	Extended	
TypoScript	Fill values from TypoScript	This is a <b>Test</b>	Extended	

Textfield (Input)

Frontend Output Example

Backend Configuration Example

Explanation

Field:	Description:	Explanation:	Tab:
Title	Add a label for this field.	The label is shown in the frontend near to this field.	General
Type	Choose another fieldtype.	A change forces a browser reload.	General
Email of sender	Check this if the field contains the email of the sender.	This is needed to set the correct sender-email-address	General
Name of sender	Check this if the field contains a part of the sender-name.	This is needed to set the correct sender-name	General
Mandatory Field	Check this if the field should contain a content.	If the field is empty in frontend, the form will not be sent. Check with JavaScript and PHP.	Extended
Validation	Validate the user input to Email, URL, Phone, Numbers only, Letters only.	JavaScript and PHP validation for the field content.	Extended
Prefill with value	Prefill field value with a static content.	Other possibilities to prefill a field: - With TypoScript - With GET or POST params	Extended
Prefill with Value from FE User	Check if field should be filled from the FE_Users table of a logged in fe_user.	This value overwrites a static value	Extended
Layout	Choose a layout.	This adds a CSS-Class to the frontend output. Administrator can add, remove or rename some of the entries.	Extended
Variables – Individual Fieldname	This is a marker of this field.	Use a field variable with {marker} in any RTE or HTML-Template. The marker name is equal in any language.	Extended
Add own Variable	Check this, if you want to set your own marker (see row before).	After checking this button, TYPO3 ask you to reload. After a reload, you see a new field for setting an own marker.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

Text with more rows (Textarea)

Frontend Output Example

Backend Configuration Example

Explanation

Field:	Description:	Explanation:	Tab:
Title	Add a label for this field.	The label is shown in the frontend near to this field.	General
Type	Choose another fieldtype.	A change forces a browser reload.	General
Email of sender	Check this if the field contains the email of the sender.	This is needed to set the correct sender-email-address	General
Name of sender	Check this if the field contains a part of the sender-name.	This is needed to set the correct sender-name	General
Mandatory Field	Check this if the field should contain a content.	If the field is empty in frontend, the form will not be sent. Check with JavaScript and PHP.	Extended
Validation	Validate the user input to Email, URL, Phone, Numbers only, Letters only.	JavaScript and PHP validation for the field content.	Extended
Prefill with value	Prefill field value with a static content.	Other possibilities to prefill a field: - With TypoScript - With GET or POST params	Extended
Prefill with Value from FE User	Check if field should be filled from the FE_Users table of a logged in fe_user.	This value overwrites a static value	Extended
Layout	Choose a layout.	This adds a CSS-Class to the frontend output. Administrator can add, remove or rename some of the entries.	Extended
Variables – Individual Fieldname	This is a marker of this field.	Use a field variable with {marker} in any RTE or HTML-Template. The marker name is equal in any language.	Extended
Add own Variable	Check this, if you want to set your own marker (see row before).	After checking this button, TYPO3 ask you to reload. After a reload, you see a new field for setting an own marker.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

Selectfield

Frontend Output Example

Backend Configuration Example

Explanation

Field:	Description:	Explanation:	Tab:
Title	Add a label for this field.	The label is shown in the frontend near to this field.	General
Type	Choose another fieldtype.	A change forces a browser reload.	General
Options	Define your selectable options.	You can separate values and labels in the field (see following table for some examples).	General
Email of sender	Check this if the field contains the email of the sender.	This is needed to set the correct sender-email-address	General
Name of sender	Check this if the field contains a part of the sender-name.	This is needed to set the correct sender-name	General
Mandatory Field	Check this if the field should contain a content.	If the field is empty in frontend, the form will not be sent. Check with JavaScript and PHP.	Extended
Layout	Choose a layout.	This adds a CSS-Class to the frontend output. Administrator can add, remove or rename some of the entries.	Extended
Variables – Individual Fieldname	This is a marker of this field.	Use a field variable with {marker} in any RTE or HTML-Template. The marker name is equal in any language.	Extended
Add own Variable	Check this, if you want to set your own marker (see row before).	After checking this button, TYPO3 ask you to reload. After a reload, you see a new field for setting an own marker.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

Option examples for selectbox

Line:	Example option:	Generated HTML code in Frontend
1	Red	<option value=”Red”>Red</option>
2	Yellow | 1	<option value=”1”>Yellow</option>
3	Blue |	<option value=””>Blue</option>
4	Black Shoes | black | *	<option value=”black” selected=”selected”>Black Shoes</option>
5	White | | *	<option value=”” selected=”selected”>White</option>

Checkboxes

Frontend Output Example

Backend Configuration Example

Explanation

Field:	Description:	Explanation:	Tab:
Title	Add a label for this field.	The label is shown in the frontend near to this field.	General
Type	Choose another fieldtype.	A change forces a browser reload.	General
Options	Define your selectable options.	You can separate values and labels in the field (see following table for some examples).	General
Email of sender	Check this if the field contains the email of the sender.	This is needed to set the correct sender-email-address	General
Name of sender	Check this if the field contains a part of the sender-name.	This is needed to set the correct sender-name	General
Mandatory Field	Check this if the field should contain a content.	If the field is empty in frontend, the form will not be sent. Check with JavaScript and PHP.	Extended
Layout	Choose a layout.	This adds a CSS-Class to the frontend output. Administrator can add, remove or rename some of the entries.	Extended
Variables – Individual Fieldname	This is a marker of this field.	Use a field variable with {marker} in any RTE or HTML-Template. The marker name is equal in any language.	Extended
Add own Variable	Check this, if you want to set your own marker (see row before).	After checking this button, TYPO3 ask you to reload. After a reload, you see a new field for setting an own marker.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

Option examples for checkbox

Line:	Example option:	Generated HTML code in Frontend
1	Red	<label>Red</label><input value=”Red” />
2	Yellow | 1	<label>Yellow</label><input value=”1” />
3	Blue |	<label>Blue</label><input value=”” />
4	Black Shoes | black | *	<label>Black Shoes</label><input value=”black” checked=”checked” />
5	White | | *	<label>White</label><input value=”” checked=”checked” />

Checkboxes

Frontend Output Example

Backend Configuration Example

Explanation

Field:	Description:	Explanation:	Tab:
Title	Add a label for this field.	The label is shown in the frontend near to this field.	General
Type	Choose another fieldtype.	A change forces a browser reload.	General
Options	Define your selectable options.	You can separate values and labels in the field (see following table for some examples).	General
Email of sender	Check this if the field contains the email of the sender.	This is needed to set the correct sender-email-address	General
Name of sender	Check this if the field contains a part of the sender-name.	This is needed to set the correct sender-name	General
Mandatory Field	Check this if the field should contain a content.	If the field is empty in frontend, the form will not be sent. Check with JavaScript and PHP.	Extended
Layout	Choose a layout.	This adds a CSS-Class to the frontend output. Administrator can add, remove or rename some of the entries.	Extended
Variables – Individual Fieldname	This is a marker of this field.	Use a field variable with {marker} in any RTE or HTML-Template. The marker name is equal in any language.	Extended
Add own Variable	Check this, if you want to set your own marker (see row before).	After checking this button, TYPO3 ask you to reload. After a reload, you see a new field for setting an own marker.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

Option examples for radio buttons

Line:	Example option:	Generated HTML code in Frontend
1	Red	<label>Red</label><input value=”Red” />
2	Yellow | 1	<label>Yellow</label><input value=”1” />
3	Blue |	<label>Blue</label><input value=”” />
4	Black Shoes | black | *	<label>Black Shoes</label><input value=”black” checked=”checked” />
5	White | | *	<label>White</label><input value=”” checked=”checked” />

Submit

Frontend Output Example

Backend Configuration Example

Explanation

Field:	Description:	Explanation:	Tab:
Title	Add a value for this field.	The value is shown in the button.	General
Type	Choose another fieldtype.	A change forces a browser reload.	General
Layout	Choose a layout.	This adds a CSS-Class to the frontend output. Administrator can add, remove or rename some of the entries.	Extended
Variables – Individual Fieldname	This is a marker of this field.	Use a field variable with {marker} in any RTE or HTML-Template. The marker name is equal in any language.	Extended
Add own Variable	Check this, if you want to set your own marker (see row before).	After checking this button, TYPO3 ask you to reload. After a reload, you see a new field for setting an own marker.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

Captcha Field

Frontend Output Example

Backend Configuration Example

Explanation

Field:	Description:	Explanation:	Tab:
Title	Add a value for this field.	The value is shown in the button.	General
Type	Choose another fieldtype.	A change forces a browser reload.	General
Variables – Individual Fieldname	This is a marker of this field.	Use a field variable with {marker} in any RTE or HTML-Template. The marker name is equal in any language.	Extended
Add own Variable	Check this, if you want to set your own marker (see row before).	After checking this button, TYPO3 ask you to reload. After a reload, you see a new field for setting an own marker.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

Reset

Frontend Output Example

Backend Configuration Example

Explanation

Field:	Description:	Explanation:	Tab:
Title	Add a value for this field.	The value is shown in the button.	General
Type	Choose another fieldtype.	A change forces a browser reload.	General
Variables – Individual Fieldname	This is a marker of this field.	Use a field variable with {marker} in any RTE or HTML-Template. The marker name is equal in any language.	Extended
Add own Variable	Check this, if you want to set your own marker (see row before).	After checking this button, TYPO3 ask you to reload. After a reload, you see a new field for setting an own marker.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

Show some Text

Frontend Output Example

Backend Configuration Example

Explanation

Field:	Description:	Explanation:	Tab:
Title	Add a value for this field.	The value is shown in the button.	General
Type	Choose another fieldtype.	A change forces a browser reload.	General
Add some text	This is the field for the text	HTML Tags are not allowed for security reasons	General
Variables – Individual Fieldname	This is a marker of this field.	Use a field variable with {marker} in any RTE or HTML-Template. The marker name is equal in any language.	Extended
Add own Variable	Check this, if you want to set your own marker (see row before).	After checking this button, TYPO3 ask you to reload. After a reload, you see a new field for setting an own marker.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

Content Element

Frontend Output Example

Backend Configuration Example

Explanation

Field:	Description:	Explanation:	Tab:
Title	Add a value for this field.	The value is shown in the button.	General
Type	Choose another fieldtype.	A change forces a browser reload.	General
Select Content Element	Select an existing content element to show.	Add a content element before and select it in the popup.	General
Variables – Individual Fieldname	This is a marker of this field.	Use a field variable with {marker} in any RTE or HTML-Template. The marker name is equal in any language.	Extended
Add own Variable	Check this, if you want to set your own marker (see row before).	After checking this button, TYPO3 ask you to reload. After a reload, you see a new field for setting an own marker.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

Show HTML

Frontend Output Example

Backend Configuration Example

Explanation

Field:	Description:	Explanation:	Tab:
Title	Add a value for this field.	The value is shown in the button.	General
Type	Choose another fieldtype.	A change forces a browser reload.	General
Add some text	This is the field for the html tags and text	HTML Tags are not allowed for security reasons by default. Can be enabled from the administrator by TypoScript constants.	General
Variables – Individual Fieldname	This is a marker of this field.	Use a field variable with {marker} in any RTE or HTML-Template. The marker name is equal in any language.	Extended
Add own Variable	Check this, if you want to set your own marker (see row before).	After checking this button, TYPO3 ask you to reload. After a reload, you see a new field for setting an own marker.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

Password Field

Frontend Output Example

Backend Configuration Example

Explanation

Field:	Description:	Explanation:	Tab:
Title	Add a value for this field.	The value is shown in the button.	General
Type	Choose another fieldtype.	A change forces a browser reload.	General
Variables – Individual Fieldname	This is a marker of this field.	Use a field variable with {marker} in any RTE or HTML-Template. The marker name is equal in any language.	Extended
Add own Variable	Check this, if you want to set your own marker (see row before).	After checking this button, TYPO3 ask you to reload. After a reload, you see a new field for setting an own marker.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

File Upload

Frontend Output Example

Backend Configuration Example

Explanation

Field:	Description:	Explanation:	Tab:
Title	Add a value for this field.	The value is shown in the button.	General
Type	Choose another fieldtype.	A change forces a browser reload.	General
Variables – Individual Fieldname	This is a marker of this field.	Use a field variable with {marker} in any RTE or HTML-Template. The marker name is equal in any language.	Extended
Add own Variable	Check this, if you want to set your own marker (see row before).	After checking this button, TYPO3 ask you to reload. After a reload, you see a new field for setting an own marker.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

Hidden Field

Frontend Output Example

-

Backend Configuration Example

Explanation

Field:	Description:	Explanation:	Tab:
Title	Add a value for this field.	The value is shown in the button.	General
Type	Choose another fieldtype.	A change forces a browser reload.	General
Email of sender	Check this if the field contains the email of the sender.	This is needed to set the correct sender-email-address	General
Name of sender	Check this if the field contains a part of the sender-name.	This is needed to set the correct sender-name	General
Prefill with value	Prefill field value with a static content.	Other possibilities to prefill a field: - With TypoScript - With GET or POST params	Extended
Prefill with Value from FE User	Check if field should be filled from the FE_Users table of a logged in fe_user.	This value overwrites a static value	Extended
Variables – Individual Fieldname	This is a marker of this field.	Use a field variable with {marker} in any RTE or HTML-Template. The marker name is equal in any language.	Extended
Add own Variable	Check this, if you want to set your own marker (see row before).	After checking this button, TYPO3 ask you to reload. After a reload, you see a new field for setting an own marker.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

Date

Frontend Output Example

Backend Configuration Example

Explanation

Field:	Description:	Explanation:	Tab:
Title	Add a value for this field.	The value is shown in the button.	General
Type	Choose another fieldtype.	A change forces a browser reload.	General
Mandatory Field	Check this if the field should contain a content.	If the field is empty in frontend, the form will not be sent. Check with JavaScript and PHP.	Extended
Variables – Individual Fieldname	This is a marker of this field.	Use a field variable with {marker} in any RTE or HTML-Template. The marker name is equal in any language.	Extended
Add own Variable	Check this, if you want to set your own marker (see row before).	After checking this button, TYPO3 ask you to reload. After a reload, you see a new field for setting an own marker.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

Location

Frontend Output Example

Backend Configuration Example

Explanation

Field:	Description:	Explanation:	Tab:
Title	Add a value for this field.	The value is shown in the button.	General
Type	Choose another fieldtype.	A change forces a browser reload.	General
Variables – Individual Fieldname	This is a marker of this field.	Use a field variable with {marker} in any RTE or HTML-Template. The marker name is equal in any language.	Extended
Add own Variable	Check this, if you want to set your own marker (see row before).	After checking this button, TYPO3 ask you to reload. After a reload, you see a new field for setting an own marker.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

TypoScript

Frontend Output Example

Backend Configuration Example

Explanation

Field:	Description:	Explanation:	Tab:
Title	Add a value for this field.	The value is shown in the button.	General
Type	Choose another fieldtype.	A change forces a browser reload.	General
TypoScript Path	Add TypoScript path to show in frontend.	Example TypoScript could be: lib.test = TEXT lib.test.value = xyz	General
Variables – Individual Fieldname	This is a marker of this field.	Use a field variable with {marker} in any RTE or HTML-Template. The marker name is equal in any language.	Extended
Add own Variable	Check this, if you want to set your own marker (see row before).	After checking this button, TYPO3 ask you to reload. After a reload, you see a new field for setting an own marker.	Extended
Language	Choose a language.		Access
Hide	Disable the form	Enable or disable a form with all pages and fields	Access
Start	Startdate for a form	Same function as known from default content elements or pages in TYPO3	Access
Stop	Stopdate for a form	Same function as known from default content elements or pages in TYPO3	Access

Add a new Plugin

Choose a page where you want to show a powermail form in the Frontend and go to the page module. Click on the New Button to add a new content element to this page and choose “powermail”.

Plugin Settings

You will find the plugin settings within the tab “Plugin”. In this area you see another four tabs (Main Settings, Receiver, Sender, Submit Page).

Main Settings

Example Configuration

Explanation

Field:	Description:	Explanation:	Tab:
Choose a Powermail Form	Choose an existing powermail form.	You have to store a form first (see manual section above) by clicknig the plus symbol.	Main Settings
Confirmation Page	Enable a confirmation page.	This enables a confirmation page (Are theese values correct?) to the frontend.	Main Settings
Double-Opt-In	Add Double-Opt-In feature to this form.	A user has to confirm his email by clicking a link in a mail first before the main mail is sent. Note: You can overwrite the email to the user by administrators email address.	Main Settings
Step by step	Enable morestep form.	Each page (fieldset) will be splittet to one page in the frontend. With JavaScript the user can switch between the pages.	Main Settings
Where to save Mails	Choose a page where to store the mails in the database.	You can select a page or a folder. Leaving this empty will store the mails on the same page.	Main Settings

Receiver

Example Configuration

Explanation

Field:	Description:	Explanation:	Tab:
Receivers Name	Add the name of the main receiver name.	- Add a static value - Add a variable like {firstname} - Add a viewhelper call like {f:cObject(typoscriptObjectPath:'lib.test')} to get a value from TypoScript or a userFunc - or mix dynamic and static values	Receiver
Receivers Mail	Add the email address of one or more receivers	- Add one or more static values (split with a new line) - Add a variable like {email} - Add a viewhelper call like {f:cObject(typoscriptObjectPath:'lib.test')} to get a value from TypoScript or a userFunc - or mix dynamic and static values	Receiver
Frontend User Group	Choose a Frontend User Group.	Select an existing group to send the mail to all users of a given group.	Receiver
Subject	Subject for mail to receiver.	- Add a static value - Add a variable like {firstname} - Add a viewhelper call like {f:cObject(typoscriptObjectPath:'lib.test')} to get a value from TypoScript or a userFunc - or mix dynamic and static values	Receiver
Bodytext	Add some text for the mail to the receiver.	- Add a static value - Add {powermail_all} to get all values from the form in one table (with labels) - Add a variable like {firstname} - Add a viewhelper call like {f:cObject(typoscriptObjectPath:'lib.test')} to get a value from TypoScript or a userFunc - or mix dynamic and static values	Receiver

Sender

Example Configuration

Explanation

Field:	Description:	Explanation:	Tab:
Senders Name	Add the name of the sender.	- Add a static value	Sender
Senders Email	Add the email address of the sender.	- Add one or more static values (split with a new line)	Sender
Subject	Subject for mail to sender. Leaving subject empty disables the mail to the sender.	- Add a static value - Add a variable like {firstname} - Add a viewhelper call like {f:cObject(typoscriptObjectPath:'lib.test')} to get a value from TypoScript or a userFunc - or mix dynamic and static values	Sender
Bodytext	Add some text for the mail to the sender.	- Add a static value - Add {powermail_all} to get all values from the form in one table (with labels) - Add a variable like {firstname} - Add a viewhelper call like {f:cObject(typoscriptObjectPath:'lib.test')} to get a value from TypoScript or a userFunc - or mix dynamic and static values	Sender

Submit Page

Example Configuration

Explanation

Field:	Description:	Explanation:	Tab:
Text on submit page	Add some text for submit message.	- Add a static value - Add {powermail_all} to get all values from the form in one table (with labels) - Add a variable like {firstname} - Add a viewhelper call like {f:cObject(typoscriptObjectPath:'lib.test')} to get a value from TypoScript or a userFunc - or mix dynamic and static values	Submit Page
Redirect	Add a redirect target instead of adding text (see row above).	As soon as you enter a value, the user will be redirected to a target on submit (internal page, external URL, document, mail address)	Submit Page

Manage Mails with Backend Module

Choose a page where some mails from powermail are stored and open the powermail Backend Module on the left side.

The Backend Module will start with the mail listing.

Mail List

If the page contains mails, all mails will be listet. The view is splitted into two parts (Search Area and List Area).

Search Area

Search Area is useful to filter the mails (of the List Area) and to manage the Export.

Field:	Description:	Additional Explanation:
Fulltext Search	This is the main search field for a full text search.	If you enter a searchterm all fields of the mail and of the answers are searched by your term (technical note: OR and LIKE %term%)
Filter List Button	Submit Button for search.	This is the main submit button which should be clicked if you're using the fulltext search field or any other search field.
Start	Choose a Start Date for the filter list.	Date starts on 0:00 o'clock. Clicking into the field opens a datepicker.
Stop	Choose a Stop Date for the filter list.	Date starts on 0:00 o'clock. Clicking into the field opens a datepicker. Example: From 1.1.2012 up to 2.1.2012 filter emails of 24h.
Sender Name	Search through the sender name field of the stored mail.	All fields are related to each other with OR.
Sender Email	Search through the sender email field of the stored mail.	All fields are related to each other with OR.
Subject	Search through the subjtect field of the stored mail.	All fields are related to each other with OR.
Deactivated Mails	Show only activated or deactivated mails.	Deactivated mails could be interesting if you use Double-Opt-In e.g.
Additional Fields	Clicking on the green Plus Symbol opens a list of all fields (e.g. firstname, lastname, email, etc...) from the form.	All fields are related to each other with OR.

Export Area

Export Area gives you the possibility to export your mails in XLS or CSV format.

Field:	Description:	Additional Explanation:
XLS Icon	If you want to export the current list in XLS-Format, click the icon. XLS-Files can be opened with Microsoft Excel or Open Office (e.g.).	If you filter or sort the list before, the export will only export the filtered mails. See “Columns in Export File” if you want to change the export file columns.
CSV Icon	If you want to export the current list in CSV-Format, click the icon. CSV-Files can be opened with Microsoft Excel or Open Office (e.g.).	If you filter or sort the list before, the export will only export the filtered mails. See “Columns in Export File” if you want to change the export file columns.
Columns in Export File	This area shows the columns and the ordering of the rows in the export-file. Play around with drag and drop.	Change sorting: Drag and drop a line up or down Add row: Choose a line of the “Available Columns” and drop on “Columns in Export File” Remove row: Drag line and move to the “Available Columns”
Available Columns	This area shows the available columns that can be used in the export file.	See Row before for an explanation.

For Administrators

Installation

Import

Import Extension from the TYPO3 Extension Repository to your server.

Install

Install the extension and follow the instructions (adding tables, etc...).

Extension Manager Settings

Main configuration for powermail for CMS wide settings.

Field:	Description:
Disable IP logging	If you generally don't want to save the sender IP address in the database, you can use this checkbox.
Disable BE Module	You can disable the backend module if you don't store mails in your database or if you don't need the module.
Disable Plugin Information	Below every powermail plugin is a short info table with form settings. You can disable theese information.
Enable Form caching	With this setting, you can enable the caching of the form generation, what speeds up sites with powermail forms in the frontend. On the other hand, some additional features (like prefilling values from GET paramter, etc...) are not working any more.
Enable Merge for l10n_mode	All fields with l10n_mode exclude should change their translation behaviour to mergeIfNotBlank. This allows you to have different field values in different languages.
ElementBrowser replaces IRRE	Editors can add pages within a form table via IRRE. If this checkbox is enabled, an element browser replaces the IRRE Relation.

Static Templates

Add powermail static templates for full functions

Template:	Description:
Main Template (powermail)	Main functions and settings for any powermail form.
Add fancy CSS (powermail)	If you want to have default CSS settings for powermail forms, check this template.
Powermail_Frontend (powermail)	If you want to use powermail_frontend (Pi2), choose this template.
Marketing Information (powermail)	If you add this template, a userFunc is added to this page (and all pages below). The userFunc tracks the behaviour of the user to provide marketing information (google Searchterm, Funnel, etc...)

Powermail_Frontend

Introduction

powermail_frontend gives you the possibility to show the stored mails again in the frontend. With this plugin (Pi2), it's possible to create a small guestbook or database listing. In addition some export methods are included (XLS, CSV, RSS) or logged in FE_Users can change the values again.

Plugin Settings

Explanation

Field:	Description:	Explanation:	Tab:
Choose your view	Choose a view.	List, Detail, Edit	Main Settings
Choose a form	Choose an existing form.	Only mails related to this form are shown in the frontend.	Main Settings
Select a page with mails	Select mail storage page.	Only mails which are stored in the given page are shown in the frontent (optional setting)	Main Settings
Choose Fields to show	What field should be listed in the list view?	Let the selector empty if you want to see all form values.	Listview
Export Formats	Add links to different export methods by adding some.	XLS, CSV or RSS feed is possible in powermail_frontend.	Listview
Show entries...	If you want to show only mails within a timeperiod, add some seconds.	If you want to show the mails of the last 24h add “86400”	Listview
Show max. X entries...	Limit for mail output.	Add a number if you want to show only X entries.	Listview
Page with Plugin for list view...	Select the page with the list plugin.	This is needed if the plugin shows the edit or single view and it should link you back to the list view. Let this field empty means list view is on current page.	Listview
Own entries	Show only my mails.	If this option is checked, only mails from the current logged in FE_User are shown in the frontend.	Listview
Choose Fields to show	What field should be listed in the detail view?	Let the selector empty if you want to see all form values.	Detailview
Page with Plugin for detail view	Select the page with the detail plugin.	This is needed if the plugin shows the list view and it should link you to the detail view. Let this field empty means detail view is on current page.	Detailview
Add searchfield	Add some search fields above the list.	Select a single field or choose [Fulltext Search] for an overall search	Searchsettings
Add ABC filter	Add ABC filter list in frontend.	Select a field with a leading letter to filter for it. Firstname means: When a user clicks on A, all mails with a beginning A in the firstname are shown (Alex, Andreas, Agnes, etc...)	Searchsettings
Choose Fields to edit	What fields should be editable?	Let the selector empty if you want to edit all fields.	Editview
Choose one or more Frontend-Users with permissions to change	Choose a frontend user who is able to edit a mail.	Value can be one or more static FE_Users or the Creator of a mail [Owner]. You can select a group in addition (see next row).	Editview
Choose one or more Frontend-Groups with permissions to change	Choose frontend users of a group which are able to edit a mail.	Value can be one or more static FE_User Groups or the Creator Group of a mail [Owner]. You can select some single FE_Users in addition (see row before).	Editview
Page with Plugin for edit view	Select the page with the edit plugin.	This is needed if the plugin shows the list view and it should link you to the edit view. Let this field empty means edit view is on current page.	Editview

Good to know

Templates

Take your own templates

Powermail brings a lot of templates, layouts and partials to your system. You can change the path the folder with all template via TypoScript setup:

plugin.tx_powermail.view.templateRootPath = fileadmin/templates/powermailTemplates/

plugin.tx_powermail.view.partialRootPath = fileadmin/templates/powermailPartials/

plugin.tx_powermail.view.layoutRootPath = fileadmin/templates/powermailLayouts/

Take care that all files and folders from the original path (e.g. typo3conf/ext/powermail/Resources/Private/Templates) are copied to the new location!

Do not change the original templates, otherwise it's hard to update powermail!

Using Variables (former known as Markers)

In Fluid you can use all available fields (that you see in the backend) and subtables like {firstname}, {mail.subject} or {mail.answers.0.value}.

See the hints in the template files or do a debug output with the debug viewhelper

<f:debug>{giveMeTheValuesOfThisVariable}</f:debug>

You can also use the variables in the RTE fields in backend.

Using TypoScript in Templates

Do you need some dynamic values from TypoScript in your Template or RTE? Use a cObject viehelper:

{f:cObject(typoscriptObjectPath:'lib.test')}

Spam Prevention

Introduction

We ported some spamcheck from wt_spamshield in the core of powermail:

Honeypod

Linkcheck

Namecheck

Sessioncheck

UniqueValues

String Blacklist

IP-Address Blacklist

Every submitted form will be checked with this methods. Every failed method adds a Spam-Indication-Number to a storage. The sum of the Spam-Indication-Numbers leads to a Spam-Factor (from 0 to 100%). Per default every mail with a Spam-Factor of 75% is declined with a message.

How is a Spam-Number related to the Spam-Factor?

In this example leads a Spam-Indication from 4 to a 75% chance of spam in the mail
(3: 66%, 12: 92%, etc...)

Configure and enable your Spam Settings with TypoScript

plugin.tx_powermail.settings.setup {

spamshield {

_enable = 1

factor = 75

email = administrator@domain.org

indicator {

honeypod = 5

link = 3

linkLimit = 2

name = 3

session = 5

unique = 2

blacklistString = 7

blacklistStringValues = viagra,sex,porn,p0rn

blacklistIp = 7

blacklistIpValues = 123.132.125.123

}

}

}

TypoScript Setting:	Description:	Default Value:
_enable	Enable or disable the spamshield of powermail completely	1
factor	Spam Factor Limit in %	75
email	Notification Email to Admin if spam recognized (empty disables email to admin)	
Indicator.honeypod	A Honeypod is an invisible (CSS) field which should not filled with any value. If it's even filled, it could be a machine. If this check failed - add this indication value to indicator (0 disables this check completely)	5
Indicator.link	Checks the number of Links in the mail. The number of links is a good indication of a spammail. if this check failed - add this indication value to indicator (0 disables this check completely)	3
Indicator.linkLimit	Limit of links allowed. If there are more links than allowed, the check fails.	2
Indicator.name	Compares fields with marker “firstname” and “lastname” (or “vorname” and “nachname”). The value may not be the same. if this check failed - add this indication value to indicator (0 disables this check completely)	3
Indicator.session	If a user opens the form a timestamp is set in a browser-session. If the session is empty on submit, it could be a machine. if this check failed - add this indication value to indicator (0 disables this check completely)	5
Indicator.unique	Compares the values of all fields. If different fields have the same value, this could be spam. if this check failed - add this indication value to indicator (0 disables this check completely)	2
Indicator.blacklistString	Checks mails to not allowed string values. if this check failed - add this indication value to indicator (0 disables this check completely)	7
Indicator.blacklistStringValues	Define the string that are not allowed. blacklisted values (default values should be extended with your experience)	viagra,sex,porn,p0rn
Indicator.blacklistIp	Checks if the sender is not in the IP-Blacklist. if this check failed - add this indication value to indicator (0 disables this check completely)	7
Indicator.blacklistIpValues	Define the IP-Addreses that are not allowed. blacklisted values (default values should be extended with your experience)	123.132.125.123,123.132.125.124

Debug and finetune the Spamsettings

Its usefull to activate a adminmail (for an initial time period e.g.) if a mail failed (see TypoScript Settings before). In the mail, you see which checks failed and the overall Spam Factor.

Possible spam in powermail form on page with PID 3

Spamfactor of this mail: 92%

Failed Spamchecks:

0: nameCheck failed

1: uniqueCheck failed

2: blacklistStringCheck failed

Given Form variables:

2: Alex

9: Alex

10: alexander.kellner@in2code.de

3: Viagra and Free P0rn

See link on http://freeporn.de or http://freeporn.com

You can also enable the Spamshield Debug output to see the Methods which are failed above the form. Enable with TypoScript setup:

plugin.tx_powermail.settings.setup.debug.spamshield = 1

Saving Values to Third Party Table

Powermail is able to save the values from a submitted form into a third-party-table (like tt_news, tt_address, tt_content, fe_users, etc...).

This feature and its TypoScript settings are nearly the same as you may know from powermail < 2.0

Example for tt_address:

plugin.tx_powermail.settings.setup {

# Save values to any table (example for tt_adress)

dbEntry {

# enable or disable db entry for tt_address

tt_address._enable = TEXT

tt_address._enable.value = 1

# write only if field email is not yet filled with current value

# (update: update values of existing entry)

# (none: no entry if field is filled)

# (disable: always add values don't care about existing values)

tt_address._ifUnique.email = update

# add mm relation to uid 2 of tt_address_group (via mm table)

tt_address._mm = COA

tt_address._mm.10 = COA

# 1 is always the mm table

tt_address._mm.10.1 = TEXT

tt_address._mm.10.1.value = tt_address_group_mm

# 2 is always the second table (e.g. categories table)

tt_address._mm.10.2 = TEXT

tt_address._mm.10.2.value = tt_address_group

# 3 is always the uid of a data record of the second table to get a relation to this (in this case uid 1 of tt_address_group)

tt_address._mm.10.3 = TEXT

tt_address._mm.10.3.value = 1

# fill table "tt_address" with field "email" with a static value => mail@mail.com

tt_address.email = TEXT

tt_address.email.value = mail@mail.com

# fill table "tt_address" with field "pid" with the current pid (e.g. 12)

tt_address.pid = TEXT

tt_address.pid.data = TSFE:id

# fill table "tt_address" with field "tstamp" with the current time as timestamp (like 123456789)

tt_address.tstamp = TEXT

tt_address.tstamp.data = date:U

# fill table "tt_address" with field "address" with the current formatted time (like "Date: 20.01.2013")

tt_address.address = TEXT

tt_address.address.data = date:U

tt_address.address.strftime = Date: %d.%m.%Y

# fill table "tt_address" with field "name" with the value from powermail {firstname}

tt_address.name = TEXT

tt_address.name.field = firstname

# fill table "tt_address" with field "last_name" with the value from powermail {lastname}

tt_address.last_name = TEXT

tt_address.last_name.field = lastname

# fill table "tt_address" with field "company" with the value from powermail {company}

tt_address.company = TEXT

tt_address.company.field = company

}

}

Sending Values to a CRM

Powermail is also able to send the values to a third-party-software like a CRM or a
Marketing-Automation-Tool (Salesforce, Eloqua, etc...).

Note: This is not a redirect, this feature send the values blind with CURL to any script.

See TypoScript Settings example:

plugin.tx_powermail.settings.setup {

Marketing {

# Send Form values to CRM like salesforce or eloqua

sendPost {

# Activate sendPost (0/1)

_enable = 1

# Target URL for POST values (like http://www.target.com/target.php)

targetUrl = http://eloqua.com/e/f.aspx

# build your post values like &param1=value1&param2=value2

values = COA

values {

10 = TEXT

10 {

# value from field {firstname}

field = vorname

wrap = &firstname=|

}

20 = TEXT

20 {

# value from field {e_mail}

field = e_mail

wrap = &email=|

}

30 = TEXT

30 {

# value from field {comment}

field = comment

wrap = &text=|

}

}

# activate debug mode - shows all configuration from curl settings

debug = 0

}

}

}

Debug Powermail

With TypoScript it's possible to enable some Frontend-Debug-Output which could help you to fix problems or a misconfiguration.

You do not need an additional extension to show the debug output. The method t3lib_utility_Debug::debug is used. With this it's possible to focus the debug output only for a defined IP-Adress (see TYPO3 Install Tool).

TypoScript Setup:

plugin.tx_powermail.settings.setup {

debug {

settings = 0

variables = 0

mail = 0

SaveToTable = 0

spamshield = 0

}

}

TypoScript Setting:	Description:	Affected Frontend View:	Default Value:
settings	Show Settings from TypoScript, Flexform and Extension Manager	All views	0
variables	Show submitted variables	Create view	0
mail	Show mail arrays	Create view	0
saveToTable	Show saveToTable array	Create view	0
spamshield	Show spamtest results	Create view	0

Main TypoScript

Constants Overview

Constants (should be prefixed with plugin.tx_powermail.settings.):	Description:	Type:	Default Value:
main.pid	Storage PID: Save mails in a defined Page (normally set via Flexform)	int+	
main.form	Form Uid: Commaseparated list of forms to show (normally set via Flexform)	text	
main.confirmation	Confirmation Page Active: Activate Confirmation Page (normally set via Flexform)	boolean	
main.optin	Double Optin Active: Activate Double Optin for Mail sender (normally set via Flexform)	boolean	
main.moresteps	Morestep Active: Activate Morestep Forms (normally set via Flexform)	boolean	
receiver.enable	Receiver Mail: Enable Email to Receiver	boolean	1
receiver.attachment	Receiver Attachments: Add uploaded files to emails	boolean	1
receiver.mailformat	Receiver Mail Format: Change mail format	options[both,html,plain]	both
receiver.overwrite.email	Receiver overwrite Email: Commaseparated list of mail receivers overwrites flexform settings (e.g. receiver1@mail.com, receiver1@mail.com)	text	
receiver.overwrite.name	Receiver overwrite Name: Receiver Name overwrites flexform settings (e.g. Receiver Name)	text	
receiver.overwrite.senderName	Receiver overwrite SenderName: Sender Name for mail to receiver overwrites flexform settings (e.g. Sender Name)	text	
receiver.overwrite.senderEmail	Receiver overwrite SenderEmail: Sender Email for mail to receiver overwrites flexform settings (e.g. sender@mail.com)	text	
receiver.overwrite.subject	Receiver overwrite Mail Subject: Subject for mail to receiver overwrites flexform settings (e.g. New Mail from website)	text	
receiver.overwrite.cc	Receiver CC Email Addresses: Commaseparated list of cc mail receivers (e.g. rec2@mail.com, rec3@mail.com)	text	
receiver.overwrite.bcc	Receiver BCC Email Addresses: Commaseparated list of bcc mail receivers (e.g. rec2@mail.com, rec3@mail.com)	text	
receiver.overwrite.returnPath	Receiver Mail Return Path: Return Path for emails to receiver (e.g. return@mail.com)	text	
receiver.overwrite.replyToEmail	Receiver Mail Reply Mail: Reply Email address for mail to receiver (e.g. reply@mail.com)	text	
receiver.overwrite.replyToName	Receiver Mail Reply Name: Reply Name for mail to receiver (e.g. Mr. Reply)	text	
receiver.overwrite.priority	Receiver Mail Priority: Set mail priority for mail to receiver (e.g. 3)	options[1,2,3,4,5]	3
sender.enable	Sender Mail: Enable Email to Sender	boolean	1
sender.attachment	Sender Attachments: Add uploaded files to emails	boolean	0
sender.mailformat	Sender Mail Format: Change mail format	options[both,html,plain]	both
sender.overwrite.email	Sender overwrite Email: Commaseparated list of mail receivers overwrites flexform settings (e.g. receiver1@mail.com, receiver1@mail.com)	text	
sender.overwrite.name	Sender overwrite Name: Receiver Name overwrites flexform settings (e.g. Receiver Name)	text	
sender.overwrite.senderName	Sender overwrite SenderName: Sender Name for mail to sender overwrites flexform settings (e.g. Sender Name)	text	
sender.overwrite.senderEmail	Sender overwrite SenderEmail: Sender Email for mail to sender overwrites flexform settings (e.g. sender@mail.com)	text	
sender.overwrite.subject	Sender overwrite Mail Subject: Subject for mail to sender overwrites flexform settings (e.g. Thx for your mail)	text	
sender.overwrite.cc	Sender CC Email Addresses: Commaseparated list of cc mail receivers (e.g. rec2@mail.com, rec3@mail.com)	text	
sender.overwrite.bcc	Sender BCC Email Addresses: Commaseparated list of bcc mail receivers (e.g. rec2@mail.com, rec3@mail.com)	text	
sender.overwrite.returnPath	Sender Mail Return Path: Return Path for emails to sender (e.g. return@mail.com)	text	
sender.overwrite.replyToEmail	Sender Mail Reply Mail: Reply Email address for mail to sender (e.g. reply@mail.com)	text	
sender.overwrite.replyToName	Sender Mail Reply Name: Reply Name for mail to sender (e.g. Mr. Reply)	text	
sender.overwrite.priority	Sender Mail Priority: Set mail priority for mail to sender (e.g. 3)	options[1,2,3,4,5]	3
db.enable	Storage Mails enabled: Store Mails in database	boolean	1
db.hidden	Storage Hidden Mails: Add mails with hidden flag (e.g. 1)	boolean	0
marketing.enable	Enable Google Conversion: Enable JavaScript for google conversion - This is interesting if you want to track every submit in your Google Adwords account for a complete conversion.	boolean	0
marketing.google_conversion_id	Google Conversion Id: Add your google conversion id (see www.google.com/adwords for details)	int+	1234567890
marketing.google_conversion_label	Google Conversion Label: Add your google conversion label (see www.google.com/adwords for details)	text	abcdefghijklmnopqrs
marketing.google_conversion_language	Google Conversion Language: Add your google conversion language (see www.google.com/adwords for details)	text	en
misc.showOnlyFilledValues	Show only filled values: If the user submits a form, even not filled values are viewable. If you only want to show labels with filled values, use this setting	boolean	0
misc.htmlField	Misc Enable HTML Field: Per default HTML-Fields are disabled in powermail for security reasons. If you aware of possible XSS from your editors, you can enable this field type (e.g. 1)	boolean	0
misc.uploadFolder	Misc Upload Folder: Define the folder where files should be uploaded with upload fields (e.g. fileadmin/uploads/)	text	uploads/tx_powermail/
misc.uploadSize	Misc Upload Filesize: Define the maximum filesize of file uploads in bytes (10000000 default -> 10 MByte)	int+	10000000
misc.uploadFileExtensions	Misc Upload Fileextensions: Define the allowed filetypes with their extensions for fileuploads and separate them with commas (e.g. jpg,jpeg,gif)	text	jpg,jpeg,gif,png,tif,txt,doc,docx,xls,xlsx,ppt,pptx,pdf,flv,mpg,mpeg,avi,mp3,zip,rar,ace
misc.debugSettings	Debug Settings: Show all Settings from TypoScript, Flexform and Global Config in Frontend (e.g. 1)	boolean	0
misc.debugVariables	Debug Variables: Show all given Plugin variables from GET or POST (e.g. 1)	boolean	0
misc.debugMail	Debug Mails: Show all mail values (e.g. 1)	boolean	0
misc.debugSaveToTable	Debug Save to Table: Show all values if you want to save powermail variables to another table (e.g. 1)	boolean	0
misc.debugSpamshield	Debug Spamshield: Show Spamshield Functions (e.g. 1)	boolean	0
spamshield.enable	SpamShield Active: En- or disable Spamshield for Powermail	boolean	1
spamshield.factor	Spamshield Spamfactor in %: Set limit for spamfactor in powermail forms in % (e.g. 85)	int+	75
spamshield.email	Spamshield Notifymail: Admin can get an email if he/she wants to get informed if a mail failed. Let this field empty and no mail will be sent (e.g. admin@mail.com)	text	
captcha.image	Captcha Background: Set own captcha background image (e.g. fileadmin/bg.png)	text	EXT:powermail/Resources/Private/Image/captcha_bg.png
captcha.font	Captcha Font: Set TTF-Font for captcha image (e.g. fileadmin/font.ttf)	text	EXT:powermail/Resources/Private/Fonts/ARCADE.TTF
captcha.textColor	Captcha Text Color: Define your text color in hex code - must start with # (e.g. #ff0000)	text	#444444
captcha.textSize	Captcha Text Size: Define your text size in px (e.g. 24)	int+	32
captcha.textAngle	Captcha Text Angle: Define two different values (start and stop) for your text random angle and separate it with a comma (e.g. -10,10)	text	-5,5
captcha.distanceHor	Captcha Text Distance Hor: Define two different values (start and stop) for your text horizontal random distance and separate it with a comma (e.g. 20,80)	text	20,80
captcha.distanceVer	Captcha Text Distance Ver: Define two different values (start and stop) for your text vertical random distance and separate it with a comma (e.g. 30,60)	text	30,60
javascript.poweremailJQuery	jQuery Source: Change jQuery Source - per default it will be loaded from googleapis.com	text	https://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js
javascript.powermailJQueryUi	jQuery UI Source: Change jQuery UI Source - per default it will be loaded from googleapis.com	text	https://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js

Setup

##################

# Frontend Plugin

##################

plugin.tx_powermail {

view {

templateRootPath = {$plugin.tx_powermail.view.templateRootPath}

partialRootPath = {$plugin.tx_powermail.view.partialRootPath}

layoutRootPath = {$plugin.tx_powermail.view.layoutRootPath}

}

settings {

setup {

main {

pid = {$plugin.tx_powermail.settings.main.pid}

form = {$plugin.tx_powermail.settings.main.form}

confirmation = {$plugin.tx_powermail.settings.main.confirmation}

optin = {$plugin.tx_powermail.settings.main.optin}

moresteps = {$plugin.tx_powermail.settings.main.moresteps}

}

receiver {

enable = {$plugin.tx_powermail.settings.receiver.enable}

# Following settings are normally set via Flexform

email =

subject =

body =

# add file attachments from upload fields

attachment = {$plugin.tx_powermail.settings.receiver.attachment}

# html, plain, both

mailformat = {$plugin.tx_powermail.settings.receiver.mailformat}

# Normally you do not need to overwrite a flexform setting, but this allows you to use cObject functions

overwrite {

email = TEXT

email.value = {$plugin.tx_powermail.settings.receiver.overwrite.email}

name = TEXT

name.value = {$plugin.tx_powermail.settings.receiver.overwrite.name}

senderName = TEXT

senderName.value = {$plugin.tx_powermail.settings.receiver.overwrite.senderName}

senderEmail = TEXT

senderEmail.value = {$plugin.tx_powermail.settings.receiver.overwrite.senderEmail}

subject = TEXT

subject.value = {$plugin.tx_powermail.settings.receiver.overwrite.subject}

# Add further CC Receivers (split them via comma)

cc = TEXT

cc.value = {$plugin.tx_powermail.settings.receiver.overwrite.cc}

# Add further BCC Receivers (split them via comma)

bcc = TEXT

bcc.value = {$plugin.tx_powermail.settings.receiver.overwrite.bcc}

# Add return path

returnPath = TEXT

returnPath.value = {$plugin.tx_powermail.settings.receiver.overwrite.returnPath}

# Reply address

replyToEmail = TEXT

replyToEmail.value = {$plugin.tx_powermail.settings.receiver.overwrite.replyToEmail}

replyToName = TEXT

replyToName.value = {$plugin.tx_powermail.settings.receiver.overwrite.replyToName}

# Set mail priority from 1 to 5

priority = {$plugin.tx_powermail.settings.receiver.overwrite.priority}

}

# Add additional attachments to the mail (separate each with comma)

#	addAttachment = TEXT

#	addAttachment.value = fileadmin/file.jpg

#	addAttachment.wrap = |,

}

sender {

enable = {$plugin.tx_powermail.settings.sender.enable}

# Following settings are normally set via Flexform

name =

email =

subject =

body =

# add file attachments from upload fields

attachment = {$plugin.tx_powermail.settings.sender.attachment}

# html, plain, both

mailformat = {$plugin.tx_powermail.settings.sender.mailformat}

# Normally you do not need to overwrite a flexform settings, but this allows you to use cObject functions

overwrite {

email = TEXT

email.value = {$plugin.tx_powermail.settings.sender.overwrite.email}

name = TEXT

name.value = {$plugin.tx_powermail.settings.sender.overwrite.name}

senderName = TEXT

senderName.value = {$plugin.tx_powermail.settings.sender.overwrite.senderName}

senderEmail = TEXT

senderEmail.value = {$plugin.tx_powermail.settings.sender.overwrite.senderEmail}

subject = TEXT

subject.value = {$plugin.tx_powermail.settings.sender.overwrite.subject}

# Add further CC Receivers (split them via comma)

cc = TEXT

cc.value = {$plugin.tx_powermail.settings.sender.overwrite.cc}

# Add further BCC Receivers (split them via comma)

bcc = TEXT

bcc.value = {$plugin.tx_powermail.settings.sender.overwrite.bcc}

# Add return path

returnPath = TEXT

returnPath.value = {$plugin.tx_powermail.settings.sender.overwrite.returnPath}

# Reply address

replyToEmail = TEXT

replyToEmail.value = {$plugin.tx_powermail.settings.sender.overwrite.replyToEmail}

replyToName = TEXT

replyToName.value = {$plugin.tx_powermail.settings.sender.overwrite.replyToName}

# Set mail priority from 1 to 5

priority = {$plugin.tx_powermail.settings.sender.overwrite.priority}

}

# Add additional attachments to the mail (separate each with comma)

#	addAttachment = TEXT

#	addAttachment.value = fileadmin/file.jpg

#	addAttachment.wrap = |,

}

thx {

# Following settings are normally set via Flexform

body =

redirect =

overwrite {

# Overwrite redirect with TypoScript cObject

#	Return a Number: Typolink to the pid

#	Return a URL: Link to an intern or extern URL

#	Return a File: Link to a file (within fileadmin folder)

#	redirect = COA

#	redirect {

#	10 = TEXT

#	10 {

#	typolink.parameter = 2

#	typolink.returnLast = url

#	typolink.additionalParams = &x=y

#	}

#	}

}

}

db {

# Enable mail storage

enable = {$plugin.tx_powermail.settings.db.enable}

# Add new mails with hidden=1

hidden = {$plugin.tx_powermail.settings.db.hidden}

}

optin {

subject = TEXT

subject.data = LLL:EXT:powermail/Resources/Private/Language/locallang.xml:optin_subject

overwrite {

#	email = TEXT

#	email.value = alexander.kellner@in2code.de

#	name = TEXT

#	name.value = Receivers Name

#	senderName = TEXT

#	senderName.value = Sender Name

#	senderEmail = TEXT

#	senderEmail.value = sender@mail.com

}

}

# Captcha Settings

captcha {

# TODO: Use other Captcha Extensions (sr_freecap, captcha)

use = default

default {

image = {$plugin.tx_powermail.settings.captcha.image}

font = {$plugin.tx_powermail.settings.captcha.font}

textColor = {$plugin.tx_powermail.settings.captcha.textColor}

textSize = {$plugin.tx_powermail.settings.captcha.textSize}

textAngle = {$plugin.tx_powermail.settings.captcha.textAngle}

distanceHor = {$plugin.tx_powermail.settings.captcha.distanceHor}

distanceVer = {$plugin.tx_powermail.settings.captcha.distanceVer}

}

}

# Spam Settings

spamshield {

# enable or disabe spam regocnition

_enable = {$plugin.tx_powermail.settings.spamshield.enable}

# Spam Factor Limit in %

factor = {$plugin.tx_powermail.settings.spamshield.factor}

# Notification Email to Admin if spam recognized (empty disables email to admin)

email = {$plugin.tx_powermail.settings.spamshield.email}

indicator {

# if this check failed - add this indication value to indicator (0 disables this check completely)

honeypod = 5

# if this check failed - add this indication value to indicator (0 disables this check completely)

link = 3

# Limit of links allowed

linkLimit = 2

# if this check failed - add this indication value to indicator (0 disables this check completely)

name = 3

# if this check failed - add this indication value to indicator (0 disables this check completely)

session = 5

# if this check failed - add this indication value to indicator (0 disables this check completely)

unique = 2

# if this check failed - add this indication value to indicator (0 disables this check completely)

blacklistString = 7

# blacklisted values (default values should be extended with your experience)

blacklistStringValues = viagra,sex,porn,p0rn

# if this check failed - add this indication value to indicator (0 disables this check completely)

blacklistIp = 7

# blacklisted values (default values should be extended with your experience)

blacklistIpValues = 123.132.125.123,123.132.125.124

}

}

# Misc Settings

misc {

# Show only values if they are filled (for all views and for mails)

showOnlyFilledValues = {$plugin.tx_powermail.settings.misc.showOnlyFilledValues}

# HTML Output allowed

htmlField = {$plugin.tx_powermail.settings.misc.htmlField}

# File upload settings

file {

folder = {$plugin.tx_powermail.settings.misc.uploadFolder}

size = {$plugin.tx_powermail.settings.misc.uploadSize}

extension = {$plugin.tx_powermail.settings.misc.uploadFileExtensions}

}

}

# Prefill some fields with their marker - e.g. {firstname}

prefill {

# example: fill with string

#	firstname = Alex

# example: fill with TypoScript

#	email = TEXT

#	email.value = alex@in2code.de

#	eamil.wrap = <b>|</b>

# example: fill with value from Flexform

# available: css, feuserValue, mandatory, marker, pid, prefillValue, senderEmail, senderName, sorting, title, type, uid, validation

#	comment = TEXT

#	comment.field = type

}

marketing {

# Use Google Adwords Conversion JavaScript on form submit

googleAdwords {

_enable = {$plugin.tx_powermail.settings.marketing.enable}

google_conversion_id = {$plugin.tx_powermail.settings.marketing.google_conversion_id}

google_conversion_label = {$plugin.tx_powermail.settings.marketing.google_conversion_label}

google_conversion_language = {$plugin.tx_powermail.settings.marketing.google_conversion_language}

google_conversion_format = 3

}

# Send Form values to CRM like salesforce or eloqua

sendPost {

# Activate sendPost (0/1)

_enable = 0

# Target URL for POST values (like http://www.target.com/target.php)

targetUrl = http://eloqua.com/e/f.aspx

# build your post values like &param1=value1&param2=value2

values = COA

values {

10 = TEXT

10 {

# value from field {firstname}

field = vorname

wrap = &firstname=|

}

20 = TEXT

20 {

# value from field {e_mail}

field = e_mail

wrap = &email=|

}

30 = TEXT

30 {

# value from field {comment}

field = comment

wrap = &text=|

}

}

# activate debug mode - shows all configuration from curl settings

debug = 0

}

}

# Save values to any table (example for tt_adress)

dbEntry {

# enable or disable db entry for tt_address

#	tt_address._enable = TEXT

#	tt_address._enable.value = 1

# write only if field email is not yet filled with current value

# (update: update values of existing entry)

# (none: no entry if field is filled)

# (disable: always add values don't care about existing values)

#	tt_address._ifUnique.email = update

# add mm relation to uid 2 of tt_address_group (via mm table)

#	tt_address._mm = COA

#	tt_address._mm.10 = COA

# 1 is always the mm table

#	tt_address._mm.10.1 = TEXT

#	tt_address._mm.10.1.value = tt_address_group_mm

# 2 is always the second table (e.g. categories table)

#	tt_address._mm.10.2 = TEXT

#	tt_address._mm.10.2.value = tt_address_group

# 3 is always the uid of a data record of the second table to get a relation to this (in this case uid 1 of tt_address_group)

#	tt_address._mm.10.3 = TEXT

#	tt_address._mm.10.3.value = 1

# fill table "tt_address" with field "email" with a static value => mail@mail.com

#	tt_address.email = TEXT

#	tt_address.email.value = mail@mail.com

# fill table "tt_address" with field "pid" with the current pid (e.g. 12)

#	tt_address.pid = TEXT

#	tt_address.pid.data = TSFE:id

# fill table "tt_address" with field "tstamp" with the current time as timestamp (like 123456789)

#	tt_address.tstamp = TEXT

#	tt_address.tstamp.data = date:U

# fill table "tt_address" with field "address" with the current formatted time (like "Date: 20.01.2013")

#	tt_address.address = TEXT

#	tt_address.address.data = date:U

#	tt_address.address.strftime = Date: %d.%m.%Y

# fill table "tt_address" with field "name" with the value from powermail {firstname}

#	tt_address.name = TEXT

#	tt_address.name.field = firstname

# fill table "tt_address" with field "last_name" with the value from powermail {lastname}

#	tt_address.last_name = TEXT

#	tt_address.last_name.field = lastname

# fill table "tt_address" with field "company" with the value from powermail {company}

#	tt_address.company = TEXT

#	tt_address.company.field = company

}

# Switch on or off Debug mode

debug {

# All views: Show Settings from TypoScript, Flexform and Extension Manager

settings = {$plugin.tx_powermail.settings.misc.debugSettings}

# Create view: Show submitted variables

variables = {$plugin.tx_powermail.settings.misc.debugVariables}

# Create view: Show mail arrays

mail = {$plugin.tx_powermail.settings.misc.debugMail}

# Create view: Show saveToTable array

saveToTable = {$plugin.tx_powermail.settings.misc.debugSaveToTable}

# Create view: Show spamtest results

spamshield = {$plugin.tx_powermail.settings.misc.debugSpamshield}

}

# Don't touch this (this is just to let the extension know, that there is TypoScript included)

staticTemplate = 1

}

}

}

config.tx_extbase.persistence.classes {

Tx_Powermail_Domain_Model_User {

mapping {

tableName = fe_users

}

}

Tx_Powermail_Domain_Model_UserGroup {

mapping {

tableName = fe_groups

}

}

}

############################

# JavaScript and CSS section

############################

page {

# Inlude JavaScript files

includeJSFooterlibs {

powermailJQuery = {$plugin.tx_powermail.settings.javascript.powermailJQuery}

powermailJQuery.external = 1

powermailJQueryUi = {$plugin.tx_powermail.settings.javascript.powermailJQueryUi}

powermailJQueryUi.external = 1

powermailJQueryUiDatepicker = EXT:powermail/Resources/Public/Js/jquery.ui.datepicker.min.js

powermailJQueryFormValidationLanguage = EXT:powermail/Resources/Public/Js/jquery.validationEngine-en.js

powermailJQueryFormValidation = EXT:powermail/Resources/Public/Js/jquery.validationEngine.js

powermailJQueryTabs = EXT:powermail/Resources/Public/Js/tabs.js

}

includeJSFooter {

powermailForm = EXT:powermail/Resources/Public/Js/form.js

}

# Include CSS files

includeCSS {

powermailJQueryUiTheme = EXT:powermail/Resources/Public/Css/jquery.ui.theme.css

powermailJQueryUiDatepicker = EXT:powermail/Resources/Public/Css/jquery.ui.datepicker.css

}

}

page.1000 = COA

page.1000 {

wrap = <script type="text/javascript">|</script>

10 = TEXT

10 {

wrap = var JsValidationCheckCheckboxes = '|';

data = LLL:EXT:powermail/Resources/Private/Language/locallang.xml:JsValidationCheckCheckboxes

}

20 = TEXT

20 {

wrap = var JsValidationCheckInteger = '|';

data = LLL:EXT:powermail/Resources/Private/Language/locallang.xml:JsValidationCheckInteger

}

30 = TEXT

30 {

wrap = var JsValidationCheckRequired = '|';

data = LLL:EXT:powermail/Resources/Private/Language/locallang.xml:JsValidationCheckRequired

}

40 = TEXT

40 {

wrap = var JsValidationCheckRequiredOption = '|';

data = LLL:EXT:powermail/Resources/Private/Language/locallang.xml:JsValidationCheckRequiredOption

}

50 = TEXT

50 {

wrap = var JsValidationCheckEmail = '|';

data = LLL:EXT:powermail/Resources/Private/Language/locallang.xml:JsValidationCheckEmail

}

60 = TEXT

60 {

wrap = var JsValidationCheckUrl = '|';

data = LLL:EXT:powermail/Resources/Private/Language/locallang.xml:JsValidationCheckUrl

}

70 = TEXT

70 {

wrap = var JsValidationCheckPhone = '|';

data = LLL:EXT:powermail/Resources/Private/Language/locallang.xml:JsValidationCheckPhone

}

80 = TEXT

80 {

wrap = var JsValidationCheckLetters = '|';

data = LLL:EXT:powermail/Resources/Private/Language/locallang.xml:JsValidationCheckLetters

}

}

#################

# Backend Module

#################

module.tx_powermail {

view {

templateRootPath = {$plugin.tx_powermail.view.templateRootPath}

partialRootPath = {$plugin.tx_powermail.view.partialRootPath}

layoutRootPath = {$plugin.tx_powermail.view.layoutRootPath}

widget.Tx_Fluid_ViewHelpers_Widget_PaginateViewHelper.templateRootPath = EXT:powermail/Resources/Private/Templates/

}

persistence {

storagePid = {$plugin.tx_powermail.persistence.storagePid}

}

settings {

# crdate, sender_name, sender_email, subject, receiver_mail, feuser, time

sortby = crdate

order = desc

perPage = 25

export {

filenameXls = powermail.xls

filenameCsv = powermail.csv

}

# Don't touch this (this is just to let the extension know, that there is TypoScript included)

staticTemplate = 1

}

}

Constants

plugin.tx_powermail {

view {

# cat=powermail_main/file; type=string; label= Path to template root (FE)

templateRootPath = EXT:powermail/Resources/Private/Templates/

# cat=powermail_main/file; type=string; label= Path to template partials (FE)

partialRootPath = EXT:powermail/Resources/Private/Partials/

# cat=powermail_main/file; type=string; label= Path to template layouts (FE)

layoutRootPath = EXT:powermail/Resources/Private/Layouts/

}

settings {

main {

# cat=powermail_additional//0010; type=int+; label= Storage PID: Save mails in a defined Page (normally set via Flexform)

pid =

# cat=powermail_additional//0020; type=text; label= Form Uid: Commaseparated list of forms to show (normally set via Flexform)

form =

# cat=powermail_additional//0030; type=boolean; label= Confirmation Page Active: Activate Confirmation Page (normally set via Flexform)

confirmation =

# cat=powermail_additional//0040; type=boolean; label= Double Optin Active: Activate Double Optin for Mail sender (normally set via Flexform)

optin =

# cat=powermail_additional//0050; type=boolean; label= Morestep Active: Activate Morestep Forms (normally set via Flexform)

moresteps =

}

receiver {

# cat=powermail_main/enable/0200; type=boolean; label= Receiver Mail: Enable Email to Receiver

enable = 1

# cat=powermail_main//0210; type=boolean; label= Receiver Attachments: Add uploaded files to emails

attachment = 1

# cat=powermail_main//0220; type=options[both,html,plain]; label= Receiver Mail Format: Change mail format

mailformat = both

overwrite {

# cat=powermail_additional//0250; type=text; label= Receiver overwrite Email: Commaseparated list of mail receivers overwrites flexform settings (e.g. receiver1@mail.com, receiver1@mail.com)

email =

# cat=powermail_additional//0252; type=text; label= Receiver overwrite Name: Receiver Name overwrites flexform settings (e.g. Receiver Name)

name =

# cat=powermail_additional//0254; type=text; label= Receiver overwrite SenderName: Sender Name for mail to receiver overwrites flexform settings (e.g. Sender Name)

senderName =

# cat=powermail_additional//0256; type=text; label= Receiver overwrite SenderEmail: Sender Email for mail to receiver overwrites flexform settings (e.g. sender@mail.com)

senderEmail =

# cat=powermail_additional//0258; type=text; label= Receiver overwrite Mail Subject: Subject for mail to receiver overwrites flexform settings (e.g. New Mail from website)

subject =

# cat=powermail_additional//0260; type=text; label= Receiver CC Email Addresses: Commaseparated list of cc mail receivers (e.g. rec2@mail.com, rec3@mail.com)

cc =

# cat=powermail_additional//0262; type=text; label= Receiver BCC Email Addresses: Commaseparated list of bcc mail receivers (e.g. rec2@mail.com, rec3@mail.com)

bcc =

# cat=powermail_additional//0264; type=text; label= Receiver Mail Return Path: Return Path for emails to receiver (e.g. return@mail.com)

returnPath =

# cat=powermail_additional//0266; type=text; label= Receiver Mail Reply Mail: Reply Email address for mail to receiver (e.g. reply@mail.com)

replyToEmail =

# cat=powermail_additional//0268; type=text; label= Receiver Mail Reply Name: Reply Name for mail to receiver (e.g. Mr. Reply)

replyToName =

# cat=powermail_additional//0270; type=options[1,2,3,4,5]; label= Receiver Mail Priority: Set mail priority for mail to receiver (e.g. 3)

priority = 3

}

}

sender {

# cat=powermail_main/enable/0400; type=boolean; label= Sender Mail: Enable Email to Sender

enable = 1

# cat=powermail_main//0410; type=boolean; label= Sender Attachments: Add uploaded files to emails

attachment = 0

# cat=powermail_main//0420; type=options[both,html,plain]; label= Sender Mail Format: Change mail format

mailformat = both

overwrite {

# cat=powermail_additional//0450; type=text; label= Sender overwrite Email: Commaseparated list of mail receivers overwrites flexform settings (e.g. receiver1@mail.com, receiver1@mail.com)

email =

# cat=powermail_additional//0452; type=text; label= Sender overwrite Name: Receiver Name overwrites flexform settings (e.g. Receiver Name)

name =

# cat=powermail_additional//0454; type=text; label= Sender overwrite SenderName: Sender Name for mail to sender overwrites flexform settings (e.g. Sender Name)

senderName =

# cat=powermail_additional//0456; type=text; label= Sender overwrite SenderEmail: Sender Email for mail to sender overwrites flexform settings (e.g. sender@mail.com)

senderEmail =

# cat=powermail_additional//0458; type=text; label= Sender overwrite Mail Subject: Subject for mail to sender overwrites flexform settings (e.g. Thx for your mail)

subject =

# cat=powermail_additional//0460; type=text; label= Sender CC Email Addresses: Commaseparated list of cc mail receivers (e.g. rec2@mail.com, rec3@mail.com)

cc =

# cat=powermail_additional//0462; type=text; label= Sender BCC Email Addresses: Commaseparated list of bcc mail receivers (e.g. rec2@mail.com, rec3@mail.com)

bcc =

# cat=powermail_additional//0464; type=text; label= Sender Mail Return Path: Return Path for emails to sender (e.g. return@mail.com)

returnPath =

# cat=powermail_additional//0466; type=text; label= Sender Mail Reply Mail: Reply Email address for mail to sender (e.g. reply@mail.com)

replyToEmail =

# cat=powermail_additional//0468; type=text; label= Sender Mail Reply Name: Reply Name for mail to sender (e.g. Mr. Reply)

replyToName =

# cat=powermail_additional//0470; type=options[1,2,3,4,5]; label= Sender Mail Priority: Set mail priority for mail to sender (e.g. 3)

priority = 3

}

}

db {

# cat=powermail_main/enable/0600; type=boolean; label= Storage Mails enabled: Store Mails in database

enable = 1

# cat=powermail_additional//0610; type=boolean; label= Storage Hidden Mails: Add mails with hidden flag (e.g. 1)

hidden = 0

}

marketing {

# cat=powermail_additional//0700; type=boolean; label= Enable Google Conversion: Enable JavaScript for google conversion - This is interesting if you want to track every submit in your Google Adwords account for a complete conversion.

enable = 0

# cat=powermail_additional//0710; type=int+; label= Google Conversion Id: Add your google conversion id (see www.google.com/adwords for details)

google_conversion_id = 1234567890

# cat=powermail_additional//0720; type=text; label= Google Conversion Label: Add your google conversion label (see www.google.com/adwords for details)

google_conversion_label = abcdefghijklmnopqrs

# cat=powermail_additional//0730; type=text; label= Google Conversion Language: Add your google conversion language (see www.google.com/adwords for details)

google_conversion_language = en

}

misc {

# cat=powermail_additional//0800; type=boolean; label= Misc Enable HTML Field: Per default HTML-Fields are disabled in powermail for security reasons. If you aware of possible XSS from your editors, you can enable this field type (e.g. 1)

htmlField = 0

# cat=powermail_additional//0810; type=text; label= Misc Upload Folder: Define the folder where files should be uploaded with upload fields (e.g. fileadmin/uploads/)

uploadFolder = uploads/tx_powermail/

# cat=powermail_additional//0820; type=int+; label= Misc Upload Filesize: Define the maximum filesize of file uploads in bytes (10000000 default -> 10 MByte)

uploadSize = 10000000

# cat=powermail_additional//0830; type=text; label= Misc Upload Fileextensions: Define the allowed filetypes with their extensions for fileuploads and separate them with commas (e.g. jpg,jpeg,gif)

uploadFileExtensions = jpg,jpeg,gif,png,tif,txt,doc,docx,xls,xlsx,ppt,pptx,pdf,flv,mpg,mpeg,avi,mp3,zip,rar,ace

# cat=powermail_additional//0850; type=boolean; label= Debug Settings: Show all Settings from TypoScript, Flexform and Global Config in Frontend (e.g. 1)

debugSettings = 0

# cat=powermail_additional//0860; type=boolean; label= Debug Variables: Show all given Plugin variables from GET or POST (e.g. 1)

debugVariables = 0

# cat=powermail_additional//0870; type=boolean; label= Debug Mails: Show all mail values (e.g. 1)

debugMail = 0

# cat=powermail_additional//0880; type=boolean; label= Debug Save to Table: Show all values if you want to save powermail variables to another table (e.g. 1)

debugSaveToTable = 0

# cat=powermail_additional//0890; type=boolean; label= Debug Spamshield: Show Spamshield Functions (e.g. 1)

debugSpamshield = 0

}

spamshield {

# cat=powermail_spam//0900; type=boolean; label= SpamShield Active: En- or disable Spamshield for Powermail

enable = 1

# cat=powermail_spam//0910; type=int+; label= Spamshield Spamfactor in %: Set limit for spamfactor in powermail forms in % (e.g. 85)

factor = 75

# cat=powermail_spam//0920; type=text; label= Spamshield Notifymail: Admin can get an email if he/she wants to get informed if a mail failed. Let this field empty and no mail will be sent (e.g. admin@mail.com)

email =

}

captcha {

# cat=powermail_spam//0930; type=text; label= Captcha Background: Set own captcha background image (e.g. fileadmin/bg.png)

image = EXT:powermail/Resources/Private/Image/captcha_bg.png

# cat=powermail_spam//0940; type=text; label= Captcha Font: Set TTF-Font for captcha image (e.g. fileadmin/font.ttf)

font = EXT:powermail/Resources/Private/Fonts/ARCADE.TTF

# cat=powermail_spam//0950; type=text; label= Captcha Text Color: Define your text color in hex code - must start with # (e.g. #ff0000)

textColor = #444444

# cat=powermail_spam//0960; type=int+; label= Captcha Text Size: Define your text size in px (e.g. 24)

textSize = 32

# cat=powermail_spam//0970; type=text; label= Captcha Text Angle: Define two different values (start and stop) for your text random angle and separate it with a comma (e.g. -10,10)

textAngle = -5,5

# cat=powermail_spam//0980; type=text; label= Captcha Text Distance Hor: Define two different values (start and stop) for your text horizontal random distance and separate it with a comma (e.g. 20,80)

distanceHor = 20,80

# cat=powermail_spam//0990; type=text; label= Captcha Text Distance Ver: Define two different values (start and stop) for your text vertical random distance and separate it with a comma (e.g. 30,60)

distanceVer = 30,60

}

javascript {

# cat=powermail_additional//1000; type=text; label= jQuery Source: Change jQuery Source - per default it will be loaded from googleapis.com

powermailJQuery = https://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js

# cat=powermail_additional//1010; type=text; label= jQuery UI Source: Change jQuery UI Source - per default it will be loaded from googleapis.com

powermailJQueryUi = https://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js

}

}

}

For Developers

Database Model

Write own JavaScript Validation

We're using the jQuery inline form validation plugin from “position absolute” – see manual:

http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/

See our change for checkbox validation:

/**

* Custom Validation of checkboxes for powermail

*

* @param	object	Current Field

* @param	object	Given Rules

* @param	int	Index

* @param	object	Options

* @return	string	Error Message

*/

function checkCheckboxes(field, rules, i, options) {

var checked = 0; // no checkbox checked at the beginning

var classes = field.attr('class').split(' ');

$('.' + classes[1]).each(function() {

if ($(this).attr('checked')) {

checked = 1;

}

});

if (!checked) {

return options.allrules.checkCheckboxes.alertText;

}

}

Call the userFunc from a CSS class:

<input type="checkbox" value="..." name="... id="..." class="validate[funcCall[checkCheckboxes]]" />

Write own PHP Validation

Introduction

You can use the CustomValidator (used twice in powermail FormsController: confirmationAction and createAction) to write your own field validation after a form submit.

The customValidator is located at powermail/Classes/Domain/Validator/CustomValidator.php. A signalSlot Dispatcher within the class waits for your extension.

SignalSlot in CustomValidator

Signal Class Name:	Signal Name:	Located in File:	Located in Method:
Tx_Powermail_Domain_Validator_CustomValidator	isValid	CustomValidator.php	isValid()

Call the Custom Validator from your Extension

Example for TYPO3 4.6 - add a new extension (example key powermail_extend).

Example ext_localconf.php:

$signalSlotDispatcher = t3lib_div::makeInstance('Tx_Extbase_SignalSlot_Dispatcher');

$signalSlotDispatcher->connect('Tx_Powermail_Domain_Validator_CustomValidator', 'isValid', 'Tx_PowermailExtend_Controller_TestController', 'addInformation', FALSE);

Example Controller file:

class Tx_PowermailExtend_Controller_TestController extends Tx_Extbase_MVC_Controller_ActionController {

public function addInformation($params, $obj) {

// field with uid 12 failed

$obj->isValid = false;

$obj->setError('mandatory', 12);

}

}

Signal Slots

Powermail offers a lot of SignalSlots (Extbase pendant to Hooks) to extend the functions from your extension. Please use forge.typo3.org if you need another signalSlot.

Signal Class Name:	Signal Name:	Located in File:	Located in Method:	Description:
Tx_Powermail_Domain_Validator_CustomValidator	isValid	CustomValidator.php	isValid()	Extend Powermail with your own validation
Tx_Powermail_Utility_CalculatingCaptcha	validCodeBeforeValidateCaptchaCode	CalculatingCaptcha.php	validCode()	Extend Captcha Function
Tx_Powermail_Domain_Validator_CaptchaValidator	isValidCaptchaValidation	CaptchaValidator.php	isValid()	Extend Captcha Validator
Tx_Powermail_Domain_Validator_StringValidator	isValidStringValidation	StringValidator.php	isValid()	Extend String Validator
Tx_Powermail_Domain_Validator_MandatoryValidator	isValidMandatoryValidation	MandatoryValidator.php	isValid()	Extend Mandatory Validator
Tx_Powermail_Domain_Validator_UploadValidator	isValidUploadValidation	UploadValidator.php	isValid()	Extend Upload Validator
Tx_Powermail_Controller_FormsController	formActionBeforeRenderView	FormsController.php	formAction()	Slot is called before the form is rendered
Tx_Powermail_Controller_FormsController	confirmationActionBeforeRenderView	FormsController.php	confirmationAction()	Slot is called before the confirmation view is rendered
Tx_Powermail_Controller_FormsController	createActionBeforeRenderView	FormsController.php	createAction()	Slot is called before the answered are stored and the mails are sent
Tx_Powermail_Controller_FormsController	createActionAfterMailDbSaved	FormsController.php	createAction()	Slot ist called directly after the mail was stored in the db
Tx_Powermail_Controller_FormsController	createActionAfterSubmitView	FormsController.php	createAction()	Slot is called after the thx message was rendered (Only available if no redirect was activated – if you use a redirect, please choose Slot createActionAfterMailDbSaved)
Tx_Powermail_Controller_FormsController	optinConfirmActionBeforeRenderView	FormsController.php	optinConfirmAction()	Slot is called before the optin confirmation view is rendered (only if Double-Opt-In is in use)
Tx_Powermail_Controller_FormsController	initializeActionSettings	FormsController.php	initializeAction()	Change Settings from Flexform or TypoScript before Action is called

userFuncs with cObject

Introduction

It's very easy to extend powermail with cObject Viewhelpers, which are calling a userFunc from TypoScript.

Where can you use cObject Viewhelpers in powermail

In every HTML Template (and Partial and Layout)

In every RTE field in flexform

In the subject, receiver, receiverName, sender, senderName field of the flexform

What can you do with this flexibility

If you need to call a userFunc after submitting a form or if you need dynamic text in a view. Some examples:

Create an extension for transaction keys in powermail

Manipulate the receiver from a userFunc depending on a field value (see below)

Log something special in a database table after a submit

etc...

Example to manipulate the receiver of a form

With pure TypoScript

Example Call in Flexform Settings

Example call in TypoScript

# TypoScript Setup Example

lib.test = TEXT

lib.test.value = newReceiver@mail.com

With a userFunc on TypoScript depending on a field value

Example Call in Flexform Settings

Example call in TypoScript

# TypoScript Setup Example

includeLibs.manipulatePowermailReceiver = fileadmin/manipulateReceiver.php

lib.test = USER

lib.test.userFunc = user_manipulatePowermailReceiver->getEmail

Example PHP Script

<?php

class user_manipulatePowermailReceiver {

public function getEmail($content = '', $conf = array()) {

$variables = t3lib_div::_GP('tx_powermail_pi1');

$email = 'email1@domain.org';

if ($variables['field']['2'] == 'Alex') {

$email = 'email2@domain.org';

}

return $email;

}

}

?>

Extend FlexForm values

Add new fieldtypes to powermail

Just use some lines of page TSConfig to add new fieldtypes to powermail

# Powermail will search for the Partial Newfield.html

tx_powermail.flexForm.type.addFieldOptions.newfield = New Field Name

Add new validationtypes to powermail

Just use some lines of page TSConfig to add new validationtypes to powermail

tx_powermail.flexForm.validation.addFieldOptions.newfield = New Validation Name

Add new fe_user fields for prefill powermail fields

Just use some lines of page TSConfig to add new fe_user fields

tx_powermail.flexForm.feUserProperty.addFieldOptions.newfield = New fe_user Property

FAQ

Question:	Possible:	Explanation:
Can I use old mails in powermail 2.0?	No	It's not possible to use old powermail mails with the new module. At the moment there is no update script.
Can I use old forms in powermail 2.0?	No	It's not possible to use old powermail forms with the new module. At the moment there is no update script.
How to use another Captcha Extension?	No	At the moment we support only a calculating captcha in the powermail core. Maybe other extensions in a later version.
How to save values to tt_address, fe_users, tt_news, etc...?	Yes	It's very easy to save values to a third-party-table – see manual part “For Administrators / Good to know / Saving Values to Third Party Table”
How to write my own javascript/php validator?	Yes	Write your own validator – see manual part “For Developers / Write own JavaScript Validatior” and “For Developers / Write own PHP Validation”
How to add attached files to any mail?	Yes	You can simply add some files to any mail via TypoScript cObject – see TypoScript Main Template for details. Short example: plugin.tx_powermail.settings.setup.sender { addAttachment = TEXT addAttachment.value = fileadmin/file.pdf }
How can the admin confirm a mail from Double-Opt-In?	Yes	Per default the confirmation Email (if Double-Opt-In is enabled) will be sent to the sender. You can overwrite it via TypoScript. See TypoScript Main Template for details. Short example: plugin.tx_powermail.settings.setup.optin { overwrite.email = TEXT overwrite.email.value = admin@domain.org }
How to prevent Spam or to change the Spam-Prevention-Settings?	Yes	Powermail in version 2 comes with a lot of spam-prevention-methods along. You can use the integrated spamshield (configuration via constants and typoscript) or captcha. See TypoScript Main Template for details.
How can I set some advanced mail settings (like priority or returnPath, etc...)?	Yes	You can change following settings for the mail to the receiver and to the sender completely via TypoScript. See TypoScript Main Template for details. - email - name - senderName - senderEmail - subject - cc Receivers - bcc Receivers - returnPath - reply to email - reply to name - priority
How to change the style selector with my own values (In Forms, Pages or Fields)?	Yes	Default settings for the layout generates this output <select> <option value=”layout1”>Layout1</option> <option value=”layout2”>Layout2</option> <option value=”layout3”>Layout3</option> </select> Changing values via page tsconfig TCEFORM { tx_powermail_domain_model_forms { css { removeItems = layout1, layout2, layout3 addItems { blue = Blue Form green = Green Form } } } tx_powermail_domain_model_pages < tx_powermail_domain_model_forms tx_powermail_domain_model_fields < tx_powermail_domain_model_forms } This configuration produces this output: <select> <option value=”blue”>Blue Form</option> <option value=”green”>Green Form</option> </select> And adds the class “blue” or “green” to all forms, pages and fields in the Frontend.
How to prefill a field in the powermail form?	Yes	Prefilling of fields will be done by the prefillFieldsViewHelper. It listen to the following methods and parameters: 1. GET/POST param like &tx_powermail_pi1[marker]=value 2. GET/POST param like &tx_powermail_pi1[field][123]=value 3. GET/POST param like &tx_powermail_pi1[uid123]=value 4. If field should be filled with values from FE_User (Flexform Settings) 5. If field should be prefilled from static Flexform Setting 6. Fill with TypoScript cObject like plugin.tx_powermail.settings.setup.prefill { # Fill field with marker {email} email = TEXT email.value = mail@domain.org } 7. Fill with TypoScript like plugin.tx_powermail.settings.setup.prefill { # Fill field with marker {email} email = mail@domain.org }
How is JavaScript included to Powermail?	Yes	Powermail loads jQuery and jQuery UI by default from googleapis.com. You can change that behaviour with constants or typoscript. Responsible TypoScript for the include of JS and CSS: page { # Inlude JavaScript files includeJSFooterlibs { powermailJQuery = {$plugin.tx_powermail.settings.javascript.powermailJQuery} powermailJQuery.external = 1 powermailJQueryUi = {$plugin.tx_powermail.settings.javascript.powermailJQueryUi} powermailJQueryUi.external = 1 powermailJQueryUiDatepicker = EXT:powermail/Resources/Public/Js/jquery.ui.datepicker.min.js powermailJQueryFormValidationLanguage = EXT:powermail/Resources/Public/Js/jquery.validationEngine-en.js powermailJQueryFormValidation = EXT:powermail/Resources/Public/Js/jquery.validationEngine.js powermailJQueryTabs = EXT:powermail/Resources/Public/Js/tabs.js } includeJSFooter { powermailForm = EXT:powermail/Resources/Public/Js/form.js } # Include CSS files includeCSS { powermailJQueryUiTheme = EXT:powermail/Resources/Public/Css/jquery.ui.theme.css powermailJQueryUiDatepicker = EXT:powermail/Resources/Public/Css/jquery.ui.datepicker.css } } You can change this by overwriting some or all lines in your TypoScript.
How can I disable the including of jQuery?	Yes	Maybe you already included jQuery on every of your pages. So powermail should not include it twice. Overwrite it with TypoScript Setup: page.includeJSFooterlibs.powermailJQuery > page.includeJSFooterlibs.powermailJQueryUi >
How can I use t3jquery?	No	You can manually disable the including of the libraries from google (see line above) and force to use jQuery from t3jquery (see manual of that extension)
JavaScript validation don't work – what's wrong?	-	At the moment we do not use t3jquery. Powermail loads jQuery and jQuery UI by default from googleapis.com. You can change that behaviour with constants or typoscript. It's importand to have the correct ordering of the JavaScript files. First you need the libraries and after that your JavaScript. Check the correct including of your JavaScript in the HTML source – example Footer could be: <script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js" type="text/javascript"></script> <script src="typo3conf/ext/powermail/Resources/Public/Js/jquery.ui.datepicker.min.js?1336555116" type="text/javascript"></script> <script src="typo3conf/ext/powermail/Resources/Public/Js/jquery.validationEngine-en.js?1336586579" type="text/javascript"></script> <script src="typo3conf/ext/powermail/Resources/Public/Js/jquery.validationEngine.js?1336586579" type="text/javascript"></script> <script src="typo3conf/ext/powermail/Resources/Public/Js/tabs.js?1336555116" type="text/javascript"></script> <script src="typo3conf/ext/powermail/Resources/Public/Js/form.js?1336555115" type="text/javascript"></script>
There are no error messages in Frontend	Yes	Please add this TypoScript Setup plugin.tx_powermail.features.rewrittenPropertyMapper=1 to your older TYPO3 installtions
I want to have automatic export files with the scheduler module – what's wrong?	No	In powermail 1.4 up to 1.7 it was possible to get automatic export files from a cli script or from the scheduler. This feature is not yet integrated in version 2.0.
Marketing Information are not working – what's wrong?	Yes	Did you include the marketing static template on the root page of your domain?
I want to add a new Field Type to powermail – how can I do this	Yes	You can add a new Fieldtype (in record tx_powermail_domain_model_fields) with some Page TSConfig. See following example to add a new fieldtype with Partial Newfield.html tx_powermail.flexForm.type.addFieldOptions.newfield = New Field Name
I have a problem, what can I do?	Yes	- Did you read the manual? - Turning on the Debug Output in Powermail (via TypoScript) can solve some problems - Try to get free help from a TYPO3 Forum like (typo3.net or typo3forum.net) - Did you need payed support? Ask the author www.in2code.de for it. - Did you found a bug? Report it to http://forge.typo3.org/projects/extension-powermail/issues - Did you miss a feature? Ask the author www.in2code.de for it.

Changelog

Version:	Date:	Changes:
2.0.18	2014-09-17	Bugfix updates #57080 #53626 #41755 See forge.typo3.org for Details
2.0.17	2014-09-06	Bugfix updates #58090 #61301 See forge.typo3.org for Details
2.0.16	2014-06-26	Bugfix updates #59902 #54648 #53786 Featue updates #59395 See forge.typo3.org for Details
2.0.15	2014-05-26	Bugfix updates #58389 #58114 #57963 #56273 #56117 See forge.typo3.org for Details
2.0.14	2014-05-22	Security fix. Please update! See TYPO3-EXT-SA-2014-007
2.0.13	2014-04-12	Bugfix updates #57858 #56198 #54896 Feature updates #56049 See forge.typo3.org for Details
2.0.12	2014-04-11	TYPO3 6.2 update Some more Bugfix updates #57804 #57480 #57337 #56273 See forge.typo3.org for Details
2.0.11	2014-04-10	Security fix. Please update! See TYPO3-EXT-SA-2014-006
2.0.10	2013-10-11	Bugfix update (small) 5 Features 9 Bugfixes Breaking change in Resources/Private/Partials/PowermailAll/Mail.html Breaking Change in Resources/Private/Partials/PowermailAll/Web.html Breaking Change in Resources/Private/Templates/Forms/PowermailAll.html See forge.typo3.org for Details
2.0.9	2013-07-06	Bugfix update (small) 1 Task 3 bugfixes See forge.typo3.org for Details
2.0.8	2013-07-04	Bugfix update 7 new features 15 bugfixes See forge.typo3.org for Details
2.0.7	2013-06-03	Security fix. Please update! See TYPO3-EXT-SA-2013-006
2.0.6	2013-04-01	Bugfix update 1 new feature 5 bugfixes See forge.typo3.org for Details
2.0.5	2012-12-08	Bugfix update 4 new features 11 bugfixes See forge.typo3.org for Details
2.0.4	2012-10-29	Bugfix update 2 new features 4 bugfixes See forge.typo3.org for Details
2.0.3	2012-10-17	Bugfix update 7 new features 10 bugfixes See forge.typo3.org for Details
2.0.2	2012-08-19	Bugfix update 5 new features 17 bugfixes See forge.typo3.org for Details
2.0.1	2012-08-08	Security update Different Security Fixes
2.0.0	2012-05-21	Initial upload Complete Redesign of the old powermail 1.x Redesign with Extbase and Fluid Focus on Marketing and Spam-Prevention Keep Flexibility

Todos

Bugfixes

A list of known bugs is viewable at forge.typo3.org:
http://forge.typo3.org/projects/extension-powermail/issues

If you want to support a bugfix, you can write us an email (see www.in2code.de)

Features

A list of useful features is viewable at forge.typo3.org:
http://forge.typo3.org/projects/extension-powermail/issues

If you want to support a feature, you can write us an email (see www.in2code.de)

Request

Do you need a new feature or maybe you've found a bug or maybe you want to help us?

Please add a new issue at http://forge.typo3.org/projects/extension-powermail/issues or write us an email (see www.in2code.de)!

Additional links

You can use one of the following links, to get more informations about this plugin:

All information about powermail developing, the developers behind powermail, time tracks and so on: http://forge.typo3.org/projects/show/extension-powermail

powermail is powered by http://www.in2code.de

Do you need help from the community: http://www.typo3.net/

Did you see some helping information on http://www.youtube.com – search for “powermail”

Don't miss the best TYPO3 blogging page: http://www.typo3blogger.de/

powermail - powermail	Additional links

101

powermail

powermail

powermail mailform powermail_frontend powermail_sendpost spamshield

Christopher

2010-12-18T19:57:23