| max_emails | number | The most emails kept; the oldest are deleted past it. 0 keeps every email (no limit).Example: 1000 |
| 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 | number | Null keeps traffic until the count limits prune it.Example: 7 |
| is_plus_address_tagging_enabled | boolean | |
| 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 | number | Used by the realistic outcome profile.Example: 5 |
| email_outcome_complaint_rate_percent | number | Complaints in the realistic outcome profile, 0 to 100.Example: 1 |
| relay_smtp_url | string | Relay for release and auto-forward; the password is always masked.Example: smtp://user:[email protected]:587 |
| relay_recipient_allowlist | string[] | Glob patterns; release stays off while this is empty.Example: ["*@yourcompany.com"] |
| spamassassin_address | string | host:port of a SpamAssassin spamd; null turns the spam check off.Example: 127.0.0.1:783
|
| 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 | number | The share of SMS that fail at random, 0 to 100.Example: 0 |
| is_strict_twilio_test_mode | boolean | Rejects numbers that are not Twilio test numbers with error 21606, like real test credentials.Example: false |
| is_magic_numbers_enabled | boolean | Off: the built-in Twilio and SendMock numbers behave like any number.Example: true |
| is_magic_addresses_enabled | boolean | Off: the built-in magic addresses behave like any address.Example: true |
| fire_opened_events_on_view | boolean | Fires email.opened and sms.opened when you open a message in the UI.Example: true |
| 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 | number | Rejects the next N SMTP messages, to test your app's retries.Example: 0 |
| 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 | string | Glob; matching recipients get 550 No such user.Example: *@unknown.test |
| chaos_smtp_command_latency_ms | number | Delay added to every SMTP command, in milliseconds.Example: 0 |
| is_chaos_smtp_drop_during_data_enabled | boolean | Drops the connection during DATA, to test half-sent messages.Example: false |
| otp_patterns | string[] | Ordered; the first capture group of the first match is the code.Example: ["code[:\\s]+(\\d{4,8})"] |
| 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_domains | string[] | Mail for these domains is incoming; offered as Forward suggestions.Example: ["reply.app.test"] |
| payment_merchant_name | string | Shown on checkout pages and as {merchant} in step labels.Example: Demo Shop |
| payment_default_currency | string | For hosted checkouts created without a currency.Example: USD |
| 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 | number | Used by the random outcome profile.Example: 80 |
| 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 | number | How long a code stays valid, in seconds, for a Verify service made without its own TTL.Example: 600 |
| verify_fixed_code | string | Sent by every Verify service without its own fixed code; null for random codes.Example: 123456 |