API

Στείλτε email μέσω REST ή SMTP.

Το onesend σας προσφέρει ένα REST API και ένα έτοιμο προς χρήση SMTP relay για συναλλακτικά email. Ευρωπαϊκά κυρίαρχο, συμβατό με GDPR, φιλοξενία στη Γερμανία. Μεταβείτε από τα Amazon SES, SendGrid, Mailgun ή Postmark αλλάζοντας μόνο τον host και το κλειδί.

Βάση REST

https://api.onesend.eu

Endpoint αποστολής

POST /v1/email/send

Auth REST

Authorization: Bearer KEY_ID:KEY_SECRET

Πίνακας

https://app.onesend.eu

Host SMTP

smtp.onesend.eu

Θύρα SMTP

587 (STARTTLS)

Όνομα χρήστη SMTP

KEY_ID

Κωδικός SMTP

KEY_SECRET

Έλεγχος ταυτότητας

Και οι δύο μέθοδοι χρησιμοποιούν το ίδιο διαπιστευτήριο: ένα κλειδί API, που έχει ένα key ID (δημόσιο) και ένα key secret. Δημιουργήστε κλειδιά στον πίνακα στο app.onesend.eu.

Ο έλεγχος ταυτότητας REST χρησιμοποιεί ένα token Bearer που αποτελείται από το key ID και το key secret ενωμένα με άνω και κάτω τελεία:

Authorization: Bearer YOUR_KEY_ID:YOUR_KEY_SECRET

Στο SMTP, το key ID είναι το όνομα χρήστη και το key secret ο κωδικός. Δεν υπάρχουν ξεχωριστά διαπιστευτήρια SMTP προς δημιουργία. Το κλειδί API είναι το διαπιστευτήριο τόσο για REST όσο και για SMTP.

Επαληθεύστε τον τομέα αποστολής

Μπορείτε να στέλνετε μόνο από διεύθυνση ενός τομέα που έχετε προσθέσει και επαληθεύσει. Απαιτείται ακόμη και κατά τη δοκιμαστική περίοδο, για την προστασία της φήμης της κοινόχρηστης IP. Η επαλήθευση γίνεται μία φορά, στον πίνακα.

Όταν προσθέτετε έναν τομέα, το onesend δημιουργεί ένα κλειδί DKIM και σας δίνει τέσσερις εγγραφές TXT για δημοσίευση στον πάροχο DNS σας:

ΣκοπόςHostΤιμή (παράδειγμα)
DKIMonesend._domainkey.yourdomain.comv=DKIM1; k=rsa; p=MIIB...
SPFyourdomain.comv=spf1 include:onesend.eu ~all
DMARC_dmarc.yourdomain.comv=DMARC1; p=none; rua=mailto:dmarc@onesend.eu
Ιδιοκτησία_onesend.yourdomain.comonesend-verify=YOUR_TOKEN

Το DKIM είναι αυτό που καθορίζει την επαλήθευση. Τα SPF και DMARC συνιστώνται ιδιαίτερα, αλλά ο τομέας επαληθεύεται μόνο με βάση το DKIM. Ο επιλογέας DKIM είναι onesend. Αν έχετε ήδη εγγραφή SPF, προσθέστε το include:onesend.eu στην υπάρχουσα εγγραφή αντί να δημιουργήσετε δεύτερη, καθώς ένας τομέας μπορεί να έχει μόνο μία εγγραφή SPF. Οι αλλαγές DNS χρειάζονται από λίγα λεπτά έως λίγες ώρες για να διαδοθούν.

Αποστολή με το REST API

POST https://api.onesend.eu/v1/email/send
Authorization: Bearer YOUR_KEY_ID:YOUR_KEY_SECRET
Content-Type: application/json

Σώμα αιτήματος:

{
  "from": "hello@yourdomain.com",
  "to": ["recipient@example.com"],
  "cc": ["optional@example.com"],
  "bcc": ["optional@example.com"],
  "reply_to": "reply@yourdomain.com",
  "subject": "Hello from onesend",
  "html": "<h1>It works</h1>",
  "text": "It works",
  "headers": { "X-Custom": "value" },
  "tags": { "campaign": "welcome" }
}

Τα υποχρεωτικά πεδία είναι from, to, subject και τουλάχιστον ένα από τα html ή text. Η διεύθυνση from πρέπει να βρίσκεται σε επαληθευμένο τομέα. Τα πεδία cc, bcc, reply_to, text, headers και tags είναι προαιρετικά.

Σε περίπτωση επιτυχίας, η απόκριση είναι 202 Accepted και το μήνυμα μπαίνει σε ουρά για παράδοση:

{ "message_id": "...", "status": "queued" }

Αν ο παραλήπτης βρίσκεται στη λίστα αποκλεισμού σας, το αίτημα εξακολουθεί να επιστρέφει 200 (όχι σφάλμα), η αποστολή παραλείπεται και δεν χρεώνεται:

{ "message_id": "...", "status": "suppressed", "reason": "Recipient on suppression list (bounce)" }

Αποστολή μέσω SMTP

