---
title: "Page TSconfig"
manual: "Mail system"
version: "3.12"
permalink: "https://docs.typo3.org/permalink/mediaessenz/mail:page-ts-config@3.12"
source: "Reference/PageTsConfig/Index.rst"
rendered: "2026-11-03T08:22:20+00:00"
---

# Page TSconfig {#page-ts-config}

## Frontend related (mail content) {#frontend-related-mail-content}

This extension come with three static Page TSconfig files, which all can be found here:

```text
EXT:mail/Configuration/TsConfig/Page
```

-   `ContentElement/All.tsconfig` removes all not supported fluid_styled_content elements from the newContentElement wizard of TYPO3.
-   `BackendLayouts/Mail.tsconfig` adds a very simple one-column backend layout for mail content to the system.
-   `TCADefaults.tsconfig` contain some default pages settings which does not (for me) make sense in context of mails.

## Backend related (modules) {#backend-related-modules}

All this MAIL configuration properties must be set in the Page TSconfig field of the MAIL
sys-folder under the key `mod.web_modules.mail`.

Most of these properties may conveniently be set using the [MAIL configuration module](https://docs.typo3.org/permalink/mediaessenz/mail:configure-default-settings@3.12).

The following properties set default values for corresponding properties of mails and can (mostly) changed in the
[settings step of the mail wizard](https://docs.typo3.org/permalink/mediaessenz/mail:mail-wizard-settings@3.12).

<!-- TODO: no Markdown rendering for "only" -->

**Properties**

-   **fromEmail**

    -   *type:* string
    -   *Default:*
    -   *Path:* mod.web_modules.mail.fromEmail

    Default value for the 'From' or sender email address of mails. (Required)

    Note: This email address appears as the originating address or sender
    address in the mails received by the recipients.

-   **fromName**

    -   *type:* string
    -   *Default:*
    -   *Path:* mod.web_modules.mail.fromName

    Default value for the 'From' or sender name address of mails. (Required)

    Note: This name appears as the name of the author or sender in the mails
    received by the recipients.

-   **replyToEmail**

    -   *type:* string
    -   *Default:*
    -   *Path:* mod.web_modules.mail.replyToEmail

    Default value for 'Reply To' email address.

    Note: This is the email address to which replies to mails are sent.
    If not specified, the 'fromEmail' is used.

-   **replyToName**

    -   *type:* string
    -   *Default:*
    -   *Path:* mod.web_modules.mail.replyToName

    Default value for 'Reply To' name.

    Note: This is the name of the 'Reply To' email address.
    If not specified, the 'fromName' is used.

-   **returnPath**

    -   *type:* string
    -   *Default:*
    -   *Path:* mod.web_modules.mail.returnPath

    Default return path email address.

    Note: This is the address to which non-deliverable mails will be
    returned to.

    Note: If you put in the marker ###XID###, it'll be substituted with
    the unique id of the mail recipient.

-   **organisation**

    -   *type:* string
    -   *Default:*
    -   *Path:* mod.web_modules.mail.organisation

    Name of the organization sending the mail.

-   **priority**

    -   *type:* int+
    -   *Default:* 3
    -   *Path:* mod.web_modules.mail.priority

    Default priority of direct mails.

    Possible values are:

    1 - High

    3 - Normal

    5 – Low

-   **hideExcludeRecipientGroups**

    -   *type:* bool
    -   *Default:*
    -   *Path:* mod.web_modules.mail.hideExcludeRecipientGroups

    Hide the exclude recipient groups in the last mail wizard step.

-   **showSendingPriority**

    -   *type:* bool
    -   *Default:*
    -   *Path:* mod.web_modules.mail.showSendingPriority

    Show the sending priority in the last mail wizard step.
    Mails marked as "high" will be send before other mails.

-   **defaultSendingPriority**

    -   *type:* int+
    -   *Default:*
    -   *Path:* mod.web_modules.mail.defaultSendingPriority

    Set the default sending priority for the last mail wizard step.

    Possible values are:

    0 - Normal

    1 - High

<a id="pagetsconfig-trackingprivacy"></a>
### sendOptions {#pagetsconfig-includemedia}

-   **sendOptions**

    -   *type:* int+
    -   *Default:* 3
    -   *Path:* mod.web_modules.mail.sendOptions

    Default value for the format of email content.

    If in doubt, set it to 3 (Plain and HTML). The recipients are normally
    able to select their preferences anyway.

    Possible values are:

    1 - Plain text only

    2 - HTML only

    3 - Plain and HTML

-   **includeMedia**

    -   *type:* boolean
    -   *Default:*
    -   *Path:* mod.web_modules.mail.includeMedia

    If set, images will be embedded into the HTML mail content.

    Note: Sent messages will be much heavier to transport.

    Note: To prevent embedding of a specific image, add the attribute `data-do-not-embed`
    to the image tag. This can be useful for adding third party tracking.

    When this option is not set, images and media are included in HTML
    content by absolute reference (href) to their location on the site
    where they reside.

-   **htmlParams**

    -   *type:* string
    -   *Default:*
    -   *Path:* mod.web_modules.mail.htmlParams

    Default value for additional URL parameters used to fetch the HTML content from a TYPO3 page.

    Note: The specified parameters will be added to the URL used to fetch the HTML content of the
    mail from a TYPO3 page. If in doubt, leave it blank.

-   **plainParams**

    -   *type:* string
    -   *Default:* &plain=1
    -   *Path:* mod.web_modules.mail.plainParams

    Default value for additional URL parameters used to fetch the plain text content from a TYPO3 page.

    Note: The specified parameters will be added to the URL used to fetch the plain text content of the mail from a TYPO3 page.

    The default `&plain=1` will be handled by the Markdown Middleware come with this extension. This middleware
    generates a markdown (text) version of a html page and keeps content boundaries needed to separate content
    blocks with specific categories.

-   **encoding**

    -   *type:* string
    -   *Default:* quoted-printable
    -   *Path:* mod.web_modules.mail.encoding

    Content transfer encoding to use when sending mails.

    Possible values:

    quoted-printable

    base64

    8bit

-   **charset**

    -   *type:* string
    -   *Default:* utf-8
    -   *Path:* mod.web_modules.mail.charset

    Character set to use when sending mails.

-   **quickMailEncoding**

    -   *type:* string
    -   *Default:* quoted-printable
    -   *Path:* mod.web_modules.mail.quickMailEncoding

    Content transfer encoding to use when sending quick mails.

    Possible values:

    quoted-printable

    base64

    8bit

-   **quickMailCharset**

    -   *type:* string
    -   *Default:* utf-8
    -   *Path:* mod.web_modules.mail.quickMailCharset

    Default character set for mails built from external pages.

    Note: This is the character set used in mails when they are
    built from external pages and character set cannot be auto-detected.

-   **redirect**

    -   *type:* boolean
    -   *Default:*
    -   *Path:* mod.web_modules.mail.redirect

    If set, links longer than 76 characters found in plain text content will be redirected.
    This is realized by creating protected TYPO3 redirect entries, which hold the long URL.
    Links in the mail will be replaced by URLs starting with /redirect-\[md5hash\].

    Note: This configuration determines how Quick Mails are handled and
    further sets the default value for mails from internal pages.

-   **redirectAll**

    -   *type:* boolean
    -   *Default:*
    -   *Path:* mod.web_modules.mail.redirectAll

    If set and redirect is set as well, all links in plain text content will be redirected, not only links longer than 76 characters.

-   **clickTracking**

    -   *type:* boolean
    -   *Default:*
    -   *Path:* mod.web_modules.mail.clickTracking

    Enables click tracking

-   **clickTrackingMailTo**

    -   *type:* boolean
    -   *Default:*
    -   *Path:* mod.web_modules.mail.clickTrackingMailTo

    Enables click tracking for mailto-links as well

-   **trackingPrivacy**

    -   *type:* boolean
    -   *Default:*
    -   *Path:* mod.web_modules.mail.trackingPrivacy

    Do not add recipient id to click tracking.

-   **authCodeFields**

    -   *type:* string
    -   *Default:* uid
    -   *Path:* mod.web_modules.mail.authCodeFields

    Default list of fields to be used in the computation of the authentication code included in unsubscribe links
    and for click tracking of mails.

-   **httpUsername**

    -   *type:* string
    -   *Default:*
    -   *Path:* mod.web_modules.mail.httpUsername

    The username used to fetch the mail content, if mail content is protected by HTTP authentication.

    Note: The username is NOT sent in the mail!

    Note: If you do not specify a username and password and a newsletter
    page happens to be protected, an error will occur and no mail content
    will be fetched.

-   **httpPassword**

    -   *type:* string
    -   *Default:*
    -   *Path:* mod.web_modules.mail.httpPassword

    The password used to fetch the mail content, if mail content is protected by HTTP authentication.

    Note: The password is NOT sent in the mail!

    Note: If you do not specify a username and password and a newsletter
    page happens to be protected, an error will occur and no mail content
    will be fetched.

-   **simulateUsergroup**

    -   *type:* integer
    -   *Default:*
    -   *Path:* mod.web_modules.mail.simulateUsergroup

    If mail content is protected by Frontend user authentication, enter
    a user group that has access to the page.

    Note: If you do not specify a usergroup uid and the page has frontend
    user restrictions, an error will occur and no mail content will be
    fetched.

-   **testMailGroupUids**

    -   *type:* string
    -   *Default:*
    -   *Path:* mod.web_modules.mail.testMailGroupUids

    List of UID numbers of test recipient groups.

    Before sending mails, you should test the mail content by sending test
    mails to one or more test recipients. The available recipient groups for
    testing are determined by this list of UID numbers. So first, find out
    the UID numbers of the recipient groups you wish to use for testing, then
    enter them here in a comma-separated list.

-   **testTtAddressUids**

    -   *type:* string
    -   *Default:*
    -   *Path:* mod.web_modules.mail.testTtAddressUids

    List of UID numbers of test recipients.

    Before sending mails, you should test the mail content by sending test
    mails to one or more test recipients. The available recipients for
    testing are determined by this list of UID numbers. So first, find out
    the UID numbers of the recipients you wish to use for testing, then
    enter them here in a comma-separated list.

-   **showContentTitle**

    -   *type:* boolean
    -   *Default:*
    -   *Path:* mod.web_modules.mail.showContentTitle

    If set to 1, only the title/name (instead of the path) of a clicked
    target will be shown in the mail reports. This cost a bit performance,
    since the title/name has to be fetched and parsed from the target url.

-   **prependContentTitle**

    -   *type:* boolean
    -   *Default:*
    -   *Path:* mod.web_modules.mail.prependContentTitle

    If set to 1, the content title (see above) and the clicked target path
    will be shown. Only relevant if showContentTitle is set to 1.

-   **maxLabelLength**

    -   *type:* int
    -   *Default:*
    -   *Path:* mod.web_modules.mail.maxLabelLength

    Maximum length of the clicked statistics label

-   **sendPerCycle**

    -   *type:* int
    -   *Default:* 50
    -   *Path:* mod.web_modules.mail.sendPerCycle

    Send per circle for manual sending trigger via Queue module

-   **queueLimit**

    -   *type:* int
    -   *Default:* 10
    -   *Path:* mod.web_modules.mail.queueLimit

    Number of mailings listed in queue module. If zero (0) all current and past mails will be visible.

-   **refreshRate**

    -   *type:* int
    -   *Default:* 5
    -   *Path:* mod.web_modules.mail.refreshRate

    Number of seconds between automatic refreshing of delivery progress bars. Set to 0, to stop automatic
    refreshing.

-   **storage**

    -   *type:* int+
    -   *Default:*
    -   *Path:* mod.web_modules.mail.importer.storage

    PID of the target SysFolder, in which the recipients will be imported.

-   **getAssignmentsFromStorageFallback**

    -   *type:* string
    -   *Default:* true
    -   *Path:* mod.web_modules.mail.importer.getAssignmentsFromStorageFallback

    If startingPoints not defined, get categories or groups from defined storage

-   **inputDisable**

    -   *type:* string
    -   *Default:* true
    -   *Path:* mod.web_modules.mail.importer.inputDisable

    Input field are shown, but user cannot change the values.

-   **removeExisting**

    -   *type:* boolean
    -   *Default:*
    -   *Path:* mod.web_modules.mail.importer.removeExisting

    Remove all Addresses in the storage folder before importing.

-   **firstFieldname**

    -   *type:* boolean
    -   *Default:*
    -   *Path:* mod.web_modules.mail.importer.firstFieldname

    First row of import file has field names.

-   **delimiter**

    -   *type:* string
    -   *Default:* comma
    -   *Path:* mod.web_modules.mail.importer.delimiter

    Field delimiter (data fields are separated by...) \[comma, semicolon, colon, tab\]

-   **encapsulation**

    -   *type:* string
    -   *Default:* doubleQuote
    -   *Path:* mod.web_modules.mail.importer.encapsulation

    Field encapsulation character (data fields are encapsulated with...) \[doubleQuote, singleQuote\]

-   **trimCharacters**

    -   *type:* string
    -   *Default:* doubleQuote
    -   *Path:* mod.web_modules.mail.importer.trimCharacters

    Field encapsulation character (data fields are encapsulated with...) \[doubleQuote, singleQuote\]

-   **validEmail**

    -   *type:* bool
    -   *Default:*
    -   *Path:* mod.web_modules.mail.importer.validEmail

    Only update/import valid emails from csv data.

-   **removeDublette**

    -   *type:* bool
    -   *Default:*
    -   *Path:* mod.web_modules.mail.importer.removeDublette

    Filter email dublettes from csv data. If a dublette is found, only the first entry is imported.

-   **setUsernameToEmailIfEmpty**

    -   *type:* bool
    -   *Default:* true
    -   *Path:* mod.web_modules.mail.importer.setUsernameToEmailIfEmpty

    If importing to frontend user, set username to contents of email if username is empty

-   **uniqueMode**

    -   *type:* string
    -   *Default:* update
    -   *Path:* mod.web_modules.mail.importer.uniqueMode

    Determines what happens when recipient already exists. Skip creating record \[skip\]. Create renamed record \[rename\]. Update existing record, keeping existing assignments and adding new \[update\]

-   **recordUnique (tt_address)**

    -   *type:* string
    -   *Default:*
    -   *Path:* mod.web_modules.mail.importer.recordUnique

    Specify the field of the tt_address table, which determines the uniqueness of imported subscribers. \[email, name\]

-   **recordUnique (fe_users)**

    -   *type:* string
    -   *Default:*
    -   *Path:* mod.web_modules.mail.importer.recordUniqueFeUsers

    Specify the field of the fe_users table, which determines the uniqueness of imported subscribers. \[username, email, name\]

-   **filterColumns**

    -   *type:* string
    -   *Default:*
    -   *Path:* mod.web_modules.mail.importer.filterColumns

    Filter allowed columns to be imported

-   **inputDisable**

    -   *type:* boolean
    -   *Default:*
    -   *Path:* mod.web_modules.mail.importer.inputDisable

    Disable all of above input field, so that no user can change it.

-   **resultOrder**

    -   *type:* string
    -   *Default:* new, update, invalidEmail, double
    -   *Path:* mod.web_modules.mail.importer.resultOrder

    Set the order of import result. Keywords separated with comma. \[new, update, invalidEmail, double\]

## Restrict categories example {#restrict-categories-example}

Here is an Page TSconfig example of how to restrict a list of categories to a specific parent category (has uid 1 in this example):

```typoscript
TCEFORM.tt_content.categories.config.treeConfig.startingPoints = 1
TCEFORM.tt_content.categories.config.treeConfig.appearance.nonSelectableLevels = 0
TCEFORM.tt_address.categories.config.treeConfig.startingPoints = 1
TCEFORM.tt_address.categories.config.treeConfig.appearance.nonSelectableLevels = 0
TCEFORM.fe_users.categories.config.treeConfig.startingPoints = 1
TCEFORM.fe_users.categories.config.treeConfig.appearance.nonSelectableLevels = 0
TCEFORM.tx_mail_domain_model_group.categories.config.treeConfig.startingPoints = 1
TCEFORM.tx_mail_domain_model_group.categories.config.treeConfig.appearance.nonSelectableLevels = 0
```

This config placed in the Page TSconfig field of the MAIL sys-folder page, will reduce all categories shown in tt_content, tt_address, fe_users and for simple list recipient groups living inside the MAIL sys-folder to the parent category with the uid 1.

Beside of this, the `nonSelectableLevels = 0` lines prevent the parent category itself to be selectable.
