SMTP notifications
JumpCLI currently uses its own account and product-notification flow. Welcome, password recovery, password-change, registration-review, account-status, and free test-plan notifications are sent by the JumpCLI product service. When Casdoor OIDC is integrated in the future, authentication codes and identity-provider verification mail will be managed by Casdoor; product notifications remain in JumpCLI.
Verified SMTP service
The production server has verified AWS SES Mail Manager SMTP: port 587, STARTTLS, authentication, and the NOOP command all pass. The sender envelope notify@send.jumcli.com is accepted by the service; the test delivered no email.
send.jumcli.com is a subdomain dedicated to sending mail and does not need an A record. Continue to maintain its sender identity, DKIM, and SPF/DMARC records at the mail provider.
Recommended address convention:
| Address | Purpose | External display |
|---|---|---|
notify@send.jumcli.com | System transactional notifications | Does not accept replies |
ops@send.jumcli.com | Operations alerts | Internal use only |
support@send.jumcli.com | Human support | Must receive and handle replies |
Notification-trigger policy
Mail must be delivered after a business event is placed on an asynchronous queue. Do not connect to SMTP synchronously during a registration, payment, or generation request. Record delivery failures with auditable status and retry them; notify operators after the retry limit is exceeded.
| Event | Recipient | Sent by default | Notes |
|---|---|---|---|
| Account registration succeeds | User | Yes | Welcome mail with the path for immediate account sign-in. |
| Registration approval or rejection | User | Yes | Provides the next step for sign-in or contacting support. |
| Password reset or change | User | Yes | Security-sensitive actions must be audited and notified to the account owner. |
| Account deactivation or reactivation | User | Yes | Notify the account owner asynchronously after an operational status change. |
| Free test-plan activation or cancellation | User | Yes | State clearly that no payment obligation is created. |
| Payment success, refund, or delayed activation | User, operator | Not integrated | Depends on future payment-server callbacks and fulfillment results. |
| Subscription renewal or low balance | User | Not integrated | Enable after formal plans and notification preferences are released. |
| Image-generation job failure | User | Not integrated | Enable after user notification preferences and deduplication are released. |
| Permanent mail failure, payment callback signature failure, or service exception | Operator | Not integrated | First integrate an operator alert channel; application logs alone are insufficient. |
Configuration
Prepare the following for each sender:
- SMTP host, port, and TLS mode.
- Sender name and address.
- Credential references readable only by the server.
- Reasonable connection and send timeouts.
- Operator-alert recipients and user notification preferences.
Pre-launch validation
- First perform SMTP authentication, TLS, and
NOOPchecks without writing credentials to logs. - After configuring the product-mail delivery module, send one real test email to a controlled mailbox.
- Check sender, subject, language, SPF/DKIM, spam classification, and delivery status.
- Simulate one temporary failure and one permanent failure, confirming retries and operator alerts fire correctly.
- Test Casdoor and JumpCLI separately; do not assume one configuration automatically covers the other.
Current status
JumpCLI asynchronously processes welcome mail, password resets, password changes, registration review outcomes, account deactivation/reactivation, and free test-plan activation/cancellation notifications through a persistent mail queue. Failures retry with backoff and retain permanent failure records after the limit. Payment, refunds, Casdoor authentication, balance warnings, and formal-plan notifications still depend on their respective production integrations and must not be claimed as automatically delivered before those integrations are complete.
Security principles
SMTP passwords must be stored in secret management or environment configuration, never in Markdown, frontend setting displays, ticket screenshots, or downloadable logs. For rotation, prepare a new reference, verify it, then revoke the old reference.