ترحيل SMTP
إرسال رسائل البريد الإلكتروني عبر ترحيل SMTP الخاص بـ Mail.Land باستخدام بروتوكولات SMTP القياسية
يوفر MailLand ترحيل SMTP للتطبيقات التي ترسل البريد الإلكتروني عبر SMTP. استخدم نفس بيانات اعتماد API للمصادقة والإرسال عبر منافذ SMTP القياسية.
إعدادات الاتصال
| الإعداد | القيمة |
|---|---|
| المضيف | smtp.mail.land |
| المنفذ 587 | إرسال مع STARTTLS (إلزامي) |
| المصادقة | مطلوبة |
| اسم المستخدم | أي قيمة (مثال: بريدك الإلكتروني، أو apikey) |
| كلمة المرور | مفتاح API الخاص بـ MailLand |
| الحد الأقصى لحجم الرسالة | 15 ميجابايت (15,728,640 بايت)؛ الرسائل الأكبر تُرفض بخطأ 552 |
لا يُنشر للـ relay في الإنتاج سوى المنفذ 587 (STARTTLS). المنفذ 465 (TLS ضمني) غير منشور، والمنفذ 25 موجَّه إلى بوابة الوارد المنفصلة، وليس إلى الـ relay.
المصادقة
تستخدم مصادقة SMTP مفتاح API الخاص بـ MailLand ككلمة مرور. يمكن أن يكون اسم المستخدم أي قيمة: يتجاهله MailLand ويُصادق بناءً على مفتاح API فقط.
يجب أن يكون لدى بيانات الاعتماد الخاصة بك قناة Smtp مُفعّلة. إذا كانت بيانات الاعتماد تحتوي فقط على قناة Api مُفعّلة، سيتم رفض مصادقة SMTP.
Username: apikey
Password: ml_pet_Ab3Kx9mN2pQ7rT4wL8yD...لا يُقبل البريد الإلكتروني لحسابك وكلمة مروره للمصادقة عبر SMTP. أنشئ بيانات اعتماد SMTP في لوحة التحكم واستخدمها ككلمة مرور.
أمثلة التكوين
const nodemailer = require('nodemailer');
const transporter = nodemailer.createTransport({
host: 'smtp.mail.land',
port: 587,
secure: false, // STARTTLS
auth: {
user: 'apikey',
pass: 'ml_pet_Ab3Kx9mN2pQ7rT4wL8yD...',
},
});
await transporter.sendMail({
from: '"Your App" <[email protected]>',
to: '[email protected]',
subject: 'Hello from MailLand',
html: '<h1>Hello!</h1><p>Sent via SMTP relay.</p>',
text: 'Hello! Sent via SMTP relay.',
});قواعد بيانات الاعتماد
تنطبق نفس قواعد بيانات الاعتماد على SMTP كما على REST API:
- التدفق: بيانات اعتماد المعاملات تحدّ المستلمين بـ 5 لكل رسالة؛ بيانات الاعتماد التسويقية تسمح بحتى 1,000 مستلم لكل رسالة
- نطاق النطاقات: إذا كانت بيانات الاعتماد محددة بنطاقات معينة، يجب أن يكون نطاق المُرسِل في القائمة المسموحة
- قائمة IP المسموحة: إذا كانت بيانات الاعتماد تحتوي على قيود IP، يجب أن يكون عنوان IP المتصل مسموحاً به
- حدود المعدل: تُطبّق حدود بيانات الاعتماد لكل دقيقة (إن وُجدت) ولكل ساعة (الافتراضي 1,000) ولكل يوم (الافتراضي 10,000) قبل حدود خطة مساحة العمل. تجاوز أحدها يُعيد خطأ مؤقتاً
421. الحد لكل ثانية غير مُطبَّق حالياً - الوضع: تقبل بيانات اعتماد Sandbox الرسالة وتسجّلها ولا تُسلّمها أبداً، أياً كانت قيمة
sandboxBehavior
حدود اتصال IP
بشكل مستقل عن حدود معدل بيانات الاعتماد، تكون اتصالات SMTP محدودة المعدل لكل عنوان IP:
| الحد | الافتراضي |
|---|---|
| الاتصالات في الدقيقة | 30 |
| الاتصالات في الساعة | 300 |
تُطبّق هذه الحدود قبل المصادقة. في حال تجاوزها، يُرفض الاتصال مع رسالة لإعادة المحاولة لاحقاً.
رموز استجابة SMTP
| الرمز | المعنى |
|---|---|
250 | تم قبول الرسالة للتسليم |
421 | مؤقت: تم تجاوز حد معدل بيانات الاعتماد أو مساحة العمل، أو الحصة، أو وتيرة الإحماء. أعد المحاولة لاحقاً؛ هذا ليس رفضاً دائماً |
451 | مؤقت: الإرسال متوقف بسبب ارتفاع مفاجئ في الحجم أو إيقاف التسويق أو تعليق إمكانية التسليم. أبقِ الرسالة في قائمة الانتظار وأعد المحاولة؛ تُقبل بمجرد رفع الإيقاف |
550 | دائم: النطاق غير مُوثّق، أو المرسل/المستلم محظور، أو التحقق مطلوب، أو تجاوز حد مستلمي التسويق (1,000 لكل رسالة)، أو جميع المستلمين مدرجون في قائمة الحظر (5.7.1) |
552 | دائم: الرسالة تتجاوز الحد الأقصى للحجم (15 ميجابايت)، أو تتجاوز المرفقات 10 ميجابايت مجتمعة بعد فك الترميز، أو تتجاوز الرسالة المجمّعة حد حجم الرسائل في المنصة (5.3.4) |
معالجة الأخطاء
عند رفض رسالة، تتضمن استجابة SMTP سبباً مقروءاً. الرفض المؤقت (القابل لإعادة المحاولة) يبدو هكذا:
421 Try again later: rate limit exceeded
421 Try again later: monthly quota exceeded
421 Try again later: credential rate limit exceeded
451 4.7.0 Marketing emails are paused for this accountوالرفض الدائم يبدو هكذا:
550 5.7.1 Domain is not verified. Add DNS records at https://app.mail.landعلى عكس REST API (التي تُعيد 202 Accepted وتُعالج بشكل غير متزامن)، يمكن لـ SMTP رفض الرسائل بشكل متزامن على مستوى الاتصال لانتهاكات النطاق وحد المعدل والحصة.
مقارنة SMTP مع REST API
| الميزة | REST API | ترحيل SMTP |
|---|---|---|
| البروتوكول | HTTPS | SMTP |
| المصادقة | ترويسة X-API-Key | SMTP AUTH (المفتاح ككلمة مرور) |
| الاستجابة | غير متزامنة (202 Accepted) | متزامنة (250 OK أو خطأ) |
| المرفقات | Base64 في JSON | MIME قياسي |
| القوالب | حقل templateId | غير مدعوم (استخدم MIME) |
| الإرسال المُجدول | حقل scheduledAt | غير مدعوم |
| التتبع | حقل tracking | يُكوّن لكل نطاق |
| متغيرات كل مستلم | to[].variables | غير مدعوم |
| الإرسال الجماعي | endpoint send-batch | غير مدعوم |
الخطوات التالية
- واجهة REST API: إرسال رسائل البريد الإلكتروني عبر REST API
- مفاتيح API: تكوين قناة SMTP في بيانات الاعتماد
- إعداد النطاق: تكوين سجلات DNS لنطاق الإرسال