Starter
For your first email program.
$192 billed yearly.
20,000 emails / month
Choose Starter- 5 brands · 3 seats
- 5 custom sending domains
- 500 email verifications/month
- $1.50 / 1,000 extra emails
Microsoft 365 (formerly Office 365) documents three ways to send mail from a device or application: client SMTP submission, SMTP relay via a connector, and Direct Send. Only the connector route is called SMTP relay: the device sends to the tenant's MX endpoint on port 25, and an Exchange connector authenticates it by certificate or static IP address. Choosing between the three depends on whether you have a licensed mailbox, a static IP address, and whether recipients are internal or external. An AI agent, or the app it built, usually lands on Direct Send or a connector because neither needs a password, and both were designed for printers on the office network.
This is the route for a device or app that can sign in as a licensed mailbox and sends modest volume. The device authenticates as that mailbox on smtp.office365.com, port 587, with STARTTLS at TLS 1.3 or 1.2, per Microsoft's device and application guide.
It can relay to the internet, so external recipients are reachable, and messages are saved to the mailbox's Sent Items.
Throughput is capped at 10,000 recipients per day and 30 messages per minute, and SMTP AUTH must be enabled on the mailbox, which Microsoft disables by default for organizations created after January 2020.
The same Microsoft guide notes that client SMTP submission with basic authentication is scheduled for deprecation and recommends modern authentication (OAuth), so a password-based setup on this path has a limited life. The port and encryption choices are covered in SMTP port numbers and SMTP over TLS.
This is the method the term usually refers to. The device connects to the tenant's MX endpoint, in the form yourdomain-com.mail.protection.outlook.com, on port 25, and an inbound connector in Exchange authenticates it.
The connector authenticates by TLS certificate or by static public IP address. Microsoft recommends the certificate approach, and dynamic IPs are not supported for the address-based option.
Compared with client submission, no licensed mailbox is required, the mailbox sending limits above do not apply, and mail can be sent from any address in an accepted domain even where no mailbox exists behind it.
Three constraints come with it:
An SPF record listing the sending IP is required, or messages route to Junk.
An agent asked to make an app send email through Microsoft 365 reads the same three options and tends to pick the one with the fewest credentials. That is usually Direct Send or a connector, and each one breaks on a fact about where agent-built code runs.
The alternative is to skip the Microsoft relay paths for application mail. An agent sends through the transactional email API or the Nitrosend MCP server from your own verified domain, so there is no connector to configure and no relay host to point one at. The email API covers the REST and SDK side, and sending email from LLMs covers the agent side. Microsoft 365 keeps the staff mailboxes, and the app's mail leaves from a separate sending subdomain.
For mail that must stay on SMTP, the mechanics of authenticating as a mailbox are in SMTP authentication for Office 365, and the general pattern of handing SMTP traffic to a provider is in SMTP relay services.
Direct Send also uses the MX endpoint on port 25, with no authentication and no connector.
It only delivers to recipients inside your own organization. Mail to external addresses is rejected outright, which rules it out for anything customer-facing.
Microsoft's device and application guide says most customers do not need Direct Send and that Microsoft is working on an option to disable it by default.
The decision follows from three questions. Do you have a licensed mailbox to send as, is the sending host on a static IP you control, and do recipients sit outside the organization.
| Route | Host and port | Authenticates by | Licensed mailbox | External recipients |
|---|---|---|---|---|
| Client SMTP submission | smtp.office365.com, port 587 with STARTTLS | Mailbox sign-in (SMTP AUTH) | Required | Yes, up to 10,000 recipients a day and 30 messages a minute |
| SMTP relay via connector | yourdomain-com.mail.protection.outlook.com, port 25 | TLS certificate or static public IP on an inbound connector | Not required | Yes |
| Direct Send | yourdomain-com.mail.protection.outlook.com, port 25 | Nothing | Not required | No, internal recipients only |
A licensed mailbox with modest volume points to client submission. An on-premises device with a static IP and internal-plus-external recipients points to the connector. Internal-only mail from a device that supports nothing modern points to Direct Send.
None of the three is a good fit for application mail at volume. All are designed to let an organization's own equipment send through infrastructure it already pays for, and none reports per-message delivery events, bounce classification or suppression state back to the sending application. A transactional email API sending from your own verified domain reports those events back to the app.
A sales team logs every call in an internal CRM, and the company's mail runs on Microsoft 365. The prompt, in the user's words:
After each logged sales call, email the customer a short recap with the next step. Send it from the company domain, not from a salesperson's mailbox.
Before, unguided: the agent writes a job that opens port 25 to yourdomain-com.mail.protection.outlook.com from the CRM's cloud host with no authentication. That is Direct Send, so recaps to customers outside the tenant are rejected. Asked to fix it, the agent proposes an inbound connector scoped to the host's current IP, which changes on the next deploy.
After, the gated sequence:
nitro_get_status reads the account, its sender identity and readiness before anything is written.nitro_manage_domains adds and verifies a sending subdomain such as crm.yourdomain.com, so the root domain and its mailboxes stay on Microsoft 365. Recaps arrive from an address at crm.yourdomain.com, still the company's domain and not a salesperson's mailbox.nitro_manage_template creates a reusable call-recap template with fields for the contact's name, the call date and the agreed next step.nitro_review_delivery checks the recap template read-only for validation errors, spam signals and readiness, and shows a preview. It sends nothing.nitro_send_test_message sends one real recap to the test recipient configured on the account with nitro_configure_account, never to a customer.nitro_send_message once per logged call, with an idempotency_key built from the call record ID, so a retried job cannot send the same recap twice.nitro_get_insights reports how the recaps perform over time, with trends, benchmarks and recommendations.Nothing in this sequence touches an Exchange connector, a mailbox password or port 25. To run it from your own agent, connect it to the Nitrosend MCP server.
Every plan includes full stack emailing: Flows, Newsletter Campaigns and Transactional Email, plus our NitroWheel LLM and all agent integrations (Claude, ChatGPT, Codex, Cursor and others). Pay for what you send, not who you store.
Every paid plan includes 3 agent inboxes and no Nitrosend footer.
For your first email program.
$192 billed yearly.
20,000 emails / month
Choose StarterFor a growing audience.
$480 billed yearly.
60,000 emails / month
Choose ProFor teams and agencies.
$1,440 billed yearly.
200,000 emails / month
Choose GrowthFor high-volume sending.
$2,880 billed yearly.
500,000 emails / month
Choose ScaleSending 500,000+ emails a month? Get a custom plan designed for you, with volume email pricing and capacity that fits your business.
5,000 emails to start, then 500 emails every month. No expiry on your starter emails.
Daily allowances depend on your plan and sender standing. Strong list, domain and delivery evidence can raise standing, including on day one. Trusted receives the full plan allowance; available email credits, safety checks and delivery pacing still apply.
Free forever. No credit card required. See full comparison →