mirror of
git://f0xx.org/ac/ac-deploy
synced 2026-07-29 02:18:40 +03:00
Mirror alpine-be msmtp for CLI; compose uses Gmail SMTP for php-fpm. Safe secrets.lab.env parser; deploy-mailrelay, install-lab-cron, verify-mail-lab. Co-authored-by: Cursor <cursoragent@cursor.com>
33 lines
1.0 KiB
Bash
Executable File
33 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
# Lab SMTP smoke — requires secrets.lab.env SMTP_* or local relay on cast01.
|
|
set -eu
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
# shellcheck source=/dev/null
|
|
. "$ROOT/scripts/lib/common.sh"
|
|
load_cluster_env
|
|
load_secrets_lab
|
|
|
|
TO="${1:-}"
|
|
[ -n "$TO" ] || die "usage: verify-mail-lab.sh recipient@example.com"
|
|
|
|
COMPOSED="${COMPOSE_BACKEND:-/var/www/ac/composed/backend}"
|
|
[ -f "${COMPOSED}/config/config.php" ] || die "missing composed backend — run compose-lab-backend.sh"
|
|
|
|
export MAIL_TEST_TO="$TO"
|
|
PHP="${PHP_BIN:-php83}"
|
|
command -v "$PHP" >/dev/null 2>&1 || PHP=php
|
|
_out="$("$PHP" -r '
|
|
require "'"${COMPOSED}"'/src/bootstrap.php";
|
|
$to = getenv("MAIL_TEST_TO") ?: "";
|
|
$origin = rtrim((string) cfg("public_origin", "https://acl0.f0xx.org"), "/");
|
|
$base = rtrim((string) cfg("base_path", ""), "/");
|
|
$ok = AuthMailer::sendVerifyEmail($to, $origin . $base . "/verify-email?token=lab-smoke");
|
|
echo $ok ? "mail_ok" : "mail_fail";
|
|
' 2>&1)" || _out="mail_fail"
|
|
|
|
log "$_out to=$TO"
|
|
case "$_out" in
|
|
mail_ok) exit 0 ;;
|
|
*) exit 1 ;;
|
|
esac
|