UNITED-PAGES provides a REST-IMAP(RFC3501) interface. Via the API an UP-WEBSERVER can be triggered to send a new E-Mail, request received E-Mails and delete E-Mails.
This involves adding a digital signature to emails based on the UNITED-PAGES public key. A digital signature allows authentication, i.e. verify, that an email truly originates from the sender.
UNITED-PAGES enables development of an email client that is limited exclusively to signed emails.
Send signed E-Mails
Example E-Mail:
FROM |
alice@a-provider.com |
TO |
bob@b-provider.com |
CC |
charly@c-provider.com |
BCC |
diana@d-provider.com |
SUBJECT |
United-Pages is cool |
CONTENT |
Hello, this is a signed email that you can trust, Regards Alice |
From the entered data, the client generates a digital signature, i.e. a JSON data structure containing "from", "to", "subject", the current timestamp (RFC822 format) and a md5-hash of "content".
{ "from":"alice@a-provider.com",
|
The digital signature will be encrypted from the E-Mail-Client (eg UPbook) with the Private-Key of the sender and passed within the body of a POST-request (up_sign).
POST |
https://www.united-pages.com/unit/mail/alice/a-provider.com |
Authentication-Header |
username: <E-Mail password of Alice> password: <UNITED-PAGES password of Alice> |
Body |
{ "from":"alice@a-provider.com",
"to":"bob@b-provider.com", "cc":"charly@c-provider.com", "bcc":"diana@d-provider.com", "subject":"UNITED-PAGES is cool'", "content":"Hello, this is a cerified email that you can trust, Regards Alice", "up_sign":"........................" } |
The UP-SERVER attaches the signature as file named "UP.sign" and sends the email via IMAP . Furthermore, the subject is prefixed with "[UP]", a naming convention to make it easier to find and sort signed emails.
Access to a mailbox via IMAP requires the resp. E-Mail password. Since the passwords for E-Mail- and UNITED-PAGES-account may differ the username of the Authentication-Header is 'misused' for the password of the E-Mail-Account. The username/E-Mail can be extracted from the URL.
Receive signed E-Mails
E-Mail-Clients can request all signed emails
GET |
https://www,united-pages.com/unit/mail/bob/b-provider.com |
AuthenticationHeader |
username: <E-Mail password of Bob> password: <UNITED-PAGES password of Bob> |
The UP-WEBSERVER of the receiver (alice@a-provider.com) retrieves each E-Mail from the resp. Mailbox (via IMAP) that fulfills the following requirements:
- according to the naming convention the Subject starts with '[UP]'
- the E-Mail contains an attachment file 'UP.sign'
- 'UP.sign' can be decrypted with the PublicKey of the sender
- the values of the digital signature match with the E-Mail
The response contains the IMAP message identifiers:
| {"14": {"subject":"[UP]UNITED-PAGES is cool", "from":"alice@a-provider.com", "to":"bob@b-provider.com", "date":"Mon, 8 Dec 2025 09:51:01 +0000", "message_id":"...", "size":2683, "uid":713, "msgno":15, "recent":0, "flagged":0, "answered":0, "deleted":0, "seen":1, "draft":0, "udate":1765187463, "content":"..."}, "15": {"subject":"[UP]...","to":"bob@b-provider.com","...}} ... } |
Delete signed E-Mails
The E-Mail-Client can delete (selected) emails where each one is referenced via its IMAP uid (s.o.).
DELETE |
https://www,united-pages.com/unit/mail/bob/b-provider.com?_uid=710,713,726 |
AuthenticationHeader |
username: <E-Mail password of Bob> password: <UNITED-PAGES password of Bob> |