66 lines
1.1 KiB
Markdown
66 lines
1.1 KiB
Markdown
|
|
# Stalwart queries
|
||
|
|
|
||
|
|
## name
|
||
|
|
|
||
|
|
100 GB quota
|
||
|
|
|
||
|
|
```sql
|
||
|
|
SELECT name, 'individual' as type, password as secret, '' as description, 107374182400 as quota
|
||
|
|
FROM accounts
|
||
|
|
WHERE secret != NULL AND name = ?
|
||
|
|
```
|
||
|
|
|
||
|
|
## members
|
||
|
|
|
||
|
|
```sql
|
||
|
|
SELECT NULL as member_of WHERE 1=0
|
||
|
|
```
|
||
|
|
|
||
|
|
## recipients
|
||
|
|
|
||
|
|
```sql
|
||
|
|
SELECT name
|
||
|
|
FROM emails JOIN accounts on emails.id = accounts.id
|
||
|
|
WHERE mail = ?
|
||
|
|
```
|
||
|
|
|
||
|
|
## emails
|
||
|
|
|
||
|
|
```sql
|
||
|
|
SELECT mail as address
|
||
|
|
FROM (
|
||
|
|
SELECT name || '@familleboyer.net' as mail, 0 as type FROM accounts WHERE name = ?
|
||
|
|
UNION
|
||
|
|
SELECT mail, (alias)::int + 1 as type
|
||
|
|
FROM emails JOIN accounts ON accounts.id = emails.id
|
||
|
|
WHERE name = ?
|
||
|
|
) as mails
|
||
|
|
ORDER BY type
|
||
|
|
```
|
||
|
|
|
||
|
|
## verify
|
||
|
|
|
||
|
|
```sql
|
||
|
|
SELECT mail as address
|
||
|
|
FROM (
|
||
|
|
SELECT name || '@familleboyer.net' as mail FROM accounts
|
||
|
|
UNION
|
||
|
|
SELECT mail
|
||
|
|
FROM emails JOIN accounts ON accounts.id = emails.id
|
||
|
|
WHERE NOT alias
|
||
|
|
) as mails
|
||
|
|
WHERE mail LIKE '%' || ? || '%' ORDER BY mail LIMIT 5
|
||
|
|
```
|
||
|
|
|
||
|
|
## expand
|
||
|
|
|
||
|
|
```sql
|
||
|
|
SELECT NULL as address WHERE 1=0
|
||
|
|
```
|
||
|
|
|
||
|
|
## domains
|
||
|
|
|
||
|
|
```sql
|
||
|
|
SELECT 1 WHERE ? = 'familleboyer.net'
|
||
|
|
```
|