AtlatestRepositorysigil-ses

sigil-ses / tree / examplessuppression-test.sgl

1;;; Test suppression list operations against live SES
2;;; Run: source ~/Ops/.env-ses && SIGIL_REDIRECTS=dev-redirects.sgl sigil eval -f examples/suppression-test.sgl
3
4(import (sigil core)
5 (only (sigil process) getenv)
6 (amazon ses))
7
8(define client
9 (ses-client access-key-id: (getenv "AWS_ACCESS_KEY_ID")
10 secret-access-key: (getenv "AWS_SECRET_ACCESS_KEY")
11 region: (or (getenv "AWS_REGION") "us-east-2")))
13;; Test 1: List suppressed addresses
14(display "=== List Suppressed ===\n")
15(let ((addrs (ses-list-suppressed client)))
16 (display "Count: ") (display (length addrs)) (newline)
17 (for-each (lambda (a)
18 (display " ") (display (ses-suppressed-address-email a))
19 (display " (") (display (ses-suppressed-address-reason a))
20 (display ")\n"))
21 addrs))
23;; Test 2: Add to suppression list
24(display "\n=== Add to Suppression ===\n")
25(ses-put-suppressed client "[email protected]" "BOUNCE")
26(display "Added [email protected]\n")
28;; Test 3: Get specific suppressed address
29(display "\n=== Get Suppressed ===\n")
30(let ((addr (ses-get-suppressed client "[email protected]")))
31 (display "Email: ") (display (ses-suppressed-address-email addr)) (newline)
32 (display "Reason: ") (display (ses-suppressed-address-reason addr)) (newline))
34;; Test 4: Delete from suppression list
35(display "\n=== Delete from Suppression ===\n")
36(ses-delete-suppressed client "[email protected]")
37(display "Deleted [email protected]\n")
39(display "\nDone!\n")