You build the templates, the automations and the logic yourself, exactly the way you want them. You hand the sending to us: one API call, an SMTP connection, or an MCP server that Claude Code runs on its own.
With Claude Code you can build, in a weekend, a system that manages a list, designs an email and schedules a send. What decides whether the email reaches the inbox happens after you press send, and code alone does not solve it:
This is the part we have been doing since 2009. We maintain the sending servers and their reputation, we carry out domain warm-up and list cleaning for you, and a recipient who clicks unsubscribe stops receiving mail from your account, including sends made through the API.
Use it when your code decides who gets what. You issue an API key in your account, under My account, Advanced settings, API settings.
// Node.js 18+
const r = await fetch(
"https://heb.mesereser.com/Services/JsonServices.aspx?f=SendSingleEMailMessage",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"User-Agent": "my-app/1.0",
"ApiKey": process.env.MESER10_API_KEY,
},
body: JSON.stringify({
ToEMail: "person@example.com",
Subject: "We got your order",
Body: "<p>Thank you, your order is on its way.</p>",
FromName: "My Shop",
ReplyToEMail: "hello@yourdomain.com",
LinkClickCountType: "",
}),
}
);
const res = await r.json();
if (Number(res.ErrorCode) !== 0) throw new Error(res.Result);
Three things worth telling Claude Code up front, because they cause most integration faults: our application always answers HTTP 200 and only ErrorCode says whether the message was accepted, the ReplyToEMail field is required, and you must send your own User-Agent header (without it the request can be blocked with a 403 before it reaches us). This call sends one message to one recipient, with no attachments. Sending to lists, campaigns and reports are in the SOAP service and in the MCP server.
You can also hand Claude Code the OpenAPI spec and ask it to write the integration.
If you built on a library or a tool that already sends over SMTP, there is no integration to write. Set our SMTP server as the outgoing mail server and sign in with the username and password of your Meser 10 account. Our support team gives you the server address and port.
Our MCP server is open source. It gives Claude Code tools that work against your account: see lists and campaigns, check who clicked and who unsubscribed, and, if you open the permission, add contacts and send. One command connects it:
claude mcp add --env MESER10_API_KEY=YOUR_KEY --env MESER10_USER_ID=YOUR_ACCOUNT_NUMBER \ --env MESER10_MODE=read --transport stdio meser10 -- npx -y @meser10/mcp-server
The server starts read-only. Writing, sending and deleting are separate levels that open only when you decide, and tools outside the level you chose are not shown to the model at all. The server runs on your computer and the key stays with you. A ready starter: claude-code-email-starter on GitHub.
If you start with email and later want a reminder, an update or a verification code by SMS, you do not need another provider. Same API key, same account:
const r = await fetch(
"https://heb.mesereser.com/Services/JsonServices.aspx?f=SendSingleSmsMessage",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"User-Agent": "my-app/1.0",
"ApiKey": process.env.MESER10_API_KEY,
},
body: JSON.stringify({
ToPhone: "050XXXXXXX",
MessageBody: "Your appointment is tomorrow at 10:00",
FromName: "MyShop",
}),
}
);
const sms = await r.json();
if (Number(sms.ErrorCode) !== 0) throw new Error(sms.Message || sms.Result);
Before the first SMS the sender name has to be verified. It is a one-time process.
If you want to run the mail servers yourself as well, that is a different project, and we are not the answer to it.
Opening an account is free and includes a one-time gift of 250 emails and 50 SMS, so you can try the API connection before you pay. Email plans start at 12 ILS a month before VAT. All prices.
Can I send from my own domain?
Yes, once the domain has SPF, DKIM and DMARC records and is verified in your account. The Domain Ready check shows in a minute what is set and what is missing.
What happens when a recipient unsubscribes?
Their status in the account changes to removed and the system stops sending to them from the account, including sends through the API. You do not need to check status before every send.
Is there a rate limit?
The limit depends on the account's plan. Write to support with your account number and you will get the limit that applies to you.
Can the MCP server send without my approval?
No. The default is read-only. Sending opens only if you set it explicitly, and we recommend asking the model to show the text and the recipients before a real send.
Do I need to know how to code?
To connect by API it helps to understand what Claude Code writes for you. If you prefer no code, you can work in the regular Meser 10 interface, or ask us to build and send for you.
Want to try it?
Open a free account and issue an API key.