Στρέψτε τον υπάρχοντα SMTP mailer σας στο onesend. Καμία αλλαγή κώδικα πέρα από τον host και τα διαπιστευτήρια.

Host:     smtp.onesend.eu
Port:     587
Security: STARTTLS (required)
Username: YOUR_KEY_ID
Password: YOUR_KEY_SECRET

Ισχύουν οι ίδιοι κανόνες με το REST: η διεύθυνση From πρέπει να βρίσκεται σε επαληθευμένο τομέα και οι αποκλεισμένοι παραλήπτες παραλείπονται και δεν χρεώνονται.

Παραδείγματα κώδικα

curl (REST)

curl -X POST https://api.onesend.eu/v1/email/send \
  -H "Authorization: Bearer $ONESEND_KEY_ID:$ONESEND_KEY_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "hello@yourdomain.com",
    "to": ["recipient@example.com"],
    "subject": "Hello from onesend",
    "html": "<h1>It works</h1>",
    "text": "It works"
  }'

Node.js (REST, fetch)

const res = await fetch("https://api.onesend.eu/v1/email/send", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.ONESEND_KEY_ID}:${process.env.ONESEND_KEY_SECRET}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    from: "hello@yourdomain.com",
    to: ["recipient@example.com"],
    subject: "Hello from onesend",
    html: "<h1>It works</h1>",
  }),
});
const data = await res.json();
console.log(res.status, data);

Node.js (SMTP, nodemailer)

import nodemailer from "nodemailer";

const transport = nodemailer.createTransport({
  host: "smtp.onesend.eu",
  port: 587,
  requireTLS: true,
  auth: {
    user: process.env.ONESEND_KEY_ID,
    pass: process.env.ONESEND_KEY_SECRET,
  },
});

await transport.sendMail({
  from: "hello@yourdomain.com",
  to: "recipient@example.com",
  subject: "Hello from onesend",
  html: "<h1>It works</h1>",
});

Python (REST, requests)

import os, requests

r = requests.post(
    "https://api.onesend.eu/v1/email/send",
    headers={
        "Authorization": f"Bearer {os.environ['ONESEND_KEY_ID']}:{os.environ['ONESEND_KEY_SECRET']}"
    },
    json={
        "from": "hello@yourdomain.com",
        "to": ["recipient@example.com"],
        "subject": "Hello from onesend",
        "html": "<h1>It works</h1>",
    },
)
print(r.status_code, r.json())

Python (SMTP, smtplib)

import os, smtplib
from email.message import EmailMessage

msg = EmailMessage()
msg["From"] = "hello@yourdomain.com"
msg["To"] = "recipient@example.com"
msg["Subject"] = "Hello from onesend"
msg.set_content("It works")
msg.add_alternative("<h1>It works</h1>", subtype="html")

with smtplib.SMTP("smtp.onesend.eu", 587) as s:
    s.starttls()
    s.login(os.environ["ONESEND_KEY_ID"], os.environ["ONESEND_KEY_SECRET"])
    s.send_message(msg)

PHP (REST, curl)

$ch = curl_init("https://api.onesend.eu/v1/email/send");
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer {$keyId}:{$keySecret}",
    "Content-Type: application/json",
  ],
  CURLOPT_POSTFIELDS => json_encode([
    "from" => "hello@yourdomain.com",
    "to" => ["recipient@example.com"],
    "subject" => "Hello from onesend",
    "html" => "<h1>It works</h1>",
  ]),
]);
$response = curl_exec($ch);

Οποιαδήποτε άλλη γλώσσα, framework ή εργαλείο στέλνει μέσω των παραπάνω ρυθμίσεων SMTP, όπως Go net/smtp, Ruby, Java, Laravel, Rails, Django, WordPress και n8n.

Μετάβαση από άλλον πάροχο

Η ταχύτερη μετάβαση είναι το SMTP: αλλάξτε τον host και τα διαπιστευτήρια και αφήστε τα υπόλοιπα ως έχουν. Σε κάθε περίπτωση, προσθέστε και επαληθεύστε πρώτα τον τομέα αποστολής σας στο onesend, καθώς η αποστολή απαιτεί επαληθευμένο τομέα.

Amazon SES

Για SMTP, αλλάξτε τον host από email-smtp.REGION.amazonaws.com σε smtp.onesend.eu στη θύρα 587 και χρησιμοποιήστε το key ID και το key secret του onesend αντί των διαπιστευτηρίων SMTP του SES. Είναι έτοιμο προς χρήση. Για REST, το SES χρησιμοποιεί αιτήματα υπογεγραμμένα με SigV4, οπότε το REST API του onesend έχει διαφορετική μορφή. Μεταβείτε στο POST /v1/email/send ή χρησιμοποιήστε SMTP για μετάβαση χωρίς αλλαγές κώδικα. Μπορείτε να εξαγάγετε τη λίστα αποκλεισμού του SES και να εισαγάγετε το CSV στον πίνακα.

SendGrid

