| --max-emails <max-emails> | number | The most emails kept; the oldest are deleted past it. 0 keeps every email (no limit).Example: 1000 |
| --max-sms <max-sms> | number | The most SMS kept (with verifications and push notifications); the oldest are deleted past it. 0 keeps every SMS (no limit).Example: 1000 |
| --max-age-days <max-age-days> | number | Null keeps traffic until the count limits prune it.Example: 7 |
| --plus-address-tagging-enabled | boolean | Tags [email protected] with invoice. --no-plus-address-tagging-enabled sets it to false. |
| --email-outcome-profile <email-outcome-profile> | string | off sends no delivery events, auto-delivered marks every email delivered after a short delay, realistic adds bounces and complaints at the rates below.One of: off, auto-delivered, realisticExample: off
|
| --email-outcome-bounce-rate-percent <email-outcome-bounce-rate-percent> | number | Used by the realistic outcome profile.Example: 5 |
| --email-outcome-complaint-rate-percent <email-outcome-complaint-rate-percent> | number | Complaints in the realistic outcome profile, 0 to 100.Example: 1 |
| --relay-smtp-url <relay-smtp-url> | string | Relay for release and auto-forward; the password is always masked.Example: smtp://user:[email protected]:587 |
| --relay-recipient-allowlist <relay-recipient-allowlist> | string[] (repeat for more) | Glob patterns; release stays off while this is empty.Example: ["*@yourcompany.com"] |
| --spamassassin-address <spamassassin-address> | string | host:port of a SpamAssassin spamd; null turns the spam check off.Example: 127.0.0.1:783
|
| --sms-simulation-profile <sms-simulation-profile> | string | instant delivers at once, realistic goes queued, sent, then delivered over a few seconds, manual stays sent until you pick a status.One of: instant, realistic, manualExample: instant
|
| --sms-failure-rate-percent <sms-failure-rate-percent> | number | The share of SMS that fail at random, 0 to 100.Example: 0 |
| --strict-twilio-test-mode | boolean | Rejects numbers that are not Twilio test numbers with error 21606, like real test credentials. --no-strict-twilio-test-mode sets it to false. |
| --magic-numbers-enabled | boolean | Off: the built-in Twilio and SendMock numbers behave like any number. --no-magic-numbers-enabled sets it to false. |
| --magic-addresses-enabled | boolean | Off: the built-in magic addresses behave like any address. --no-magic-addresses-enabled sets it to false. |
| --fire-opened-events-on-view | boolean | Fires email.opened and sms.opened when you open a message in the UI. --no-fire-opened-events-on-view sets it to false. |
| --opened-event-mode <opened-event-mode> | string | first_open fires on the first view only, every_open on each view.One of: first_open, every_openExample: first_open
|
| --chaos-smtp-reject-next-count <chaos-smtp-reject-next-count> | number | Rejects the next N SMTP messages, to test your app's retries.Example: 0 |
| --chaos-smtp-reject-code <chaos-smtp-reject-code> | number | The SMTP code used for rejected messages: 421, 450, 550 or 552.One of: 421, 450, 550, 552Example: 450 |
| --chaos-smtp-reject-recipient-pattern <chaos-smtp-reject-recipient-pattern> | string | Glob; matching recipients get 550 No such user.Example: *@unknown.test |
| --chaos-smtp-command-latency-ms <chaos-smtp-command-latency-ms> | number | Delay added to every SMTP command, in milliseconds.Example: 0 |
| --chaos-smtp-drop-during-data-enabled | boolean | Drops the connection during DATA, to test half-sent messages. --no-chaos-smtp-drop-during-data-enabled sets it to false. |
| --otp-pattern <otp-pattern> | string[] (repeat for more) | Ordered; the first capture group of the first match is the code.Example: ["code[:\\s]+(\\d{4,8})"] |
| --update-check-mode <update-check-mode> | string | When SendMock looks for a newer release: off never calls out, manual only on request, daily on start and once a day.One of: off, manual, dailyExample: off |
| --inbound-email-domain <inbound-email-domain> | string[] (repeat for more) | Mail for these domains is incoming; offered as Forward suggestions.Example: ["reply.app.test"] |
| --payment-merchant-name <payment-merchant-name> | string | Shown on checkout pages and as {merchant} in step labels.Example: Demo Shop |
| --payment-default-currency <payment-default-currency> | string | For hosted checkouts created without a currency.Example: USD |
| --payment-outcome-profile <payment-outcome-profile> | string | What a new hosted checkout does: interactive waits for the page, auto_success and auto_decline settle at once, random succeeds at the rate below.One of: interactive, auto_success, auto_decline, randomExample: interactive |
| --payment-random-success-rate-percent <payment-random-success-rate-percent> | number | Used by the random outcome profile.Example: 80 |
| --verify-default-code-length <verify-default-code-length> | number | Digits in each code of a Verify service made without its own code length, 4 to 10.Example: 6 |
| --verify-default-ttl-seconds <verify-default-ttl-seconds> | number | How long a code stays valid, in seconds, for a Verify service made without its own TTL.Example: 600 |
| --verify-fixed-code <verify-fixed-code> | string | Sent by every Verify service without its own fixed code; null for random codes.Example: 123456 |