2023-09-11 12:24:40 +02:00
|
|
|
# Stalwart queries
|
|
|
|
|
|
|
|
|
|
## name
|
|
|
|
|
|
|
|
|
|
100 GB quota
|
|
|
|
|
|
|
|
|
|
```sql
|
2023-10-09 16:36:35 +02:00
|
|
|
SELECT
|
|
|
|
|
mail as name,
|
|
|
|
|
'individual' as type,
|
|
|
|
|
password as secret,
|
|
|
|
|
'' as description,
|
|
|
|
|
107374182400 as quota
|
|
|
|
|
FROM emails
|
|
|
|
|
JOIN accounts ON emails.id = accounts.id
|
|
|
|
|
WHERE
|
|
|
|
|
type = 'primary'
|
2023-12-05 23:16:43 +01:00
|
|
|
AND mail = $1
|
2023-10-09 16:36:35 +02:00
|
|
|
AND password IS NOT NULL
|
2023-09-11 12:24:40 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## members
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
SELECT NULL as member_of WHERE 1=0
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## recipients
|
|
|
|
|
|
|
|
|
|
```sql
|
2023-12-05 23:16:43 +01:00
|
|
|
SELECT dest as name FROM alias WHERE alias = $1
|
2023-10-09 16:36:35 +02:00
|
|
|
UNION
|
|
|
|
|
SELECT mail as name
|
|
|
|
|
FROM emails
|
2023-12-05 23:16:43 +01:00
|
|
|
WHERE id = (SELECT id FROM emails WHERE type = 'list' AND mail = $1)
|
2023-10-09 16:36:35 +02:00
|
|
|
AND type = 'primary'
|
|
|
|
|
UNION
|
2023-12-05 23:16:43 +01:00
|
|
|
SELECT mail as name FROM emails WHERE mail = $1
|
2023-09-11 12:24:40 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## emails
|
|
|
|
|
|
|
|
|
|
```sql
|
2023-10-09 16:36:35 +02:00
|
|
|
SELECT mais as address
|
|
|
|
|
FROM emails
|
|
|
|
|
WHERE
|
2023-12-05 23:16:43 +01:00
|
|
|
(id = (SELECT id FROM emails WHERE mail = $1) AND type = 'alias')
|
|
|
|
|
OR mail = $1
|
2023-10-09 16:36:35 +02:00
|
|
|
ORDER BY type, mail
|
2023-09-11 12:24:40 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## verify
|
|
|
|
|
|
|
|
|
|
```sql
|
2023-10-09 16:36:35 +02:00
|
|
|
SELECT mail as address
|
|
|
|
|
FROM emails
|
|
|
|
|
WHERE
|
2023-12-05 23:16:43 +01:00
|
|
|
mail LIKE '%' || $1 || '%'
|
2023-10-09 16:36:35 +02:00
|
|
|
AND type = 'primary'
|
|
|
|
|
ORDER BY address
|
|
|
|
|
LIMIT 5
|
2023-09-11 12:24:40 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## expand
|
|
|
|
|
|
|
|
|
|
```sql
|
2023-10-09 16:36:35 +02:00
|
|
|
SELECT recipient as address
|
|
|
|
|
FROM list_recipients
|
2023-12-05 23:16:43 +01:00
|
|
|
WHERE list = $1
|
2023-10-09 16:36:35 +02:00
|
|
|
ORDER BY address
|
|
|
|
|
LIMIT 50
|
2023-09-11 12:24:40 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## domains
|
|
|
|
|
|
|
|
|
|
```sql
|
2023-12-05 23:16:43 +01:00
|
|
|
SELECT 1 FROM emails WHERE mail LIKE '%@' || $1 LIMIT 1
|
2023-09-11 12:24:40 +02:00
|
|
|
```
|