رفتن به محتوای اصلی
سندک

مستنداتارسال

SMTP

تنظیمات اتصال با SMTP، پورت‌ها، رمزنگاری و پاسخ‌های خطا.

آخرین ویرایش: ۲۱ آبان ۱۴۰۵

اگر برنامه‌ی شما تنظیم SMTP دارد (WordPress، WooCommerce، Laravel، Nodemailer و غیره)، بدون نوشتن کد به سندک وصل می‌شود.

تنظیمات

موردمقدار
میزبانsmtp.sendak.ir
پورت587 یا 2525
رمزنگاریSTARTTLS (در Laravel: tls)
نام کاربریشناسه‌ی کلید، از صفحه‌ی «کلیدها»
رمزراز کلید، با sd_live_ شروع می‌شود
.env
MAIL_MAILER=smtp
MAIL_HOST=smtp.sendak.ir
MAIL_PORT=587
MAIL_USERNAME=شناسه‌ی_کلید
MAIL_PASSWORD=sd_live_…
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="hello@shop.ir"

رمزنگاری

احراز هویت فقط روی اتصال رمزنگاری‌شده پذیرفته می‌شود: اتصال را باز کنید، STARTTLS بزنید و بعد وارد شوید. ورود بدون TLS رد می‌شود.

پورت 465 (TLS از همان ابتدا) پشتیبانی نمی‌شود. اگر کتابخانه‌ی شما فقط 465 را می‌شناسد، از API استفاده کنید.

پورت 25 برای ارسال نیست و فقط برگشتی‌ها و گزارش‌ها از آن می‌آیند.

قاعده‌ها

  • آدرس From باید روی دامنه‌ی تأییدشده باشد.
  • هر پیام دقیقاً یک From دارد.
  • حداکثر ۵۰ گیرنده در هر پیام (جمع To و Cc و Bcc).
  • حداکثر اندازه‌ی پیام ۱۰ مگابایت.
  • هر گیرنده یک واحد از سهمیه‌ی شما حساب می‌شود؛ تلاش دوباره‌ی خود ما برای همان گیرنده دوباره حساب نمی‌شود.

پاسخ‌ها

SMTP کدهای دو نوع دارد: 4xx یعنی بعداً دوباره بفرستید، و 5xx یعنی این پیام هرگز پذیرفته نمی‌شود. کلاینت‌های معمول 4xx را خودشان دوباره امتحان می‌کنند.

کدمعنا
451 4.7.1نرخ ارسال حساب از حد گذشته؛ کمی بعد دوباره بفرستید
451 4.7.0سرویس موقتاً در دسترس نیست؛ دوباره امتحان کنید
452 4.5.3گیرنده‌های این پیام از ۵۰ بیشتر است
550 5.7.1 سقف مصرفسهمیه‌ی ارسال حساب تمام شده
550 5.7.1 گیرندهگیرنده در فهرست حذف حساب است
550 5.7.1 حساب یا کلیدحساب فعال نیست یا کلید دیگر معتبر نیست

نکته: با Idempotency-Key فقط API جلوی ارسال تکراری را می‌گیرد؛ SMTP چنین سازوکاری ندارد. اگر کلاینت شما بعد از قطع اتصال پیام را دوباره بفرستد، ممکن است دو ایمیل برود.

بررسی با cURL

cURL
curl --ssl-reqd smtp://smtp.sendak.ir:587 \
  --user 'شناسه_کلید:sd_live_…' \
  --mail-from hello@shop.ir \
  --mail-rcpt you@example.com \
  -T message.eml