Reference
SDK a knihovny
Oficiální knihovny Emailitu pro Node.js, PHP, Laravel, Python, Ruby, Go, Javu, .NET a Rust, balíček MCP a volání API přes obyčejné HTTP.
Emailit spravuje open-source klientské knihovny pro devět jazyků a frameworků. Každá obaluje REST API, má typované chyby a používá stejné názvy zdrojů, jaké vidíte v referenci API. Pokud váš jazyk v seznamu není, poslouží jakýkoli HTTP klient.
Oficiální knihovny
Všechny knihovny mají licenci MIT a publikujeme je z github.com/emailit.
| Jazyk | Balíček | Instalace | Požadavky | Zdrojový kód |
|---|---|---|---|---|
| Node.js | @emailit/node |
npm install @emailit/node |
Node.js 18+ | emailit-node |
| PHP | emailit/emailit-php |
composer require emailit/emailit-php |
PHP 8.1+ | emailit-php |
| Laravel | emailit/emailit-laravel |
composer require emailit/emailit-laravel |
Laravel 10, 11 nebo 12 | emailit-laravel |
| Python | emailit |
pip install emailit |
Python 3.7+ | emailit-python |
| Ruby | emailit |
bundle add emailit |
Ruby 3.0+ | emailit-ruby |
| Go | github.com/emailit/emailit-go/v2 |
go get github.com/emailit/emailit-go/v2 |
Go 1.21+ | emailit-go |
| Java | com.emailit:emailit-java |
Maven nebo Gradle, viz níže | Java 11+ | emailit-java |
| .NET | Emailit |
dotnet add package Emailit |
.NET 8+ | emailit-dotnet |
| Rust | emailit |
cargo add emailit |
Rust 1.85+ a Tokio | emailit-rust |
V Javě přidejte závislost s nejnovější verzí uvedenou v repozitáři:
<dependency>
<groupId>com.emailit</groupId>
<artifactId>emailit-java</artifactId>
<version>VERSION</version>
</dependency>implementation 'com.emailit:emailit-java:VERSION'Odešlete e-mail
Každá knihovna při vytvoření klienta přijímá váš API klíč. Načtěte ho z proměnné prostředí, místo abyste ho zapisovali přímo do kódu.
import { Emailit } from '@emailit/node';
const emailit = new Emailit(process.env.EMAILIT_API_KEY);
const email = await emailit.emails.send({
from: 'Acme <hello@acme.com>',
to: 'ada@example.com',
subject: 'Welcome to Acme',
html: '<p>Thanks for signing up.</p>',
});
console.log(email.id);require 'vendor/autoload.php';
$emailit = Emailit::client(getenv('EMAILIT_API_KEY'));
$email = $emailit->emails()->send([
'from' => 'Acme <hello@acme.com>',
'to' => 'ada@example.com',
'subject' => 'Welcome to Acme',
'html' => '<p>Thanks for signing up.</p>',
]);
echo $email->id;use Emailit\Laravel\Facades\Emailit;
$email = Emailit::emails()->send([
'from' => 'Acme <hello@acme.com>',
'to' => 'ada@example.com',
'subject' => 'Welcome to Acme',
'html' => '<p>Thanks for signing up.</p>',
]);import os
from emailit import EmailitClient
client = EmailitClient(os.environ["EMAILIT_API_KEY"])
email = client.emails.send({
"from": "Acme <hello@acme.com>",
"to": "ada@example.com",
"subject": "Welcome to Acme",
"html": "<p>Thanks for signing up.</p>",
})
print(email.id)require "emailit"
client = Emailit::EmailitClient.new(ENV.fetch("EMAILIT_API_KEY"))
email = client.emails.send(
from: "Acme <hello@acme.com>",
to: "ada@example.com",
subject: "Welcome to Acme",
html: "<p>Thanks for signing up.</p>"
)
puts email.idpackage main
import (
"fmt"
"os"
"github.com/emailit/emailit-go/v2"
)
func main() {
client := emailit.NewClient(os.Getenv("EMAILIT_API_KEY"))
email, err := client.Emails.Send(&emailit.SendEmailRequest{
From: "Acme <hello@acme.com>",
To: []string{"ada@example.com"},
Subject: "Welcome to Acme",
Html: "<p>Thanks for signing up.</p>",
})
if err != nil {
panic(err)
}
fmt.Println(email.Id)
}import com.emailit.*;
import com.emailit.params.*;
import java.util.List;
EmailitClient emailit = new EmailitClient(System.getenv("EMAILIT_API_KEY"));
EmailitObject email = emailit.emails().send(
EmailSendParams.builder()
.setFrom("Acme <hello@acme.com>")
.setTo(List.of("ada@example.com"))
.setSubject("Welcome to Acme")
.setHtml("<p>Thanks for signing up.</p>")
.build()
);
System.out.println(email.getString("id"));using Emailit;
using Emailit.Options;
using Emailit.Resources;
var emailit = new EmailitClient(Environment.GetEnvironmentVariable("EMAILIT_API_KEY"));
Email email = emailit.Emails.Send(new EmailSendOptions
{
From = "Acme <hello@acme.com>",
To = new[] { "ada@example.com" },
Subject = "Welcome to Acme",
Html = "<p>Thanks for signing up.</p>",
});
Console.WriteLine(email.Id);use emailit::types::CreateEmailBaseOptions;
use emailit::{Emailit, Result};
#[tokio::main]
async fn main() -> Result<()> {
let emailit = Emailit::new(&std::env::var("EMAILIT_API_KEY").expect("EMAILIT_API_KEY is not set"));
let options = CreateEmailBaseOptions::new(
"Acme <hello@acme.com>",
["ada@example.com"],
"Welcome to Acme",
)
.with_html("<p>Thanks for signing up.</p>");
let email = emailit.emails.send(options).await?;
println!("{:?}", email.id);
Ok(())
}curl https://api.emailit.com/v2/emails \
-H "Authorization: Bearer $EMAILIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "Acme <hello@acme.com>",
"to": "ada@example.com",
"subject": "Welcome to Acme",
"html": "<p>Thanks for signing up.</p>"
}'Adresa from musí být na ověřené odesílací doméně. Dokud váš workspace nemá produkční přístup, můžete odesílat jen na e-mailové adresy účtů členů workspace.
Co knihovny pokrývají
Každá knihovna zpřístupňuje stejné služby: e-maily, domény, API klíče, seznamy kontaktů, odběratele, šablony, blokované adresy, ověření e-mailů, seznamy k ověření, webhooky, kontakty a události. Chyby se vyhazují jako typované výjimky nebo vracejí jako chybové hodnoty, například chyba autentizace pro 401, chyba limitu rychlosti pro 429 a chyba validace pro 422, takže můžete každý případ ošetřit zvlášť.
Některé novější endpointy knihovny zatím nepokrývají, mimo jiné přeposlání e-mailu, kampaně, automatizace, formuláře a DMARC reporty. Knihovny také nenastavují hlavičku Idempotency-Key. V těchto případech volejte endpoint přes HTTP se stejným API klíčem, jak ukazuje příklad níže.
Nastavení pro konkrétní frameworky, včetně mail transportů, rout pro webhooky a konfigurace SMTP, najdete v návodech pro frameworky: Node.js, Next.js, Nuxt, Laravel, PHP, Python, Ruby on Rails, Go, Java, .NET a WordPress.
Balíček s MCP serverem
Open-source balíček @emailit/emailit-mcp spouští MCP server na vašem počítači, aby AI asistenti mohli volat Emailit s vaším API klíčem:
npx -y @emailit/emailit-mcpVětšina lidí ho nepotřebuje: hostovaný server na https://api.emailit.com/mcp nevyžaduje žádnou instalaci. Obě možnosti porovnává stránka Lokální spuštění MCP serveru.
@emailit/js je jiný balíček: je to skript pro prohlížeč, který na vašem webu zobrazuje formuláře Emailitu, ne klient API.
Používejte API přes HTTP
Knihovnu nepotřebujete. Poslouží jakýkoli HTTP klient, který umí posílat JSON:
- Základní URL:
https://api.emailit.com/v2 - Hlavičky:
Authorization: Bearer <your API key>aContent-Type: application/json - Těla požadavků a odpovědi: JSON
Například přeposlání e-mailu s idempotenčním klíčem z Node.js bez SDK:
const response = await fetch('https://api.emailit.com/v2/emails/em_4K6oASS7KP9ztzWmSN9ndEu13HW/forward', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.EMAILIT_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': 'forward-order-1042',
},
body: JSON.stringify({ to: 'support@acme.com' }),
});
if (!response.ok) {
throw new Error(`Emailit returned ${response.status}: ${await response.text()}`);
}Než si napíšete vlastního klienta, přečtěte si stránky Chyby a Limity rychlosti, abyste správně ošetřili odpovědi 4xx a retry-after. Pokud vaše aplikace už umí SMTP, můžete API úplně vynechat a použít SMTP relay.
Komunitní knihovny
Emailit nespravuje žádné knihovny mimo seznam výše. Pokud najdete nebo vytvoříte knihovnu pro jiný jazyk nebo framework, zkontrolujte její kód dřív, než jí dáte API klíč, a dejte přednost klíči jen pro odesílání omezenému na jednu doménu. Pokud chcete, abychom ji tu zmínili, dejte nám vědět na support@emailit.com nebo na Discordu.