Skip to the documentation
CLI

openemail sending

Every command in this namespace, with its arguments, flags and examples.

Commands

How mail leaves the workspace: the two lanes it travels in, transactional for app mail and broadcast for newsletters, each with its bounce and complaint numbers, the switch that resumes a paused lane, and the dedicated IPs of a workspace that bought one.

Every command here also takes the global flags, such as --json, --profile and --dry-run. See the global flags

openemail sending list-streams

List the sending lanes

Scopesemails:readNeeds a sign-in

Usage

openemail sending list-streams [flags]

Resolves the two lanes mail travels in, transactional for app mail such as password resets, receipts and codes, and broadcast for newsletters, each with its state and its numbers for the last 7 days: recipients, bounced and complained, the two rates, and the limits the broadcast lane is held to. The lanes have their own queues and their own reputation, so a newsletter never holds up or harms app mail.

The broadcast lane pauses itself when more than 4% of its recipients bounced or more than 0.2% reported the mail as spam over those 7 days, once it reached enough recipients to judge. A paused lane says when and why in pausedAt and pausedReason, and app mail keeps going out. The count starts again when a lane is resumed, which resumedAt gives.

Examples

openemail sending list-streams
Print the raw JSON
openemail sending list-streams --json

Also available in

API
GET /sending/streams
TypeScript
sending.listStreams()
Python
sending.list_streams()
Ruby
sending.list_streams
PHP
sending->listStreams
Go
Sending.ListStreams
Java
sending().listStreams
C#
Sending.ListStreamsAsync

openemail sending resume-stream

Resume a paused lane

Scopesdomains:writeNeeds a sign-in
Asks you to confirm

Usage

openemail sending resume-stream <stream> [flags]

Resumes the broadcast lane after it was paused for too many bounces or complaints, as Resume does on the Analytics page of the app. Broadcasts and messages that were on hold continue at once, and the 7 day count starts again from now, so clean the audience first: a lane resumed onto the same list pauses again.

Only the workspace owner may do it: an API key acts for the owner, and an access token that acts for a member is 403 owner_only.

Arguments

<stream>Required

The lane to resume, broadcast. The transactional lane never pauses.

Examples

openemail sending resume-stream broadcast
Skip the confirmation, for scripts
openemail sending resume-stream broadcast --yes

Also available in

API
POST /sending/streams/{stream}/resume
TypeScript
sending.resumeStream()
Python
sending.resume_stream()
Ruby
sending.resume_stream
PHP
sending->resumeStream
Go
Sending.ResumeStream
Java
sending().resumeStream
C#
Sending.ResumeStreamAsync

openemail sending list-dedicated-ips

List dedicated IPs

Scopesdomains:readNeeds a sign-in

Usage

openemail sending list-dedicated-ips [flags]

Resolves the dedicated sending IPs of the workspace, bought as an add-on with billing.startAddOnCheckout. A new IP is warmed up over several weeks: warmupPercent says how far it is, and until it reaches 100 part of the mail still leaves through the shared IPs, so nothing is held back while it warms. status is warming until then and ready after.

A workspace without the add-on gets an empty list and sends through the shared IPs.

Examples

openemail sending list-dedicated-ips
Print the raw JSON
openemail sending list-dedicated-ips --json

Also available in

API
GET /sending/dedicated-ips
TypeScript
sending.listDedicatedIps()
Python
sending.list_dedicated_ips()
Ruby
sending.list_dedicated_ips
PHP
sending->listDedicatedIps
Go
Sending.ListDedicatedIPs
Java
sending().listDedicatedIps
C#
Sending.ListDedicatedIpsAsync

openemail sending get-dedicated-ip

Read a dedicated IP

Scopesdomains:readNeeds a sign-in

Usage

openemail sending get-dedicated-ip <ip> [flags]

Resolves one dedicated IP of the workspace with its status and how far its warm-up has come.

Arguments

<ip>Required

The IP address, as listDedicatedIps returns it, such as 203.0.113.24.

Examples

openemail sending get-dedicated-ip 203.0.113.24
Print the raw JSON
openemail sending get-dedicated-ip 203.0.113.24 --json

Also available in

API
GET /sending/dedicated-ips/{ip}
TypeScript
sending.getDedicatedIp()
Python
sending.get_dedicated_ip()
Ruby
sending.get_dedicated_ip
PHP
sending->getDedicatedIp
Go
Sending.GetDedicatedIP
Java
sending().getDedicatedIp
C#
Sending.GetDedicatedIpAsync