مستنداتارسال
SMTP
تنظیمات اتصال با SMTP، پورتها، رمزنگاری و پاسخهای خطا.
آخرین ویرایش: ۲۱ آبان ۱۴۰۵
اگر برنامهی شما تنظیم SMTP دارد (WordPress، WooCommerce، Laravel، Nodemailer و غیره)، بدون نوشتن کد به سندک وصل میشود.
تنظیمات
| مورد | مقدار |
|---|---|
| میزبان | smtp.sendak.ir |
| پورت | 587 یا 2525 |
| رمزنگاری | STARTTLS (در Laravel: tls) |
| نام کاربری | شناسهی کلید، از صفحهی «کلیدها» |
| رمز | راز کلید، با sd_live_ شروع میشود |
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 --ssl-reqd smtp://smtp.sendak.ir:587 \
--user 'شناسه_کلید:sd_live_…' \
--mail-from hello@shop.ir \
--mail-rcpt you@example.com \
-T message.eml