---
title: "Email templates"
source: https://dev.pageseeder.com/guide/configuration/emails/templates.html
description: "This document explains how to customize PageSeeder email notification templates using XSLT, including template locations, source XML format, available templates, and email header configuration options."
last_updated: 2026-08-11T16:00:42+10:00
tokens: ~1088
---

# Email templates

PageSeeder uses XSLT templates to generate email messages in plain text and HTML format.

The default templates can be found under:

```
[pageseeder]/WEB-INF/template/default/notification
```

 To customize a message, edit a copy of the appropriate template and save it in: 

```
[pageseeder]/WEB-INF/config/template/[project]/notification
```

#### Source XML

The source XML has the following format (except for the [external](flows/external.md) template) and includes the constants listed; some of these might change depending on your [global Properties](../properties/global_properties.md).

```xml
<notification template="[notification template]"
              hosturl="[host URL, including siteprefix]"
              emaildomain="[email domain]"
              [notification specific attributes]>
  [notification specific objects]
</notification>
```

#### Email format

By default, messages are sent in both HTML, and plain text format – to customize this, see [Email format](format.md).

#### Email headers

To customize `sender`, `reply-to`, and other properties or to override the PageSeeder default settings – see [email headers](headers.md).

## Template summary

The following message templates available to customize:

### Subject, from and to

| Template | Subject | From | To |
| --- | --- | --- | --- |
| `accept-comment` | \[*group*\]\* *comment title* | Author | Moderator |
| `auto-responder` | WARNING: Comment limit reached | PageSeeder | Author |
| `change-email-confirm` | Confirm your email change | PageSeeder | Member |
| `change-email` | Your email address has been updated | PageSeeder | Member |
| `change-password` | Your password has been updated | PageSeeder | Member |
| `comment-digest` | \[*group*\] Daily/Weekly digest | Group | Group |
| `external` | *\[defined by template or service\]* |
| `membership-accept` | \[*group*\] Group registration request | Member | Moderator |
| `membership-complete` | \[*group*\] Group registration | Inviter/Group | Member |
| `membership-confirm` | \[*group*\] Group invitation | Inviter/Group | Member |
| `membership-new-member` | \[*group*\] Group registration/invitation | Inviter/Group | Member |
| `new-comment` | \[*group*\] *comment title* | Author | Group |
| `new-member` | Welcome to PageSeeder | Inviter/PageSeeder | Member |
| `new-uri` | \[*group*\] URL created/modified: *URL title* \[*group*\] Document created/upload | Author | Group |
| `new-version` | \[*group*\] *document title* version *version* | Author | Group |
| `out-of-office-change` | WARNING: Your notification options have been set to 'On Vacation' | PageSeeder | Member |
| `out-of-office-warning` | WARNING: Out Of Office detected | PageSeeder | Member |
| `reject-comment` | RETURNED: *comment title* | PageSeeder | Author |
| `reminder-digest` | PageSeeder \[host name\] reminders | PageSeeder | Member |
| `reset-password-confirm` | Update your password | PageSeeder | Member |
| `system-alert` | *\[system alert title\]* | PageSeeder | Administrators |
| `verification-code` | PageSeeder verification code | PageSeeder | Member |

#### From

When `sender` is not “PageSeeder”, the [from address](from.md) is the `notifyFromAddress` value in the [group properties](../properties/group_properties.md). The default value is:

```

 [user full name] <[hash unique to user]--noreply@[domain]>
```

The other values for “From” are the following:

- **Author** – is the person, not necessarily a group member, responsible for the creation or modification of a comment, document or URL. It matches the `<author>, <modifiedby>` or `<statuschangedby>` element in the notification XML.
- **Member** – is a user with a PageSeeder account matching the `<member>` element in the notification XML.
- **Inviter** – is the member that generated the invitation  – for self registrations, or confirmations, *Group* or *PageSeeder* is used instead.
- **Group** – is the PageSeeder group related to the email, the default is:

```

 PageSeeder (DO NOT REPLY) <pageseeder@[domain]>
```

- **PageSeeder** – is always `PageSeeder (DO NOT REPLY) <pageseeder@[domain]>`.

#### To

For a member, including author or moderator, the “To” field will be the email address of the account.

In the case of the group, an email is sent to each member of that group depending on their notification settings.

