Skip to main content

Distribution Lists

Distribution Lists manage email distribution groups for the department. The module is managed by the DistributionListsController.

Distribution List Management

Authorization: Department_Update policy

Viewing Lists

Displays all distribution lists for the department.

Creating Lists

FieldRequiredDescription
NameYesList display name
Email AddressYesMust be unique across all lists
TypeAutoSet to Internal
PortDefaultDefault: 110
SSLDefaultDefault: Off
MembersNoComma-separated user IDs

Email Uniqueness

The system validates that the email address is not already used by another distribution list via GetDistributionListByAddressAsync.

Editing Lists

Supports:

  • Updating list properties
  • Diff-based member management (add new members, remove departed ones)
  • External mail settings are nullified on edit (forced to Internal type)
  • Hostname validation for External types uses StringHelpers.IsValidDomainName

Deleting Lists

Validates department ownership before deletion.

Enable/Disable Lists

Toggle a list's active state via SetListStatus:

  • Set IsDisabled = true to disable
  • Set IsDisabled = false to enable

Validation Endpoints

EndpointPurpose
ValidateAddressCheck if an email address is already in use by another list
GetMembersForListGet member user IDs for a list

Interactions with Other Modules

ModuleInteraction
PersonnelMembers are department personnel
DepartmentLists are department-scoped