Signatures deprecated

Signatures

Mail signatures support raw signature templates, predefined signatures, and compose-time placeholders.

Placeholders are rendered only when a signature is inserted in compose. In settings, the raw template stays visible and editable.

Placeholder Syntax

Basic placeholder:

{{ firstName }}

Placeholder with explicit format:

{{ company.website | link }}

Supported formats:

Format Result
text Escaped text output. This is the default.
link HTML link, adds https:// if no protocol is present.
image HTML image tag.
mailto Mail link.
tel Telephone link.

Supported Fields

The following placeholders are supported directly from user profile data:

Names

Placeholder Source
{{ firstName }} first_name
{{ secondName }} second_name
{{ lastName }} last_name
{{ fullName }} Derived full name
{{ suffix }} suffix
{{ title }} title

Company / Job

Placeholder Source Default format
{{ position }} position text
{{ department }} department text
{{ room }} room_number text
{{ roomNumber }} room_number text
{{ company }} company text
{{ url }} url link

Communication

Placeholder Source Default format
{{ email }} email1 mailto
{{ email1 }} email1 mailto
{{ phone.cell }} cellular_telephone1 tel
{{ phone.mobile }} cellular_telephone1 tel
{{ phone.home }} telephone_home1 tel
{{ phone.work }} telephone_business1 tel
{{ fax }} fax_business tel

Home Address

Placeholder Source
{{ address.home.street }} street_home
{{ address.home.code }} postal_code_home
{{ address.home.postalCode }} postal_code_home
{{ address.home.city }} city_home
{{ address.home.state }} state_home
{{ address.home.country }} country_home

Work Address

Placeholder Source
{{ address.work.street }} street_business
{{ address.work.code }} postal_code_business
{{ address.work.postalCode }} postal_code_business
{{ address.work.city }} city_business
{{ address.work.state }} state_business
{{ address.work.country }} country_business

Configured Placeholder Data

Additional placeholder values can be configured under:

io.ox/mail/signatures/data/**

These values are useful for company-wide data that should not come from the user profile, for example website, logo, hotline, legal text, or campaign links.

Examples:

io.ox/mail:
  signatures:
    data:
      company:
        website: portal.example.test
        email: info@example.test
        phone: +49 123 456789
        logo: https://example.test/logo.png
      legal:
        disclaimer: Confidential. Internal use only.
      campaign:
        spring:
          url: https://example.test/spring

This can be used in signatures like:

<p>{{ fullName }}</p>
<p>{{ position }}</p>
<p>{{ email }}</p>
<p>{{ company.website | link }}</p>
<p>{{ company.phone }}</p>
<p><img data-src="{{ company.logo }}"></p>
<p>{{ legal.disclaimer }}</p>
<p>{{ campaign.spring.url | link }}</p>

Notes: - company.website, company.email, company.phone, and company.logo have built-in default formats. - Other configured keys under company.*, campaign.*, or legal.* default to plain text unless a format is given explicitly. - Unknown placeholders remain unchanged so missing values stay visible.

Predefined Signatures

Administrators can define predefined signatures under:

io.ox/mail/signatures/predefined

Example:

io.ox/mail:
  signatures:
    predefined:
      company_default:
        title: Company default
        content: |
          <p>{{ fullName }}</p>
          <p>{{ position }}</p>
          <p>{{ company.website | link }}</p>
        insertion: below

Behavior: - predefined signatures appear in the user’s signature list - predefined signatures can also be assigned as defaults - predefined signatures are marked as predefined in settings - predefined signatures are read-only for end users

Notes

  • Placeholder rendering happens in compose only.
  • Settings preview and settings editor intentionally show the raw template.