Reference

TLS and Security

All email traffic through PostMTA is encrypted in transit using TLS 1.2 or higher. PostMTA enforces TLS on outbound delivery (SEC-019) and supports TLS for inbound SMTP submission (SEC-018). Certificates are managed automatically via ACME/Let's Encrypt (SEC-020).

Supported TLS Versions

VersionStatusNotes
TLS 1.3RecommendedUsed wherever supported; provides best performance and security
TLS 1.2SupportedRequired fallback for older mail servers
TLS 1.0 / 1.1DeprecatedNot actively used; compatibility only
SSL 3.0BlockedCompletely blocked at all connection points

Outbound connections to major providers (Gmail, Microsoft, Yahoo, Apple) always negotiate TLS 1.3 where available.

Outbound Delivery (SEC-019)

PostMTA establishes a TLS connection directly to the recipient's mail server for every message. Connections are encrypted end-to-end with no intermediate proxies. TLS 1.3 is negotiated by default; TLS 1.2 is used as a fallback.

Opportunistic TLS: If the destination server does not advertise STARTTLS, PostMTA will still deliver the message. For high-sensitivity use cases, you can require TLS delivery via your IP pool configuration.

Inbound SMTP Submission (SEC-018)

When you configure PostMTA as your mail submission agent (MSA), inbound TLS is supported on port 587 (submission) and port 465 (SMTPS). Clients that connect over TLS can submit email for relay through PostMTA's outbound infrastructure.

Inbound STARTTLS is advertised on port 587. Port 465 provides implicit TLS (TLS is negotiated immediately on connection, before any SMTP protocol exchange).

Certificate Management (SEC-020)

PostMTA manages TLS certificates automatically for all outbound delivery using ACME (Automatic Certificate Management Environment) in partnership with Let's Encrypt. Certificates are provisioned and renewed without any manual intervention.

For inbound SMTP (port 465), your domain's certificate is loaded from the PostMTA certificate store upon domain verification.

Cipher Suites

PostMTA uses a modern, minimal cipher suite list optimized for both security and compatibility:

TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_GCM_SHA256
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES256-GCM-SHA384

All listed ciphers provide perfect forward secrecy (PFS) via ECDHE or DHE key exchange. RC4, 3DES, and all CBC-mode ciphers on TLS 1.2 are excluded.

Perfect Forward Secrecy

Every TLS session uses an ephemeral key exchange (ECDHE or DHE), ensuring that compromising a long-term private key does not retroactively decrypt captured traffic. ECDHE with P-256 or X25519 is preferred; DHE-2048 is the minimum fallback.

TLS Reporting (TLSRPT)

Publish a TLSRPT DNS record to receive aggregate TLS failure reports from other domains that receive your email:

v=TLSRPTv1; rua=mailto:tls-reports@postmta.com

Add this as a TXT record at _smtp._tls.yourdomain.com. Reports are sent to the mailto address in the record, typically tls-reports@postmta.com so our operations team can monitor TLS delivery success on your behalf.

MTA-STS Policy

MTA-STS (RFC 8461) allows your domain to declare that mail servers must connect over TLS and present a valid certificate. PostMTA supports MTA-STS for inbound policy enforcement by recipient servers.

Host the MTA-STS policy file at:

https://mta-sts.yourdomain.com/.well-known/mta-sts.json

Policy file content:

version: STSv1
mode: testing
mx: mail.postmta.com
max_age: 86400

Publish the DNS TXT record to announce MTA-STS support:

mta-sts.yourdomain.com.  IN  TXT  "v=STSv1; id=20260101"

DANE (DNSSEC-Validated TLSA Records)

DANE (RFC 6696) binds your TLS certificate to a DNSSEC-signed TLSA record, providing a cryptographically verifiable path from DNS to your certificate without relying on commercial CAs.

TLSA record format for port 587 with STARTTLS:

_587._tcp.mail.example.com.  IN  TLSA  3  1  1  ( HASH_OF_CERTIFICATE )
FieldValueMeaning
Certificate usage3Domain-issued certificate (DANE-TA)
Selector1SubjectPublicKeyInfo (SPKI) hash
Matching type1SHA-256 hash of the SPKI
DNSSEC required: DANE only provides security guarantees if your domain's DNS is signed with DNSSEC. Ensure your DNS provider supports DNSSEC before deploying TLSA records.

STARTTLS Requirements by Provider

Some major mailbox providers require TLS or will mark unencrypted mail as spam:

ProviderTLS RequiredNotes
Gmail (Google Workspace)RecommendedUses MTA-STS; TLSRPT reports consumed
Microsoft 365RecommendedRequires valid certificate; enforced for some tenants
Yahoo MailRequiredWill refuse unencrypted connections
Apple iCloudRequiredUses DANE; certificate validation is strict

Zero-Trust API Access

Security Best Practices

Compliance Notes

PostMTA's TLS implementation meets the following standards:

StandardStatus
FIPS 140-2Compliant (TLS layer uses FIPS-validated OpenSSL)
PCI DSSCompliant for cardholder data environments
HIPAATLS 1.2+ meets transmission security requirement (§164.312(e)(1))
SOC 2 Type IICertified — TLS configuration is part of the control environment
GDPRTLS in transit satisfies Article 32 (security of processing)
Need a compliance letter? SOC 2 Type II and PCI DSS reports are available under NDA. Contact security@netwit.ca for the latest reports.