Documentation Index
Fetch the complete documentation index at: https://docs.mailglyph.com/llms.txt
Use this file to discover all available pages before exploring further.
Use a secret key client for all email methods.
from mailglyph import MailGlyph
client = MailGlyph("sk_your_secret_key")
Send with basic HTML (emails.send)
result = client.emails.send(
to="user@example.com",
from_={"name": "MailGlyph Demo", "email": "hello@your-verified-domain.com"},
subject="Welcome",
body="<h1>Hello</h1><p>Your SDK setup is working.</p>",
)
print(result.timestamp)
print(result.emails[0].email)
Send to multiple recipients
to supports strings, recipient objects, or both:
client.emails.send(
to=["one@example.com", {"name": "Two", "email": "two@example.com"}],
from_="hello@your-verified-domain.com",
subject="Product update",
body="<p>New features are live.</p>",
)
Send with template and data
client.emails.send(
to="user@example.com",
from_="hello@your-verified-domain.com",
template="tmpl_123",
data={"firstName": "John", "plan": "premium"},
)
Send with attachments
Attachment content should be Base64-encoded:
client.emails.send(
to="user@example.com",
from_="billing@your-verified-domain.com",
subject="Your invoice",
body="<p>Invoice attached.</p>",
attachments=[
{
"filename": "invoice.pdf",
"content": "JVBERi0xLjQKJ...",
"contentType": "application/pdf",
}
],
)
Send with advanced options
client.emails.send(
to={"name": "Jane Doe", "email": "jane@example.com"},
from_={"name": "Growth Team", "email": "hello@your-verified-domain.com"},
subject="Release notes",
body="<p>Monthly update.</p>",
reply="support@your-verified-domain.com",
name="Monthly newsletter",
subscribed=True,
headers={"X-Campaign-Id": "monthly-2026-03"},
)
Verify an email address (emails.verify)
verification = client.emails.verify("user@gmail.com")
print(verification.valid)
print(verification.is_random_input)
print(verification.reasons)
Handle typo suggestions
verification = client.emails.verify("user@gmial.com")
if verification.is_typo and verification.suggested_email:
print("Did you mean:", verification.suggested_email)
Async equivalents
AsyncMailGlyph exposes the same method names and parameters:
from mailglyph import AsyncMailGlyph
async def run() -> None:
async with AsyncMailGlyph("sk_your_secret_key") as client:
await client.emails.send(
to="user@example.com",
from_="hello@your-verified-domain.com",
subject="Hello",
body="<p>Async send</p>",
)
verification = await client.emails.verify("user@gmail.com")
print(verification.valid)
See full endpoint details in the Send email API reference and Verify email API reference.