mcpField
B
bitrix-mail

bitrix-mail

github.com/bxmaximumDevelopment4780 installsUpdated 2w ago
Repository

About bitrix-mail

A Bitrix mail-development skill for configuring templates, sending messages, and diagnosing delivery workflows. It guides developers on queued versus immediate sending, message data, and safe handling of user input.

Key features

  1. 01Create event-based mail templates
  2. 02Send queued or immediate messages
  3. 03Configure attachments and sender identity
  4. 04Test hooks and diagnose delivery

Use cases

  1. 01Send templated notifications through the queue
  2. 02Send immediately when the result is needed
  3. 03Validate user-provided email addresses

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/bxmaximum/bitrix-framework-skills --skill bitrix-mail

After installing, type/bitrix-mailin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

rules/
hooks-testing.md
sending.md
templates.md

Details

From the project README

Bitrix mail

Baseline: main 23.0+ · Verified: main 26.800.0

TaskRead
Event types, templates, #FIELD# macros, HTML escapingrules/templates.md
Send (queue or immediate), attachments, Mail::sendResult(), sender identity, SMTP choicerules/sending.md
Hooks, queue processing and cron, testing, delivery diagnosticsrules/hooks-testing.md

SMTP servers and the smtp section of .settings.php: bitrix-settings. Types and templates in migrations: bitrix-sprint-migration.

Invariants

  • Send through a mail event with an admin-editable template (Mail\Event::send()); build a raw message with Mail::sendResult() only when no template fits.
  • The queue (b_event) is the default; it is drained after hits or by cron. Use sendImmediate() only when the caller needs the outcome now.
  • C_FIELDS values: strings or arrays of strings. The queue stores objects as (string) via __toString(), or '' without it.
  • In HTML templates print user data as #HTML_FIELD#; #FIELD# is inserted raw.
  • Validate every address that comes from user input (check_email()) before it reaches a field used in EMAIL_TO, CC or headers.
  • A template must be bound to the site: create it with CEventMessage, not EventMessageTable::add().

Comments

Markdown supported