#!/usr/bin/env bash set -euo pipefail project_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd -P) test_dir=$(mktemp -d) trap 'rm -rf "$test_dir"' EXIT sendmail_args="$test_dir/sendmail.args" sendmail_message="$test_dir/sendmail.message" fake_sendmail="$test_dir/sendmail" prepend_file="$test_dir/prepend.php" cat > "$fake_sendmail" <<'FAKE_SENDMAIL' #!/usr/bin/env bash printf '%s\n' "$@" > "$MAIL_TEST_ARGS" cat > "$MAIL_TEST_MESSAGE" FAKE_SENDMAIL chmod +x "$fake_sendmail" cat > "$prepend_file" <<'PHP' /dev/null if ! grep -Fxq -- '-fno-reply@dixon.cx' "$sendmail_args"; then echo 'Expected the envelope sender to be no-reply@dixon.cx.' >&2 echo 'Actual sendmail arguments:' >&2 sed 's/^/ /' "$sendmail_args" >&2 exit 1 fi if ! grep -Fq $'From: Webhook Call \r' "$sendmail_message"; then echo 'Expected the From header to be Webhook Call .' >&2 exit 1 fi echo 'Mail sender test passed.'