mail-accounts/queries.md

1.1 KiB

Stalwart queries

name

100 GB quota

SELECT name, 'individual' as type, password as secret, '' as description, 107374182400 as quota
FROM accounts
WHERE secret != NULL AND name = ?

members

SELECT NULL as member_of WHERE 1=0

recipients

SELECT name 
FROM emails JOIN accounts on emails.id = accounts.id 
WHERE mail = ?

emails

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

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

SELECT NULL as address WHERE 1=0

domains

SELECT 1 WHERE ? = 'familleboyer.net'