What CAN-SPAM requires from a self-hosted newsletter
If you run your own newsletter or campaign platform and send commercial email to recipients in the United States, CAN-SPAM obliges you to meet a fixed set of duties on every email you send, whatever software sends it. Self-hosting does not change the obligations. It only moves responsibility for keeping them working onto your team. The core duties are to honor an opt-out request within 10 business days, keep the opt-out mechanism working for at least 30 days after the message is sent, include a valid physical postal address, and use accurate From, To, Reply-To and routing information. Each separate email that violates the Act can cost up to $53,088 in penalties, the amount the FTC inflation-adjusted in January 2024, so a single misconfigured campaign template can multiply exposure quickly across a large list.
Each duty maps to a platform setting or an operating decision. Opt-out handling depends on the unsubscribe link in your templates, the list status that link writes to, and the process that removes suppressed addresses from every list and segment before the next send. The postal address belongs in the footer of the template or campaign configuration, and the From name, sending domain and Reply-To address must match a mailbox your organization actually monitors. Ask your team to confirm who owns each of these settings, and to test an opt-out end to end on a staging list before go-live. Your implementation partner should document where these settings live in your installation so that a template change cannot silently remove a required element.
DeployOpen configures and documents the platform, tests the opt-out and header behavior, and prepares the records that show how the controls work. It does not issue compliance certifications or legal opinions. Confirm the exact requirements with counsel or the FTC CAN-SPAM compliance guide, because the Act treats purely transactional messages differently from commercial ones, and mixed messages count as commercial when the subject line or content placement points that way. Decide early which messages go through which stream, since that choice determines which duties apply to each email.
Mapping each CAN-SPAM duty to platform configuration
This table pairs each CAN-SPAM duty for commercial email with what the function must do, how to set it up in listmonk and Mautic, and what to confirm with your sending service. Read each row as a control to verify in your own installed version, since option names and defaults change between releases. The main takeaway is that the platform handles list and template mechanics, but the postal address, sender identity and sending-service behavior still need explicit checks before a campaign goes out.
| Requirement | What the function must do | How to configure in listmonk and Mautic | What the operator must confirm with the sending service |
|---|---|---|---|
| Opt-out honored within 10 business days | Process each unsubscribe request and stop mailing that address within 10 business days of receipt, including requests sent through any reasonable channel. | listmonk: confirm the unsubscribe link in templates and that unsubscribes update list status immediately; check the processing queue after each send. Mautic: confirm the unsubscribe handling in contact preferences and that suppressed contacts are excluded from segments and campaigns. Verify exact option names in your installed version. | Whether the sending service applies its own suppression list and whether it syncs suppressions back to the platform in time. |
| Opt-out mechanism working for 30 days after sending | Keep the unsubscribe mechanism functional for at least 30 days after each commercial message is sent. | Keep the unsubscribe endpoint, public subscription pages and the sending domain live with monitored uptime. Retire old campaign domains only after the 30-day window closes. Document the retention decision. | Whether the sending service keeps unsubscribe links and feedback endpoints active, and what happens to suppression data if the contract ends. |
| Valid physical postal address in the message | Include a current, valid physical postal address in every commercial email, typically in the footer, that recipients can use to reach the sender. | listmonk: place the address in the global or list-level template footer and confirm it appears in test sends. Mautic: place it in the email footer block or shared template so every campaign inherits it. Verify where your version reads the footer setting. | Whether the sending service adds its own address or footer, which could conflict with yours, and who maintains the address record. |
| Accurate From, To, Reply-To and routing information | Use sender names, addresses and domains that accurately identify the sender, and avoid false or misleading routing information in headers and the From line. | listmonk: set the From name and address per campaign and confirm the Reply-To and bounce addresses. Mautic: set sender identity in email settings and confirm the reply-to and return-path values. Check that the sending domain matches the organization. | Whether the sending service rewrites From or envelope headers, which domains it signs with, and whether it adds tracking domains that must match your identity. |
| Transactional versus commercial classification | Decide whether each message is commercial or transactional or relationship. Mixed content counts as commercial if the subject line or content placement promotes a product or service. | listmonk: keep newsletters and campaigns on list-based sends and send receipts or alerts through the transactional API with separate templates. Mautic: separate transactional from marketing emails in campaign design and template use. Review subject lines and promotional blocks in transactional templates. | Whether the sending service keeps transactional and marketing streams separate, and which stream each template is assigned to in the contract and dashboard. |
How transactional messages differ under CAN-SPAM
The core point is that a message's purpose and content decide which rules apply, not the software that sends it. The FTC's position, set out in its CAN-SPAM Act compliance guide for business, is that purely transactional or relationship messages are exempt from most CAN-SPAM provisions, such as the opt-out and physical address requirements. They still may not contain false or misleading routing information, so the From, Reply-To and header details must be accurate. A mixed message is treated as commercial when its subject line or the placement of its content points that way. That is the trap for product teams: a legitimate account notice can become a commercial email once a promotional block is added. Illustrative example: a product update notice confirming a billing change, with a large promotional banner for an add-on sitting above the account details. Because the banner is prominent and the subject line leads with the offer, a reviewer could reasonably class the whole message as commercial, which brings the opt-out and address obligations with it. Before sending, confirm with counsel where your organization draws that line and document the decision. Keep the rule simple: if the message would need to exist without the promotion, it stays transactional, and the promotion goes into a separate commercial send. In listmonk, separate the streams structurally. The transactional mail API sends pre-defined templates on demand, so account and system messages come from their own templates rather than from a campaign. Keep marketing campaigns, subscriber lists and commercial templates apart from transactional templates, and restrict who can edit each set using listmonk's roles and API tokens. Confirm with your implementation partner how the sending identity and reply addresses differ between the two streams and test the headers of each template before go-live.
Choosing listmonk or Mautic for compliant sending
listmonk is a self-hosted, one-way mailing list and newsletter manager distributed as a standalone binary, with PostgreSQL as its only dependency. Its latest published version supplied for this page is v6.2.0, released June 26, 2026. Its compliance-relevant features sit close to the sending path, which makes its settings easy to review.
- License: listmonk is licensed under AGPL v3. Confirm with your legal team what that copyleft obligation means if you modify the code or offer it as a service to others.
- List types: Lists can be single opt-in or double opt-in, so you can record consent differently for each audience.
- SQL segmentation: Administrators can query and segment subscribers with SQL expressions, which helps you exclude suppressed or opted-out contacts from campaigns.
- Templates with a required footer: Campaign templates use Go templating and can include the unsubscribe link and postal address in the footer. Test that the footer appears in every template before a campaign goes out.
- Transactional API: A transactional mail API sends pre-defined templates, so keep those messages separate from marketing lists and confirm which exemptions apply to each.
Before launch, check that the unsubscribe link, postal address and From details appear in every template, and test the opt-out path end to end.
Mautic is open source marketing automation software written in PHP on the Symfony framework, licensed under GPL-3.0. Its latest published version supplied for this page is 7.2.1, published September 23, 2026. It bundles contact management, campaigns and segment logic, so compliance depends on how several components run together.
- Hosting requirement: The Mautic project states it should not be installed on shared hosting and recommends a VPS or dedicated server. Plan for a server you control and can monitor.
- Stack: Mautic 7.0 requires PHP 8.2 to 8.5, MySQL 5.7 or higher with InnoDB or MariaDB 10.2 or higher, and a supported web server such as Apache, Nginx or IIS. Confirm the stack against the version you deploy.
- Scheduled jobs: Segment updates, campaign updates and campaign triggers run on cron jobs, which the documentation says should be staggered. A delayed job can mean a contact remains in a campaign after opting out.
- Messenger consumer: Queued emails need a messenger consumer running continuously. If it stops, opt-outs and sends may not be processed on time, so monitor it and alert on failure.
- Support path: Mautic has no paid edition of the software itself, so budget for hosting, your team's operations time and any external support you contract.
Before launch, confirm that cron and the messenger consumer run as managed services, and test that an opt-out takes effect within your required window.
Both platforms can meet CAN-SPAM obligations, but they demand different operating discipline. listmonk concentrates compliance in list design, templates and a single background sender, while Mautic spreads it across scheduled jobs and queue workers that must stay healthy. The right choice depends on whether your team needs a newsletter tool or a full campaign and lifecycle platform.
- Scope of need: If you mainly send newsletters and campaigns, a focused sender is simpler to audit. If you need segmented journeys and automation, Mautic covers more ground.
- Operating burden: listmonk needs PostgreSQL and the binary. Mautic needs a PHP stack, scheduled jobs and a consumer process.
- Opt-out reliability: In both platforms, test opt-out timing under real sending conditions, not only in a test environment.
- Records: Keep sent-message logs, consent records and suppression lists under your retention rules, whichever platform you choose.
- Vendor evidence: Ask any implementation partner to show how each platform's settings map to your sending policy.
Before deciding, document your sending volume, list types and team skills, then compare both options against the same checklist.
Platforms that fit a CAN-SPAM program
CAN-SPAM does not name a platform, so compliance is split between the list manager, the campaign tool, the sending service and the people who hold admin access. Each card below covers one of those pieces and what it leaves to your team.
listmonk for lean one-way newsletters
listmonk is a one-way newsletter manager with list types, single and double opt-in, and per-list settings that shape how subscribers join and leave. It supports templates with an address footer, so the physical postal address and unsubscribe link can be fixed in every campaign. The operator must still set the sender identity, confirm the unsubscribe link works for at least 30 days after the last send, and check the 10 business day deadline for honoring opt-outs. Confirm how your version handles suppression across lists before you send.
Mautic for segmented campaign logic
Mautic adds contact segments, campaign workflows and triggers, which make it easier to send different messages to different audiences. Those rules raise the compliance stakes: a campaign triggered by behavior still needs a working opt-out, a valid address and accurate headers. Its cron jobs and broadcast command must run on schedule, or segment updates and suppressions can lag behind what subscribers asked for. Ask who owns the cron schedule and how a stale segment is detected.
A dedicated sending service
The application server should not send newsletters directly from a general-purpose host. A dedicated SMTP relay or sending service carries the message, handles bounces and gives you logs for proving delivery. CAN-SPAM requires accurate From, Reply-To and routing information, so the sending domain and the envelope must match the sender named in the message. Confirm the provider's bounce and complaint feedback, its log retention and whether it applies its own footer or suppression rules that could conflict with yours.
Admin roles and API tokens
Who can create a campaign, edit a template or trigger a send is a compliance control, not only an access setting. listmonk offers granular roles, permissions and API tokens, and its transactional API can send from pre-defined templates. Restrict send rights to a named group, rotate API tokens that hold send permissions, and record who approved each campaign. Confirm how your version logs administrative changes, because that record is often what an investigator or auditor asks for first.
Configuring opt-out processing and sender identity
This sequence sets up the sender identity, footer address, unsubscribe mechanism and opt-out workflow so that every commercial send from your self-hosted newsletter platform carries accurate routing and a working way to stop receiving email. The result is a configuration you can test before the first campaign and monitor after it goes out.
Set accurate sender identity and routing
Your platform administrator configures the sender name, From address, Reply-To address and the sending domain in the platform's SMTP or sending service settings. The From and Reply-To addresses must be monitored mailboxes that belong to your organization, and the routing information must match the domain that actually sends the message. Confirm the result by sending a test message to an external mailbox and checking the headers for the expected sender and domain.
Add the physical postal address to templates
Add a valid physical postal address to the footer of the shared commercial template, and make sure no campaign can be saved or sent without it. In listmonk this is typically handled in the template and global settings, and in Mautic in the email template and theme. Your compliance lead should confirm the address is a deliverable postal address for the sending organization. Done means a rendered test email shows the address in the footer on desktop and mobile previews.
Configure a working unsubscribe link
Insert the platform's unsubscribe tag into the footer so that each recipient receives a personal link, and set the unsubscribe confirmation page and any preference options your team has approved. Decide whether unsubscribing removes the address from all lists or only the list used for the campaign, and document that decision. Confirm it works by sending a test campaign to an internal address, opening the link, completing the opt-out and checking that the subscriber status changes.
Test the opt-out after every send
Add a standing check to the send procedure so that someone who is not the campaign author clicks the unsubscribe link in a live message after each campaign goes out. The check should cover the link itself, the confirmation page and the subscriber record afterward. Record the date, campaign name and tester in a simple log. The log is the evidence that the mechanism remained functional for the period required after sending.
Define the opt-out processing workflow
Write a short procedure stating who receives opt-out requests that arrive by reply, by a mailbox listed in the email, or through customer support, and how each request is recorded against the subscriber. Requests must be honored within 10 business days, so the procedure should name an owner, a queue and an escalation contact. Where the platform supports it, automate the removal of subscribers who use the unsubscribe link and route manual requests into the same suppression list, then confirm the owner can show the request date and the date it was actioned.
Verify bounce and suppression handling
Confirm that hard bounces and suppressed addresses are excluded from future sends and that a subscriber who has opted out cannot be re-added by an import, a form or a sync from another system. Ask the implementation partner or internal engineer to demonstrate a re-import of an opted-out address and to show that it stays suppressed. Keep the suppression list in your own infrastructure and include it in backups, so opt-outs survive restores and migrations.
Review the configuration with compliance
Walk through the sender settings, template footer, unsubscribe test log and suppression demonstration with the compliance or legal owner before the first live commercial campaign. Ask them to confirm that the configuration matches your organization's approved commercial email policy. The sequence is complete when that sign-off is recorded and the opt-out procedure has been shared with everyone authorized to send.
Evidence auditors and the FTC ask to see
This table lists the records a reviewer is likely to request for a self-hosted newsletter program, what each one shows, and which part of the platform produces it. Read it as a checklist to set up before the first send, since many of these records cannot be recreated later. These records support a review, but they do not constitute a certification or an attestation of CAN-SPAM compliance.
| Evidence item | What it proves | Which component produces it |
|---|---|---|
| Written opt-out procedure | How your team honors opt-out requests within 10 business days and who is responsible for doing so | Your internal policy document, with listmonk or Mautic unsubscribe settings referenced as the operating step |
| Suppression list export | Which addresses are excluded from future commercial sends and when they were suppressed | Subscriber status export from listmonk or the contact and do-not-contact records in Mautic |
| Timestamped unsubscribe log | Each opt-out request, the date it was processed and the list it applied to | Subscriber status history and database audit tables in the sending platform, retained in your own PostgreSQL or MySQL instance |
| Template archive per campaign | The postal address, From name, From address and Reply-To shown in each sent email | Version-controlled template store or campaign snapshot, kept alongside the send record for each campaign |
| Send logs | Which campaign went to which segment, when, through which SMTP route and with what delivery result | Campaign analytics and bounce records in listmonk or Mautic, plus SMTP server logs from your relay |
| Role and access logs | Who could create, edit, approve or send campaigns and whether access changed over time | Admin user records, role assignments and API token activity, plus SSO provider logs if OIDC is used |
| Change records for template and list settings | When footer, address, list membership or unsubscribe settings were altered and by whom | Change tickets, Git history for templates and configuration, and platform audit entries for list and setting edits |
| Confirm before relying on this | Whether each record is retained long enough and can be exported without vendor help | Your retention schedule and a test export run by your team, checked against your records policy and counsel's advice |
CAN-SPAM questions buyers ask before hiring help
How much can a CAN-SPAM violation cost per email?
Each separate email that violates CAN-SPAM can cost up to $53,088 in penalties, a figure the FTC inflation-adjusted in January 2024. Because the penalty applies per message, a single misconfigured template or a list that keeps receiving mail after opt-outs can multiply exposure quickly across a campaign. The FTC enforces the Act, so the practical question for your team is how quickly a defect can be found and stopped. Ask counsel to confirm how the penalty applies to your sending pattern, and check the current figure in the FTC compliance guide before you rely on it.
How long do I have to process an opt-out request?
Under CAN-SPAM, you must honor an opt-out request within 10 business days. The opt-out mechanism must also keep working for at least 30 days after you send the message. In a self-hosted setup, this means the unsubscribe link has to update the subscriber status in listmonk or Mautic, and the suppression has to survive list imports, segment updates and any sync back to other systems. Confirm with your team how suppression is applied across every list and sending stream, not just the one used for the campaign.
Is the sending service or my own platform responsible for compliance?
The business that initiates the message is generally responsible for CAN-SPAM compliance, even when a third-party sending service delivers it. Your platform, such as listmonk or Mautic, controls the content, lists, headers and unsubscribe behavior, while the sending service controls delivery infrastructure and may add its own terms. Responsibility should be written down in a contract or runbook that names who maintains the suppression data, who reviews templates and who responds to complaints. Confirm the allocation with counsel rather than relying on vendor documentation alone.
How much effort does a self-hosted CAN-SPAM setup need?
The effort depends on how many lists, templates and sending streams you run, and on whether opt-outs, bounces and transactional messages all flow through one system. The main work falls into four areas: configuring the physical postal address and sender identity in templates, wiring the unsubscribe and suppression logic, separating transactional from commercial messages, and documenting the settings for audit. Costs are mostly one-time for configuration and recurring for template review and monitoring. Ask any provider to break the quote into these components and to state which items are included in the fixed scope.
Can our internal team set up CAN-SPAM compliance alone?
Many internal teams can configure a basic newsletter correctly if they have an engineer who knows the platform, a marketer who understands the rules and a clear owner for suppression data. The work becomes harder when several departments send mail, when you use custom integrations or when you need evidence that controls operated over time. Check whether your team can run a test campaign, confirm that an opt-out is applied within your timeline, and show where headers and addresses are set. If any of those steps are uncertain, a configuration review is a practical way to close the gaps.
What does a fixed-scope CAN-SPAM configuration review cover?
A fixed-scope review is agreed in writing before work starts and typically covers the platform settings and sending paths in scope. For listmonk or Mautic, that can include the sender and reply-to details, the postal address in templates, the unsubscribe and preference pages, suppression behavior, how transactional templates are separated, and the logs or reports kept for review. The deliverables should list each item, the systems it touches and the evidence delivered. DeployOpen plans, implements, documents and supports self-hosted platforms in the client's own infrastructure, and it does not issue audit reports or certifications. Ask for the written scope and check that it names exactly which lists and templates are covered.
Does DeployOpen provide legal advice on CAN-SPAM?
No. DeployOpen does not provide legal advice, and it does not issue legal opinions or compliance certifications. Its work covers the technical setup of self-hosted platforms, the documentation of configured controls and the preparation of evidence that counsel or an independent assessor can review. Whether a specific message, offer or sending practice meets CAN-SPAM requirements is a legal question. Ask your legal counsel to confirm the requirements that apply to your organization, and share their written guidance with the implementation team before the configuration is finalized.
What tooling alone does not satisfy
Installing listmonk or Mautic gives you the sending mechanics, but CAN-SPAM compliance depends on what is written, which addresses appear, how quickly opt-outs are applied and which lists are mailed. The cards below cover the gaps that no platform setting closes on its own, and the points to confirm with counsel before the first campaign.
Content claims need human approval
The platform renders whatever template and copy you load, but it cannot judge whether a subject line or body is misleading. The FTC treats a message as commercial when its subject line or content placement points that way, so mixed messages need review. Set a written approval step for subject lines, offers and footers, and confirm with counsel how transactional content that carries promotional material should be classified.
Postal address depends on your records
CAN-SPAM requires a valid physical postal address in commercial email. listmonk and Mautic can insert a footer, but they cannot confirm that the address is current, registered to the right entity or accepted by your legal team. For a multi-brand or multi-department sender, each sending domain and list may need its own correct address. Confirm the address source of record and who updates it when offices move.
Opt-out timing depends on operations
Senders must honor an opt-out within 10 business days and keep the mechanism working for at least 30 days after the send. A cron job or queue that stalls can delay suppression, and a campaign sent during a backlog can reach people who already opted out. Monitor scheduled jobs, check that unsubscribe events reach the suppression list, and test the flow after every upgrade. Use the 30-day window as a minimum when setting retention for opt-out links.
Purchased lists need separate review
CAN-SPAM does not require prior consent for commercial email, but it does prohibit harvested addresses and misleading sending practices, and it applies the same rules to every list you mail. Imported or partner-sourced lists can carry unclear origins and no suppression history. Before importing, record where each list came from, remove addresses already suppressed under other lists, and confirm with counsel whether any source creates additional obligations in your jurisdiction.
Sending service terms still apply
When listmonk or Mautic hands mail to an SMTP relay or a managed sending provider, that provider's acceptable use policy, complaint thresholds and suspension rights apply to you as well. A provider may suspend a domain for complaints even when your opt-out handling is compliant. Review the provider's terms, confirm which opt-out and header features it passes through, and ask who is responsible for suppression data if the service keeps its own list.
What to confirm with counsel and your sending service
The first decision belongs to your counsel, not your platform: whether CAN-SPAM applies to your specific sending pattern. The Act covers commercial messages, and the FTC notes that a message mixing commercial and transactional content counts as commercial when the subject line or content placement points that way. Listmonk and Mautic will send whatever you configure, so the line between a newsletter, a product update and a relationship message has to be drawn in writing before the first campaign. Ask counsel to review your typical templates, including footers, sponsor blocks and cross-promotions, and to confirm how each category is treated. Read the source text in the FTC CAN-SPAM compliance guide before that conversation so the questions are specific.
Consent and list sourcing are also outside what software can judge. CAN-SPAM is an opt-out regime, but purchased, scraped or rented lists, and subscribers collected at events or through partners, can create exposure that the platform's single or double opt-in settings do not resolve. Confirm with counsel which list sources you may use, how you document where each address came from, and whether any other law applies to your audience. Retention of opt-out records is a related decision: the 10 business day window and the 30 day mechanism requirement are only defensible if you keep a suppression record that survives list exports, database restores and migrations. Decide who owns that suppression data and how long it is kept.
Finally, check your sending service's acceptable use terms. A self-hosted platform does not remove the provider's rules, and a provider may suspend an account for complaint levels, list sourcing or content that breaches its policy even when the message is lawful. Ask the provider which opt-out and unsubscribe handling it expects, whether it processes complaints or suppression lists on your behalf, and what it needs from you if a regulator or mailbox provider contacts it. Put the answers in the implementation scope so that the partner configures suppression, bounce and complaint handling to match, and so that your counsel signs off on the final setup.
What the implementation work needs from your team
Who should own opt-out handling for our newsletters?
A named business owner should own opt-out handling, with an engineering owner who can prove the mechanism works. CAN-SPAM requires a sender to honor an opt-out request within 10 business days, and the mechanism must keep working for at least 30 days after each send. The business owner decides how suppression requests are routed from support inboxes, forms and replies into the list. The engineering owner confirms that unsubscribes update the subscriber status in listmonk or Mautic, that suppressed addresses are excluded from every later campaign, and that the suppression survives list imports and restores. Without both names agreed in writing, the workflow tends to break at the handoff between support and the sending platform.
What access do we need to list and template settings?
The implementation team needs administrator access to the platform configuration, subscriber lists, template editor and sending settings, and your team must keep at least one administrator who can approve changes. Effort rises when list settings are spread across many people or when templates are copied between campaigns without review. Expect to provide access to the instance itself (typically through your own cloud or data center accounts), the database role used by the application, and the SMTP or sending service credentials. Ask whether role-based permissions and API tokens will be configured so that marketing staff can send without being able to change footer or address settings.
What sending domain and identity do we have to provide?
You need to provide the sending domain, the From and Reply-To addresses, a valid physical postal address for the footer, and control of DNS for that domain. CAN-SPAM requires accurate From, To, Reply-To and routing information, so the sender identity must be consistent across every campaign and transactional message. Effort increases when several departments send from different names, when the postal address is not agreed, or when DNS changes need approval from a separate team. Confirm early which SMTP or sending service will carry the mail, because its account terms and suppression features affect how opt-outs are enforced.
How much legal review time should we plan for?
Plan for a named legal or compliance reviewer to approve the footer, opt-out wording, subject line practices and the split between marketing and transactional templates before the first live send. The FTC guidance says transactional or relationship messages are largely exempt from CAN-SPAM, but a mixed message counts as commercial when its subject line or content placement points that way, so the boundary needs a decision, not an assumption. Each separate email that violates CAN-SPAM can cost up to $53,088 under the FTC's January 2024 inflation adjustment, which is why reviewers should sign off on the templates themselves. The duration of review depends on how many templates exist and how quickly your legal team can respond. Ask your partner to list each template that needs sign-off in the written scope.
Can our own team run the compliance configuration after go-live?
Yes, if your team can operate the platform, read the sending logs and follow a documented change process, although the answer depends on your staffing and skills. The ongoing work includes monitoring that unsubscribes are processed, reviewing bounce and complaint handling, checking that templates still carry the correct footer, and applying platform upgrades. For listmonk, the configuration sits in its settings, list types and template editor. For Mautic, operations also depend on cron jobs for segment and campaign updates and a messenger consumer, which must run reliably for suppressions and sends to take effect on time. Ask a partner for a handover covering runbooks, access records and a test plan, and decide whether an ongoing support retainer will cover upgrades.
Which tests prove our opt-out and footer settings work?
A test plan should show that an opt-out request removes the subscriber from every future campaign, that the unsubscribe link works without login, and that the footer includes the correct postal address and sender identity. Your team should provide test mailboxes, a list of sample campaigns and the people who will sign off results. Effort depends on how many lists, languages and templates must be tested. Include tests for double opt-in flows, imports that might re-add suppressed addresses, and transactional templates that should not carry marketing footers. Record each test result so that your compliance file shows what was checked and when.
What does the engagement scope need to define about compliance?
The written scope should name the platform, the lists and templates in scope, the sending service, the people who approve each step and the evidence to be delivered. DeployOpen plans, implements, configures, documents and supports self-hosted open-source platforms inside your own infrastructure, and prepares controls and evidence for compliance assessments. It does not issue audit reports, attestations or certifications, and it does not decide what the law requires for your organization. Confirm which legal interpretations your counsel will own, which items are one-time setup and which recurring, and how change requests after sign-off are priced. Most engagements are fixed-scope, so ambiguity about lists, templates or approvals is the main source of extra work.
How DeployOpen scopes and delivers CAN-SPAM readiness
DeployOpen delivers CAN-SPAM readiness under a fixed-scope written agreement agreed before any work starts. The scope should name each platform in the sending stack, whether that is listmonk, Mautic or both, and list the specific deliverables: configuration of the list and sender settings, the postal address and From, Reply-To and routing headers in each template, the opt-out handling path from form to suppression, and the written runbook your team uses afterward. Ask for the scope to state which items are in and which are left to your team, such as legal review of message content, the choice of sending service, and any state or non-US rules that apply to your audience.
Testing and documentation form the evidence side of that agreement. Expect test sends that confirm opt-out links work in each template type, checks that suppressed addresses are not mailed again, and a record of the configuration as delivered. DeployOpen prepares these systems, controls and evidence for review by your compliance function or an outside reviewer. DeployOpen does not issue audit reports, attestations or certifications, and nothing in the engagement should be presented to a regulator, mailbox provider or customer as a DeployOpen certification of compliance. Confirm with your counsel which records you need to keep and for how long.
Ongoing support is available as a retainer, which matters because CAN-SPAM readiness drifts. Templates get edited, new lists are created, sending domains change and staff add links without checking the footer. Decide before go-live who owns each recurring check, how often the opt-out path is retested, and who approves template changes. Ask any implementation partner to show how upgrades to listmonk or Mautic are tested against these settings before they reach production, and to state in the quote what the retainer covers and what it does not.