Για SMTP, το SendGrid χρησιμοποιεί smtp.sendgrid.net με όνομα χρήστη apikey. Το onesend χρησιμοποιεί smtp.onesend.eu, με όνομα χρήστη το key ID σας και κωδικό το key secret σας. Για REST, το /v3/mail/send του SendGrid χρησιμοποιεί διαφορετική δομή JSON. Χρησιμοποιήστε αντ' αυτού POST /v1/email/send του onesend.

Mailgun

Για SMTP, αλλάξτε τον host από smtp.mailgun.org σε smtp.onesend.eu και αλλάξτε τα διαπιστευτήρια. Για REST, το Mailgun χρησιμοποιεί αιτήματα κωδικοποιημένα ως φόρμα προς /v3/DOMAIN/messages. Χρησιμοποιήστε αντ' αυτού το JSON POST /v1/email/send του onesend.

Postmark

Για SMTP, αλλάξτε τον host από smtp.postmarkapp.com σε smtp.onesend.eu και αλλάξτε τα διαπιστευτήρια. Για REST, το Postmark χρησιμοποιεί κεφαλίδα X-Postmark-Server-Token και διαφορετικό σώμα. Χρησιμοποιήστε αντ' αυτού POST /v1/email/send του onesend.

Τιμές κατάστασης παράδοσης

Ένα μήνυμα περνά από αυτές τις καταστάσεις:

  • queued έγινε αποδεκτό και αναμένει αποστολή από τον worker.
  • sent παραδόθηκε στον διακομιστή αλληλογραφίας του παραλήπτη.
  • bounced οριστική απόρριψη (μόνιμη). Η διεύθυνση προστίθεται στη λίστα αποκλεισμού σας.
  • soft_bounced προσωρινή αποτυχία, όπως γεμάτο γραμματοκιβώτιο. Επαναλαμβάνεται, χωρίς αποκλεισμό.
  • complained ο παραλήπτης το σήμανε ως spam. Προστέθηκε στη λίστα αποκλεισμού σας.
  • suppressed ο παραλήπτης ήταν ήδη στη λίστα αποκλεισμού σας. Παραλείφθηκε, χωρίς χρέωση.
  • invalid η διεύθυνση απέτυχε στην επικύρωση πριν την αποστολή (λανθασμένη σύνταξη ή ανύπαρκτος τομέας).
  • blocked αποκλείστηκε από έλεγχο πολιτικής πριν την αποστολή.
  • failed εσωτερική αποτυχία αποστολής.

Λίστα αποκλεισμού

Το onesend διατηρεί λίστα αποκλεισμού ανά λογαριασμό. Οι διευθύνσεις μπαίνουν αυτόματα από οριστικές απορρίψεις και παράπονα, από την επικύρωση πριν την αποστολή, ή τις προσθέτετε εσείς. Το onesend καταγράφει τόσο τον λόγο (γιατί αποκλείστηκε) όσο και την πηγή (πώς κατέληξε εκεί), καθώς και τον πραγματικό διαγνωστικό κωδικό. Διαχειρίζεστε τη λίστα στον πίνακα και μπορείτε να την εισαγάγετε ή να την εξαγάγετε ως CSV.

Πλάνα και χρέωση

Για αποστολή χρειάζεστε επαληθευμένο τομέα και ένα πλάνο. Η δοκιμή καλύπτει 100 email χωρίς χρονικό όριο. Τα επί πληρωμή πλάνα είναι Starter και Growth, με μηνιαία χρέωση μέσω Mollie (πάροχος πληρωμών της ΕΕ), με σωστή εφαρμογή ΦΠΑ για πελάτες εντός και εκτός ΕΕ, συμπεριλαμβανομένης της αντίστροφης χρέωσης για επαληθευμένους επιχειρηματικούς ΑΦΜ ΦΠΑ της ΕΕ. Η υπέρβαση χρεώνεται, δεν μπλοκάρεται, και οι αποκλεισμένες αποστολές δεν μετρούν ποτέ. Για τρέχουσες τιμές και συμπεριλαμβανόμενους όγκους, δείτε τη σελίδα τιμών.

Κυριαρχία και συμμόρφωση

  • Εταιρεία λειτουργίας: WOCOO Management and Consulting GmbH, Βιέννη, Αυστρία.
  • Υποδομή: Hetzner, Falkenstein, Γερμανία. Κανένας υποεπεξεργαστής από τις ΗΠΑ στη διαδρομή αποστολής.
  • Σχεδιασμένο για GDPR: τα δεδομένα των παραληπτών βρίσκονται σε ένα θησαυροφυλάκιο ταυτότητας, ξεχωριστά από τα αρχεία καταγραφής αποστολών, και κάθε λογαριασμός ορίζει τη δική του πολιτική διατήρησης. Τα δεδομένα της λίστας αποκλεισμού και τα συγκεντρωτικά στατιστικά διατηρούνται.
  • Παραδοσιμότητα: SPF, DKIM με κλειδιά 2048 bit ανά τομέα και DMARC ανά τομέα αποστολής. Αποκλειστικές IP αποστολής κατόπιν αιτήματος.

Δημιουργείτε ενσωμάτωση με βοηθό AI; Ένα αντίγραφο αυτής της αναφοράς σε απλό κείμενο βρίσκεται στο /llms-full.txt