mail-accounts/queries.md
2023-10-09 16:36:35 +02:00

1.1 KiB

Stalwart queries

name

100 GB quota

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'
    AND mail = ?
    AND password IS NOT NULL

members

SELECT NULL as member_of WHERE 1=0

recipients

    SELECT dest as name FROM alias WHERE alias = ?
UNION
    SELECT mail as name 
    FROM emails 
    WHERE id = (SELECT id FROM emails WHERE type = 'list' AND mail = ?) 
        AND type = 'primary'
UNION
    SELECT mail as name FROM emails WHERE mail = ?

emails

SELECT mais as address 
FROM emails
WHERE
    (id = (SELECT id FROM emails WHERE mail = ?) AND type = 'alias')
    OR mail = ?
ORDER BY type, mail

verify

SELECT  mail as address 
FROM emails 
WHERE 
    mail LIKE '%' || ? || '%' 
    AND type = 'primary' 
ORDER BY address 
LIMIT 5

expand

SELECT recipient as address 
FROM list_recipients 
WHERE list = ? 
ORDER BY address 
LIMIT 50

domains

SELECT 1 FROM emails WHERE mail LIKE '%@' || ? LIMIT 1