Skip to content
  1. Extras
  2. Sendex
  3. System settings

System settings ​

Component settings use namespace sendex and key prefix sendex_.

Where to change: Manage → System settings — filter by namespace sendex.

On package upgrade existing values are not overwritten (transport creates keys only on first install).

Settings from the package ​

KeyTypeDefaultDescription
sendex_export_fieldstextfieldemailCSV export columns, comma-separated: id, user_id, email, username, fullname, phone, mobilephone
sendex_hide_export_buttoncombo-booleanNoHide the export button in the manager
sendex_confirm_emailcombo-booleanYesGuests must confirm subscription by email
sendex_confirm_rate_limittextfield0Minimum interval (seconds) between confirmation emails per address; 0 = off
sendex_csrf_protectcombo-booleanNoCSRF token for POST subscribe/unsubscribe forms on the site

Email confirmation ​

With sendex_confirm_email = Yes the guest receives an activation email (chunk tpl.Sendex.activate). The link expires in 30 minutes (hardcoded in the snippet).

With sendex_confirm_email = No the email is saved immediately without confirmation. Typos and spam signups are harder to catch — enable only as a deliberate tradeoff.

CSRF ​

With sendex_csrf_protect = Yes forms get a hidden sendex_csrf field with a session token. Checked only for POST subscribe and unsubscribe.

Settings not in transport ​

The code reads these via getOption, but the package does not create them. Add manually if needed.

KeyCode defaultDescription
sendex_queue_limit100Max emails per cron run (core/components/sendex/cron/send.php)
sendex_core_path{core_path}components/sendex/Path to component core
sendex_assets_url{assets_url}components/sendex/Component assets URL

Sendex falls back to MODX system settings for mail headers:

  • emailsender — From when the newsletter has no email_from
  • site_name — sender name when email_from_name is empty

Snippet parameters vs system settings ​

Some snippet parameters override system settings per call:

Snippet parameterSystem setting
&confirmEmailsendex_confirm_email
&confirmRateLimitsendex_confirm_rate_limit
&csrfProtectsendex_csrf_protect

Override CSRF for a single form:

fenom
{'!Sendex' | snippet : ['id' => 1, 'csrfProtect' => 1]}
modx
[[!Sendex? &id=`1` &csrfProtect=`1`]]

See Sendex snippet.