38929-vm/mail/config.php
2026-03-09 09:46:11 +00:00

46 lines
1.7 KiB
PHP

<?php
// Mail configuration sourced from settings and environment variables.
require_once __DIR__ . '/../includes/dotenv.php';
require_once __DIR__ . '/../db/config.php';
function env_val(string $key, $default = null) {
$v = getenv($key);
return ($v === false || $v === null || $v === '') ? $default : $v;
}
$transport = get_setting('mail_transport') ?: env_val('MAIL_TRANSPORT', 'smtp');
$smtp_host = get_setting('smtp_host') ?: env_val('SMTP_HOST');
$smtp_port = (int) (get_setting('smtp_port') ?: env_val('SMTP_PORT', 587));
$smtp_secure = get_setting('smtp_secure') ?: env_val('SMTP_SECURE', 'tls'); // tls | ssl | null
$smtp_user = get_setting('smtp_user') ?: env_val('SMTP_USER');
$smtp_pass = get_setting('smtp_pass') ?: env_val('SMTP_PASS');
$from_email = get_setting('mail_from') ?: env_val('MAIL_FROM', 'no-reply@localhost');
$from_name = get_setting('mail_from_name') ?: env_val('MAIL_FROM_NAME', 'App');
$reply_to = get_setting('mail_reply_to') ?: env_val('MAIL_REPLY_TO');
$dkim_domain = env_val('DKIM_DOMAIN');
$dkim_selector = env_val('DKIM_SELECTOR');
$dkim_private_key_path = env_val('DKIM_PRIVATE_KEY_PATH');
return [
'transport' => $transport,
// SMTP
'smtp_host' => $smtp_host,
'smtp_port' => $smtp_port,
'smtp_secure' => $smtp_secure,
'smtp_user' => $smtp_user,
'smtp_pass' => $smtp_pass,
// From / Reply-To
'from_email' => $from_email,
'from_name' => $from_name,
'reply_to' => $reply_to,
// DKIM (optional)
'dkim_domain' => $dkim_domain,
'dkim_selector' => $dkim_selector,
'dkim_private_key_path' => $dkim_private_key_path,
];