---
title: "Incoming emails"
source: https://dev.pageseeder.com/guide/configuration/emails/incoming_emails.html
last_updated: 2026-08-07T17:09:54+10:00
tokens: ~1515
---

# Incoming emails

Incoming emails trigger specific operations in PageSeeder.

## Incoming email domain

PageSeeder will process incoming email messages for the `emailDomain` value in [global properties](../properties/global_properties.md). If the value is `pshosts`, PageSeeder processes any incoming email from hosts.

For email sender information, see [From address](from.md).

## Comment limits

To stop PageSeeder being overwhelmed there are limits on the number of comments that can be emailed to PageSeeder. This is to guard against email loops created by out of office notifications and other generated messages.

- By default if the number of comments emailed to the same location (group, document or fragment) exceeds 25 within 90 minutes or emailed as a reply exceeds 10 within 90 minutes then a [ warning ](templates/auto-responder.md)is emailed to the sender for each email over the limit.
- Once 5 warnings have been sent then no more emails are accepted until the 90 minutes is up. Further emails are ignored (not queued) and nothing is returned to the sender.

These numbers can be changed by modifying the `autoResponderLimit`, `autoResponderReplyLimit`, `autoResponderMinutes` and `autoResponderWarings` [Global Properties](../properties/global_properties.md).

> **Note:** The comment counts can not be reset but the limits can be changed by modifying and reloading the global properties.

> **Tip:** Administrators are notified of warnings and if they continue to happen after the 90 minutes is up, an administrator can: - ensure that the context group configuration for adding comments is not "public", - manually set the sender account to “on vacation”, - temporarily or permanently disable the sender account.

## Recipients

To be a valid recipient email address:

1. What comes after the @ character must match the incoming email domain (see above), and
2. What comes before the @ character must match one of the following:

- `[group_name]`– *to ensure the address is unique, the group must include the project name separated by a hyphen character.*
- `[uri_id]-[fragment]`
- `[comment_id]-reply`
- `[group_name]//returned`

> **Note:** You can’t initiate a discussion by email on a fragment with the following IDs: `reply`, `-announce`, `-silent`, `-preserve`, `-announce--preserve`, `-noreply`. Also if the ID contains a double dot or ends with a dot or `[uri_id]-[fragment]` is more than 63 characters.

### Switches

Adding an instruction (switch) to the recipient email address, will customize the message processing. Append the switch value to the recipient address immediately before the @ character. Each switch is initiated with a string of two hyphens ‘--’. The following describes switch behaviour and the permission requirements:

- `--announce` – sends the email to be sent to all members regardless of their notification settings. *Only available to group contributors and higher.*
- `--silent` – captures the message but does not send it to any members. *Only available to group contributors and higher.*
- `--preserve` – relays the message without reformatting it in the `new-comment template`. *Only available to group managers and higher.*
- `--announce--preserve` – combines the `announce` and `preserve` switches. *Only available to group managers and higher.*
- `--noreply` – ignore the email regardless of prefix.

> **Note:** PageSeeder will reject a message sent by a member with inadequate permission to use a switch.

## Group comments

Every group has the following email address:

```

[project]-[group]@[incoming_domain]
```

For example:

```

viruses-covid19@ps.example.com
```

Messages sent here are considered general comments, and after processing through the [new-comment](templates/new-comment.md) email template, are sent to group members according to their notification settings.

> **Note:** PageSeeder will reject any message sent to an address that does not match a valid group name.

### Summary of group email recipients

| Processing | Email address |
| --- | --- |
| Normal | `[group_name]@[incoming_domain]` |
| Silent | `[group_name]--silent@[incoming_domain]` |
| Announce | `[group_name]--announce@[incoming_domain]` |
| Preserve | `[group_name]--preserve@[incoming_domain]` |
| Announce & preserve | `[group_name]--announce--preserve@[incoming_domain]` |

## Document comments

Comments on a specific document instead of a general comment on the group have the following format:

```

[uri_id]-[fragment]@[incoming_domain]
```

For example, sending a message to the document generally, would look like the following:

```

10232-default@example.com
```

Posting a comment to the seventh fragment, would look like:

```

10232-7@example.com
```

> **Note:** PageSeeder will reject any message sent to an address that does not match a URIID on the incoming domain.

## Reply

Any comment, workflow or edit note can accept a response via email. The format for the reply address is the following:

```

[comment_id]-reply@[incoming_domain]
```

If the value of `comment ID` does not correspond to a valid comment, workflow and edit note, PageSeeder will return a delivery error to the sender.

> **Note:** A comment that belongs on multiple groups, is posted to all of them.

## Group returned address

Incoming messages, with the following address, are forwarded to the value of `mailReturnedAddress` in the [group properties](../properties/group_properties.md):

```

[group_name]//returned@[incoming_domain]
```

## Postmaster

By default, PageSeeder messages have a `Sender` value of:

`pageseeder@[incoming_domain]`

> **Note:** PageSeeder ignores messages sent to this address.

## Ignored recipients

In addition to the postmaster, the following addresses are ignored:

- `error@[incoming_domain]`
- `email_suppressed@[incoming_domain]`
- `no_email@[incoming_domain]`

As well as any recipient ending with `--noreply`.

## Delivery error

Any incoming email that is not a valid PageSeeder email recipient returns an email to the sender coming from `pageseeder@[outgoing_domain]`.

