Designing Bulk Email for Small Businesses Without Locking Into a Specific Service
· Updated: · Go Komura · Email Delivery, Legacy Asset Reuse, Inquiry Flow, Web & SEO, B2B
Revision history (1 updates, last updated Sep 1, 2026)
A log of the changes made to this article. Where a pre-update version was archived, it stays readable at a permanent DOI link.
- Retranslated as a full translation of the Japanese original. The previous English version was an abridgement that carried only part of the source, so sections, tables, Mermaid diagrams, figure captions and FAQ entries were missing. All of them have been restored to match the Japanese original, and the technical claims are the same as in the Japanese version. Read the version before this update (DOI: 10.5281/zenodo.21614591)
- First published
Cite this article(DOI: 10.5281/zenodo.21614590)
This article is archived on Zenodo. Below are both the DOI that always resolves to the latest version and the DOI pinned to the version you are reading.
Go Komura (2026). Designing Bulk Email for Small Businesses Without Locking Into a Specific Service. KomuraSoft LLC. https://doi.org/10.5281/zenodo.21614590 https://comcomponent.com/en/blog/2026/04/02/000-sme-bulk-email-vendor-neutral-practical-guide/
- DOI (latest version)
- 10.5281/zenodo.21614590
- DOI (this version)
- 10.5281/zenodo.22220394
“We want to send announcement email to dozens or hundreds of recipients using our existing domain and site, without adding yet another dedicated newsletter service.” The realistic answer to this request is not a
single Bcc blastbut a small delivery foundation withper-recipient individual sending,subscription management,unsubscribes, andSPF / DKIM / DMARCin place.
“Not using a specific service” here does not mean “using nothing.” It means keeping the SMTP standard, the subscriber list, the templates, and the unsubscribe path on your own side, and structuring things so that only the sending mechanism can be swapped out later.
Also, this article assumes email sent to people with whom some relationship or consent exists - existing customers, members, people who requested materials, newsletter subscribers. It is not about harvesting public addresses and sending indiscriminately. Advertising and promotional email carries legal preconditions, and from a deliverability standpoint that approach does not last either.12
What follows is based on public Japanese government information around the Act on Regulation of Transmission of Specified Electronic Mail and the sender guidelines from Google / Yahoo / Outlook, as verifiable as of April 2026.12345
Who this article is for, and what it assumes
| Item | Details |
|---|---|
| Intended readers | People at a small business who actually send announcement email to customers, members, and prospects. It is written so that IT staff, the web person, or someone doing this alongside general affairs can all follow it |
| Assumed scale | Dozens to hundreds of recipients per run, anywhere from once a month to about once a week |
| Assumed mail environment | No particular environment is assumed. Microsoft 365, Google Workspace, on-premises Exchange, the SMTP server on a shared hosting plan - the design is the same for all of them. The only place a difference shows up is the SMTP relay in section 4 |
| Assumed recipients | Existing customers, members, people who requested materials, newsletter subscribers - anyone with whom some relationship or consent exists |
| Permissions needed | The ability to add DNS records for the sending domain (required for SPF / DKIM / DMARC). This is the one point where you may have to ask your provider or the company that manages the domain |
Abbreviations used in this article
Here are the terms that appear from section 2 onward without further explanation.
| Abbreviation | Full name | In one line |
|---|---|---|
| SPF | Sender Policy Framework | You publish in DNS which sources are allowed to send mail for this domain, and the receiver checks the message against it. It was created to prevent forged senders6 |
| DKIM | DomainKeys Identified Mail | The sender attaches a digital signature to the message and the receiver verifies it with a public key in DNS. It shows that the signing domain takes responsibility for the message7 |
| DMARC | Domain-based Message Authentication, Reporting, and Conformance | Based on the SPF / DKIM results, the domain owner declares how mail that fails authentication should be treated. Three levels can be specified: p=none (do nothing), p=quarantine (quarantine), p=reject (reject)8 |
| alignment | - | The domain in the From the recipient sees matches the domain that SPF / DKIM verified. This is what DMARC looks at8 |
| PTR | - | The reverse DNS record that maps an IP address back to a hostname. Saying reverse DNS resolves means this record is in place |
| List-Unsubscribe | - | A header that carries the unsubscribe destination. Receiving mail clients surface it as an Unsubscribe button |
| One-click unsubscribe | - | Adding List-Unsubscribe-Post: List-Unsubscribe=One-Click on top of List-Unsubscribe so delivery can be stopped with no confirmation screen9 |
| opt-in | - | The recipient signed up for the subscription of their own accord. Addresses merely collected from business cards or a purchased list are not opt-in |
| bounce | - | Mail coming back undelivered, for example because the address does not exist. A permanent failure such as a nonexistent mailbox is called a hard bounce |
| complaint | - | The recipient pressed the report-spam button. The share of messages that get this is the spam rate |
| SMTP relay | - | The egress that takes mail from the delivery mechanism you built and actually puts it on the internet |
1. The Conclusion First
The realistic shape for a small business sending outward-facing bulk email comes down to roughly these four points.
- Send individually, per recipient
Rather than piling addresses into
Bcc, build the queue on the assumption of sending one message at a time. - Own the subscription state yourself
Keep explicit state management such as
active,unsubscribed,bouncedin your own DB or CSV. - Accept unsubscribes automatically
Do not run an operation where “please stop emailing me” is processed by hand. Include a visible link in the body, and where possible
List-Unsubscribe.345 - Authenticate the sending domain Put SPF / DKIM / DMARC, reverse PTR, and TLS in place. Even if the mail goes out, without these it struggles to arrive.345
In short, this is not a question of mail-client operation; it is a question of the delivery foundation.
If you interpret the requirement “we want to send to everyone at once” as stacking lots of addresses into To / Cc / Bcc, it falls apart.
What you actually need is a mechanism for:
- Who may be sent to
- Who must no longer be sent to
- For what purpose consent was obtained
- How unsubscribes are received
- Whether the configuration makes you trustworthy as a sender
Knowledge map for this article
For a small or midsize company to send bulk email without depending on one particular newsletter service, the realistic approach is not Bcc mass sending but keeping a delivery platform made up of a subscriber table, a suppression table, and a delivery queue in house, in a configuration where only the outbound path, the SMTP relay, can be swapped out. The suppression table gives unsubscribes and bounces priority over the subscriber table, and the delivery queue hands the send off from there to the SMTP relay. Authenticating the sending domain with SPF, DKIM, and DMARC and providing a reverse DNS PTR record and List-Unsubscribe makes it possible to meet the spam rate thresholds that Google and Yahoo require. Japan’s Act on Regulation of Transmission of Specified Electronic Mail imposes prior opt-in consent and an obligation to disclose the sender, and open source software such as listmonk implements exactly this structure in a self-hosted form.
flowchart LR
accTitle: Bulk email delivery infrastructure
accDescr: Diagram showing how the limits of Bcc mass sending, an in-house delivery platform built from a subscriber table, a suppression table, and a delivery queue, the choice of an SMTP relay as the outbound path, sending domain authentication with SPF, DKIM, and DMARC, and legal requirements such as opt-in consent and sender disclosure all relate to one another
bulk_email_infrastructure["In-House Bulk Email Platform"]
individual_send["One Email per Recipient"]
subscriber_table["Subscriber Table"]
suppression_table["Suppression Table"]
delivery_queue["Delivery Queue"]
bcc_mass_send["Bcc Mass Mailing"]
smtp_relay["SMTP Relay"]
m365_smtp_methods["Microsoft 365 SMTP Sending Methods"]
spf["SPF (Sender Policy Framework)"]
dmarc["DMARC"]
dkim["DKIM (DomainKeys Identified Mail)"]
reverse_dns_ptr["Reverse DNS for the Sending IP"]
list_unsubscribe_header["List-Unsubscribe / One-Click Unsubscribe"]
tokutei_email_law["Japan Specified Electronic Mail Act"]
opt_in_consent["Opt-In Consent"]
sender_display_obligation["Sender Disclosure Requirements"]
spam_rate["Spam Complaint Rate"]
listmonk_oss["listmonk"]
bulk_email_infrastructure -->|"uses"| subscriber_table
bulk_email_infrastructure -->|"uses"| suppression_table
bulk_email_infrastructure -->|"uses"| delivery_queue
bcc_mass_send -->|"not recommended for"| bulk_email_infrastructure
individual_send -->|"recommended for"| bulk_email_infrastructure
delivery_queue -->|"requires"| subscriber_table
delivery_queue -->|"requires"| suppression_table
delivery_queue -->|"uses"| smtp_relay
smtp_relay -.->|"configured by"| m365_smtp_methods
smtp_relay -.->|"requires"| spf
dmarc -.->|"requires"| spf
dmarc -.->|"requires"| dkim
smtp_relay -.->|"requires"| reverse_dns_ptr
list_unsubscribe_header -->|"recommended for"| bulk_email_infrastructure
tokutei_email_law -.->|"requires"| opt_in_consent
tokutei_email_law -->|"requires"| sender_display_obligation
suppression_table -.->|"mitigates"| spam_rate
list_unsubscribe_header -.->|"mitigates"| spam_rate
listmonk_oss -->|"implements"| bulk_email_infrastructure
individual_send -->|"requires"| subscriber_table
bcc_mass_send -.->|"incompatible with"| suppression_table
opt_in_consent -->|"recommended for"| bulk_email_infrastructure
In the diagram a solid line marks a relation that always holds and a dashed line marks a conditional one (the conditions are given per relation on the detail page). The full list of relations (22 in total, with evidence and certainty) and the definitions of the main concepts are collected on the knowledge map detail page (in Japanese). Data: JSON-LD / Turtle
2. Why a Single Bcc Blast Is Not Enough
What makes Bcc painful for outward-facing bulk sending is that, despite looking easy, it gives you none of the operational substance.
| Problem | What happens | The later pain |
|---|---|---|
| Unsubscribes cannot be tracked | “Stop emailing me” arrives by reply or phone | Easy to missend on the next run |
| No bounce management | You keep sending to nonexistent addresses | Reputation degrades easily |
| No record of consent | You cannot explain when and where consent was given | Weak in legal and complaint handling |
| Message types get mixed | Sales mail and notification mail go out from the same box | Easy to drag day-to-day order traffic into the blast radius |
| No control over rate | Easy to send in one big burst | Easy to hit throttles or spam filtering |
| Dependent on one person | Runs on a personal mailer and personal labor | Hard to hand over |
What is especially dangerous is that “sending” works, so it looks like a functioning system. In reality, with no suppression, no bounce control, no consent records, and no send logs, the manual operation collapses the moment the list grows a little.
Bcc is not entirely bad.
For internal communication, very small announcements to a closed membership, or a one-off note to stakeholders, it can be fine.
The point is that it is weak as the foundation of a system that continually sends to external customers and prospects.
3. What “Not Using a Specific Service” Realistically Means
The easy misunderstanding here is that “not using a specific service” = “doing everything by hand.”
In practice, if you own these three things yourself, you avoid most vendor lock-in.
3.1 What you should own
- Subscriber data
- Email address
- Consent timestamp
- Consent source
- Delivery category
- Unsubscribe state
- Delivery rules
- What gets sent to whom
- At what rate
- How bounces and unsubscribes are applied
- Sender identity
- Sending domain
- SPF / DKIM / DMARC
- An address that can receive replies
- The unsubscribe URL
3.2 What may be swapped out
- The SMTP relay that actually transmits
- How the admin screen is implemented
- Where the send queue is implemented
- Where logs are stored
In other words, the essence of “not using a service” is not surrendering your sending rules and state to the other side.
- The recipient list lives in your own DB
- The unsubscribe URL lives under your own domain
- You own the subject and body templates
- Only the SMTP egress can be swapped later
In this shape, you can start with your existing mail infrastructure and move to a different sending mechanism later.
4. A Realistic Setup for a Small Business
4.1 The minimum components
At dozens to hundreds of messages per run, you do not need anything grandiose from the start. But it is more stable to keep at least these separated.
- Subscriber table
- Suppression table
- Unsubscribes
- Hard bounces
- Complaints
- Delivery templates
- Subject
- Body (HTML / text)
- Delivery category
- Send queue
- Per-recipient state
- Send result
- Retry count
- SMTP relay
- Use the existing mail infrastructure, or
- run your own server
- Logs
- When and to whom you sent
- Success / failure
- Suppression / bounce updates
Sophisticated open-rate and click-rate measurement is not required from day one. What is needed first is the ability to send safely, stop, and explain yourself.
4.2 Fields the recipient table should carry
The minimum set looks like this.
| Field | Example | Reason |
|---|---|---|
email |
user@example.com | The recipient itself |
status |
active / unsubscribed / bounced | To judge whether sending is allowed |
consent_at |
2026-03-20 12:34:56 | To record when consent was obtained |
consent_source |
form / trade show / existing contract / manual entry | To explain where the address came from |
consent_purpose |
newsletter / seminar announcements / maintenance info | To record what delivery was consented to |
unsubscribed_at |
2026-03-29 09:10:11 | Evidence of the unsubscribe |
last_bounce_at |
2026-03-30 08:00:00 | Needed to decide on resend suppression |
notes |
via account rep / existing customer | Supplementary information |
Even if your initial master list is an Excel sheet or an existing customer ledger, it is worth separating things to this degree. What matters most is that the suppression information always wins.
For example, even if the person’s address remains in the sales ledger, do not send if the suppression table says unsubscribed.
Without this rule, an address re-enters through another route after an unsubscribe and you send to someone who already opted out.
4.3 Architecture diagram
flowchart LR
A[Website / subscription form] --> B[Subscriber table]
A2[Existing customer ledger / member ledger] --> B
C[Delivery templates<br/>subject / HTML / text] --> D[Send queue]
B --> D
E[Suppression table<br/>unsubscribes / bounces / complaints] --> D
D --> F[SMTP relay<br/>existing mail infrastructure or own relay]
F --> G[Recipients]
G --> H[Unsubscribe URL]
G --> I[Replies]
G --> J[Bounces / complaints]
H --> E
J --> E
I --> K[Operations contact]
L[SPF / DKIM / DMARC / PTR / TLS] --> F
For environments where the diagram does not render, here is the same content in prose.
- Entry points: the subscription form on the website, and the existing customer ledger or member ledger. Both feed into the subscriber table.
- Center: the send queue takes three inputs - the subscriber table (who to send to), the suppression table (who must not be sent to), and the delivery template (subject, HTML, text).
- Egress: the send queue hands off to the SMTP relay (existing mail infrastructure or your own relay), and from there the mail reaches recipients. The SPF / DKIM / DMARC / PTR / TLS settings hang off the SMTP relay.
- Return path: three kinds of response come back from recipients. Unsubscribe URL hits and bounces or complaints go back into the suppression table, while replies are picked up by a person at the operations contact.
The point of this diagram is that the sending mechanism is not the center.
The center is the subscriber table, the suppression table, and the send queue.
The SMTP relay is merely the egress. With this separation, you can switch sending mechanisms in the future without losing past unsubscribes and consent history.
4.4 Choosing the egress and the delivery engine
Once you have separated what you own from what you may swap out, two questions come up as soon as you start actually building.
1. Which egress (SMTP relay) to use
In many cases the mail infrastructure you already run can serve as the egress. For Microsoft 365, for instance, the ways to send from devices and applications that have no mailbox are documented officially, and four options are compared side by side along with their sending limits and the TLS settings and ports each needs: authenticated Client SMTP submission, SMTP relay through a connector, unauthenticated Direct Send, and High Volume Email for large internal sends.10
If you have an on-premises mail server such as Exchange Server, the same documentation notes that taking the relay there is often the easier setup.10
There are roughly four things to look at when choosing.
| What to look at | Why it matters |
|---|---|
| Sending limits per day and per minute | Whether a few hundred messages pushed through at once will jam |
| Authentication method (user / certificate / fixed IP) | Whether day-to-day operation can avoid passing a password around |
| Whether external recipients are allowed | Required if you send to customers outside the company |
| How it is written into SPF | Change the egress and SPF has to change with it |
2. Build the delivery engine, or run on existing OSS
Building the subscriber table, suppression table, send queue, and unsubscribe page entirely yourself is more work than it looks. Self-hosted open source with the same structure exists, so the fast path is to check whether one of those already covers what you need. listmonk, for example, is AGPLv3 self-hosted newsletter and mailing list software with single and double opt-in subscriber list management, per-campaign delivery and bounce statistics, and a queue that can drive multiple SMTP servers.11
A rough guide to the decision looks like this.
| Situation | Realistic choice |
|---|---|
| You want tight integration with the existing customer ledger | Build it. But build the suppression table and the unsubscribe page from day one |
| You only want the email delivery features | Stand up self-hosted open source and point it at your own SMTP relay |
| You do not want to run a server yourself | Use a delivery service. But keep the subscriber data and the unsubscribe URL on your own domain as well |
In every case the principle is the same: keep the subscriber data, the suppression data, and the unsubscribe URL on your own side. Hold that line and both the egress and the delivery engine can be replaced later.
5. How Much to Build, by Scale
5.1 Once a month, dozens of recipients
At this scale, the minimum setup is often enough.
- A dedicated mail-merge template for sending
- Per-recipient individual sending
- An unsubscribe URL
- Saved send logs
- SPF / DKIM / DMARC in place
The point here is not falling back to Bcc just because the list is small.
Even under 50 recipients, for continual outward-facing delivery it pays to adopt the individual sending + state management shape now.
5.2 Several times a month, hundreds of recipients
At this stage, a few additions make things more stable.
- A send queue
- Send-rate control
- Bounce processing
- Immediate application of unsubscribes
- A dedicated sending subdomain
- An approval flow
- Test send
- Production send
- Result review
It also matters to separate day-to-day human email from promotional and announcement email. Google describes separating From addresses and IPs by message type, and Yahoo likewise advises not mixing bulk / marketing with transactional / alerts on the same IP or DKIM domain.34
For example, just splitting addresses by purpose tidies operations considerably.345
- Order confirmations and billing:
billing@example.com - Outage notices and maintenance info:
notice@example.com - Newsletter and announcements:
news@example.com
5.3 Approaching thousands per day
By this point, “not using a specific service” easily becomes an end in itself.
For Gmail, Google spells out requirements for senders of more than 5,000 messages per day: SPF / DKIM / DMARC, From-domain alignment, one-click unsubscribe, and more. Outlook likewise requires SPF / DKIM / DMARC for domains sending more than 5,000 messages per day and advises that non-compliant messages can be junked or rejected.35
At this scale, the operational topics also change.
- IP reputation
- Complaint rate
- Bounce rate
- Unsubscribe processing
- How to ramp up volume
- Monitoring
At this stage, there are many situations where a dedicated service is actually cheaper.
So the conclusion of this article is not “build everything yourself at any scale” but rather: at the scale of dozens to hundreds per run, a small delivery foundation where you own the state and the rules is just right.
6. The Legal and Deliverability Essentials You Cannot Skip
6.1 Consent
Advertising and promotional email requires prior consent as a rule. The Japanese Anti-Spam Consultation Center’s guidance also states that sending advertising email without prior consent is, in principle, not permitted.2
Google and Yahoo likewise require sending only mail the recipient explicitly asked for, not using purchased lists, and avoiding pre-checked opt-in boxes.34
The minimum you want to retain in practice is:
- Consent timestamp
- Consent source
- What delivery it covers
- The explanatory copy
- The screen or text through which consent was obtained
Note that the law does carry an exception for sending to business addresses published on a website. However, building your delivery foundation on that exception is not recommended. By every measure - complaints, deliverability, reputation, actual response rates - it does not hold up for long.2
6.2 Mandatory disclosures and unsubscribes
Even when sending to consenting recipients, senders have disclosure obligations. Per the Anti-Spam Consultation Center’s guidance, at least the following information is required.2
- The name of the sender (person or entity)
- An email address or URL for receiving opt-out notices
- A statement that the recipient can opt out
- The sender’s postal address
- A contact point for complaints and inquiries
So the footer needs at minimum something like this.
Sender: Example Corp.
Unsubscribe: https://example.com/unsubscribe/xxxxx
If you wish to stop receiving these emails, please use the URL above.
Address: Tokyo, ...
Contact: support@example.com
In addition, the major receivers care a great deal about how easy unsubscribing is.
- Google: requires one-click unsubscribe for bulk senders3
- Yahoo: requires / recommends
List-Unsubscribeplus an in-body link, honored within 2 days4 - Outlook: recommends an easy-to-find, functioning unsubscribe5
So the natural baseline is a visible link in the body, plus, where possible, these headers.34
List-Unsubscribe-Post: List-Unsubscribe=One-Click
List-Unsubscribe: <https://example.com/unsubscribe/xxxxx>
6.3 Authentication and deliverability
The major receivers already assume not “that you can send” but “that you are authenticated.”
Google’s public guidelines require the following.3
- All senders: SPF or DKIM, PTR (matching forward / reverse DNS), TLS
- Bulk senders: SPF + DKIM + DMARC, From-domain alignment
- A low spam rate
- One-click unsubscribe for bulk senders
Yahoo’s requirements:4
- SPF / DKIM / DMARC
- DMARC alignment
- Valid forward / reverse DNS
- Unsubscribe
- Spam rate under 0.3%
- Opt-in
- Separation of bulk and transactional
Outlook also publishes requirements for high-volume senders.5
- SPF pass
- DKIM pass
- DMARC (at least
p=none, aligned with SPF or DKIM) - A genuine From / Reply-To
- Unsubscribe
- List hygiene
The minimum operational checks, in a table:
| Item | Minimum action | Purpose |
|---|---|---|
| Sending domain | Configure SPF / DKIM / DMARC | Prevent spoofing, improve deliverability |
| Sending server | A stable environment with resolvable PTR; use TLS | Avoid losing the receiver’s trust |
| From / Reply-To | A real address that can receive replies | Be able to receive complaints and stop requests |
| Unsubscribe | In-body link + List-Unsubscribe |
Lower the complaint rate |
| List quality | Opt-in only, purge invalid addresses | Protect reputation |
| Send rate | Ramp steadily, never in bursts | Avoid throttles and spam classification |
| Monitoring | Watch bounces / spam rate / complaints | Stop deterioration early |
Google recommends ramping volume starting low, to engaged recipients, at a steady pace. Sudden spikes and overnight doublings tend to cause throttling and reputation loss.3
7. How to Proceed with Implementation
For a minimal start, a realistic order looks like this.
- Separate the kinds of mail you send
- Notification mail
- Newsletter
- Seminar announcements
- Announcements to existing customers
- Build a subscription form or consent-capture flow Make it possible to capture consent on the website alongside explanatory copy. It matters that the copy makes clear “what arrives, and how often.”4
- Separate the subscriber table from the suppression table Separate these first, and operations stay intact no matter what you migrate to later.
- Choose a dedicated sending domain / subdomain
For example
news.example.comormail.example.com. At minimum, do not mix responsibilities with day-to-day order traffic and personal mailboxes.34 - Put SPF / DKIM / DMARC / PTR / TLS in place If you send yourself, this is the top priority. Do not make an environment without reverse DNS your sending foundation.34
- Build an admin screen - small is fine
What you need is not a fancy UI but these functions:
- Subject editing
- Body editing
- Test send
- Production send
- Recipient preview
- Batch-size setting
- Result review
- Start with small volumes Narrow to existing customers and engaged subscribers, and send at a steady pace. If nothing goes wrong, widen the audience.3
- Apply unsubscribes and bounces as the top priority Confirm this works before worrying about open rates.
In this order, you arrive not at “we can technically send” but at “we can keep this running without breaking things.”
7.1 Keywords to research next
Here are terms you can use directly as search queries when researching internally or talking to a vendor, grouped by stage.
| Stage | What to search for |
|---|---|
| Setting up authentication | SPF record setup, enable DKIM signing, DMARC p=none rollout, how to read DMARC reports, check reverse PTR |
| Choosing the egress | Microsoft 365 SMTP relay connector, SMTP AUTH submission, Exchange Server anonymous relay, dedicated sending subdomain |
| The delivery mechanism | self-hosted newsletter open source, double opt-in, one-click unsubscribe, List-Unsubscribe header |
| Operational monitoring | hard vs soft bounce handling, spam rate 0.3%, Google Postmaster Tools, warm-up sending volume |
Start with the authentication setup. Until that is done, however carefully you do everything that follows, the mail will not arrive.
If the review extends to the subscription form, consent copy, and unsubscribe page, it is easiest to organize together with website development. If, on the other hand, the premise is connecting to an existing customer ledger, internal systems, or Windows tools, it is safer to start from responsibility splitting in a technical consultation / design review.
8. Common Failures
The usual suspects are these.
- Running human day-to-day mail and promotional or announcement mail from the same sender
- Managing consent only as free-text notes
- Handling unsubscribes manually via email replies
- Dumping in an old business-card list wholesale
- Suddenly sending at the largest volume ever
- Mixing promotional copy into notification mail
- Stopping at “the send API returned success” as the send result
- A suppression table weaker than the existing customer ledger
The last one in particular is the one that really bites you.
An address remains in the sales side’s Excel sheet. But that person has already unsubscribed from the newsletter. Unless the rule is that the suppression information always wins, they will be re-sent to again and again via other routes.
9. Summary
If a small business wants to email a reasonably large audience without a specific service, the question to think about is not “which button to press.”
What is truly needed is these five things.
- Per-recipient individual sending, not a
single Bcc blast - A subscriber table and a suppression table
- A path that accepts unsubscribes automatically
- SPF / DKIM / DMARC / PTR / TLS
- An operation that separates notifications from promotions
In the end, owning the sending rules comes before owning the sending mechanism.
At dozens to hundreds per run, you can run perfectly well without a dedicated service. But even then, the shortcut is to design it as a small delivery foundation - not to “send in bulk from a mail client.”
Related Articles
- The Three Places to Fix First on a Site That Gets No Inquiries
- How to Connect Articles and Service Pages - Internal Link Design Basics
References
-
Consumer Affairs Agency (Japan), Act on Regulation of Transmission of Specified Electronic Mail (Anti-Spam Act) ↩ ↩2
-
Anti-Spam Consultation Center (Japan), The Act on Specified Electronic Mail ↩ ↩2 ↩3 ↩4 ↩5
-
Google Workspace Admin Help, Email sender guidelines ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13 ↩14
-
Yahoo Sender Hub, Sender Best Practices ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12
-
Microsoft Community Hub, Strengthening Email Ecosystem: Outlook’s New Requirements for High-Volume Senders ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7
-
IETF, RFC 7208 - Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1 ↩
-
IETF, RFC 6376 - DomainKeys Identified Mail (DKIM) Signatures ↩
-
IETF, RFC 7489 - Domain-based Message Authentication, Reporting, and Conformance (DMARC) ↩ ↩2
-
IETF, RFC 8058 - Signaling One-Click Functionality for List Email Headers ↩
-
Microsoft Learn, How to set up a multifunction device or application to send email using Microsoft 365 or Office 365 ↩ ↩2
-
listmonk, listmonk - Free and open source self-hosted newsletter and mailing list manager ↩
Related Articles
Recent articles sharing the same tags. Deepen your understanding with closely related topics.
Why Contact Form Emails Don't Arrive, and How to Fix It
The causes of undelivered contact-form notification emails, organized across SPF/DKIM/DMARC, the From header, external SMTP, shared hosti...
Why PPAP Is Bad for Email Security, and What to Do Instead
We examine why PPAP — emailing a password-protected ZIP and then sending the password in a separate email — is dangerous, and lay out the...
Why Your Company Should Have a Website - Going Beyond a Brochure and Driving Profit
We lay out why a company should have a website and how it leads to profit within the flow from search to comparison, inquiry, and winning...
How to Build Service Pages - An Organizing Procedure for Technical B2B
For technical B2B sites, we lay out how to organize the role, headings, copy, CTAs, and inquiry flow of a service page.
How Windows App Compatibility Works — Keeping Old Apps Alive with Compatibility Mode, Shims, and Compatibility Administrator
Why checking Compatibility mode can make an old app start working. This article explains the underlying shims (API hooks), what the repre...
Related Topics
These topic pages place the article in a broader service and decision context.
Windows Technical Topics
Topic hub for KomuraSoft LLC's Windows development, investigation, and legacy-asset articles.
Web Development & SEO Topics
Topic hub for website development, SEO, inquiry flow, and internal-link design.
Where This Topic Connects
This article connects naturally to the following service pages.
Website Development
Entry-point design such as subscription forms, consent copy, unsubscribe pages, and the inquiry flow pairs well with organizing things as part of website development.
Technical Consulting & Design Review
How to connect an existing customer ledger, internal systems, Windows tools, and form-sourced lead data into a delivery foundation is easy to work through as a pre-implementation design review.
Frequently Asked Questions
Common questions about the topic of this article.
- Is it a problem to send an announcement to everyone at once by putting them all in Bcc?
- As the foundation of a system that keeps sending to external customers and prospects, it is weak. Bcc can put the mail out, but it gives you none of the operational substance: unsubscribes cannot be tracked, there is no bounce management, there is no record of consent, the send rate cannot be controlled, and the whole thing depends on one person. The moment the list grows a little, the manual operation collapses. For internal notices or a one-off message to a few stakeholders it can be fine, but for continual outward-facing delivery it should take the shape of per-recipient individual sending with state management.
- Is consent required to send advertising or announcement email?
- Advertising and promotional email requires prior consent as a rule. The guidance from Japan's Anti-Spam Consultation Center also states that sending advertising email without prior consent is in principle not permitted. Google and Yahoo both require sending only mail the recipient explicitly asked for, and not using purchased lists. In practice you should keep a record of the consent timestamp, the consent source, what delivery it covers, and the explanatory copy. The law does carry an exception for business addresses published on a website, but a delivery foundation that leans on that exception is not something we recommend.
- What is the minimum needed to keep mail out of the spam folder?
- Authentication of the sending domain. Concretely: SPF / DKIM / DMARC configured, a sending environment with a resolvable reverse PTR, TLS, a real From / Reply-To that can receive replies, an unsubscribe link in the body plus a List-Unsubscribe header, and list quality that is opt-in only. For Gmail, Google requires SPF + DKIM + DMARC and one-click unsubscribe from senders of more than 5,000 messages per day, and Yahoo asks for a spam rate under 0.3%, among other things. When you increase volume, start low and ramp at a steady pace.
- Can we build a delivery foundation in-house without using a newsletter service?
- At the scale of dozens to hundreds per run, yes. The key is to own the subscriber data, the delivery rules, and the sender identity (domain, authentication, unsubscribe URL) on your own side, and to structure things so that only the SMTP relay egress can be swapped later. The center is not SMTP but the subscriber table, the suppression table, and the send queue. That said, as you approach thousands per day, IP reputation and complaint-rate management become the main topic, and a dedicated service is often the cheaper option.