SMTP গেটওয়ে
SMTP গেটওয়ে স্ট্যান্ডার্ড মেল সাবমিশন গ্রহণ করে এবং প্রতিটি বার্তা Messaging API v2 Notify-এ একটি ট্রানজ্যাকশনাল ইমেল হিসাবে ফরোয়ার্ড করে। যখন একটি বিদ্যমান মেল টুল — একটি MTA, একটি ফ্রেমওয়ার্ক মেইলার, একটি SDK — API-তে একটি JSON অনুরোধের চেয়ে প্লাগ ইন করা সহজ হয়, তখন এটি ব্যবহার করুন।
এটি কিভাবে কাজ করে
Anchor link to যেকোনো SMTP ক্লায়েন্ট smtp গেটওয়ে Messaging API v2 ──────────────── ──────> ──────────────── ──────> ───────────────── submission STARTTLS gRPC Notify AUTH PLAIN + AUTH PLAIN Authorization: Token- ক্লায়েন্ট
smtp.pushwoosh.com-এর সাথে পোর্ট587-এ সংযোগ করে,STARTTLS-এর মাধ্যমে সংযোগটি TLS-এ আপগ্রেড করে, তারপরAUTH PLAIN-এর মাধ্যমে প্রমাণীকরণ করে। - গেটওয়ে MIME বার্তাটি পার্স করে এবং
platforms: ["EMAIL"]এবংmessage_type: TRANSACTIONAL-এর সাথে একটিNotifyঅনুরোধ তৈরি করে। AUTH PLAINথেকে প্রাপ্ত API টোকেনটি Messaging API-তেAuthorizationহেডার হিসাবে ফরোয়ার্ড করা হয়। টোকেন যাচাইকরণ, অ্যাপ্লিকেশন ম্যাচিং, পাঠানোর পরিচয় এবং বাউন্স হ্যান্ডলিং সবই API সাইডে ঘটে।
এন্ডপয়েন্ট
Anchor link to| সেটিং | মান |
|---|---|
| হোস্ট | smtp.pushwoosh.com |
| পোর্ট | 587 (SMTP সাবমিশন) |
| TLS | STARTTLS — AUTH-এর আগে বাধ্যতামূলক |
| Auth | AUTH PLAIN |
প্রমাণীকরণ
Anchor link toAUTH PLAIN দুটি Pushwoosh ক্রেডেনশিয়াল ব্যবহার করে।
| AUTH ফিল্ড | Pushwoosh মান |
|---|---|
username | অ্যাপ্লিকেশন কোড, উদাহরণস্বরূপ XXXXX-XXXXX |
password | সার্ভার API টোকেন |
TLS-এর বাইরে AUTH প্রত্যাখ্যান করা হয়। টোকেনটি কখনও বার্তায় প্রদর্শিত হয় না — এটি শুধুমাত্র আপস্ট্রিম Notify কলকে অনুমোদন করার জন্য ব্যবহৃত হয়।
বার্তাগুলি কীভাবে Notify-তে ম্যাপ করা হয়
Anchor link to| MIME বা SMTP ফিল্ড | Notify ফিল্ড |
|---|---|
RCPT TO | target.users.list — Pushwoosh এই ঠিকানাগুলিকে সাবস্ক্রাইবারদের কাছে সমাধান করে |
AUTH username | application |
Subject: হেডার | email_payload.subject["default"] (RFC 2047 ডিকোড করা) |
From: হেডার | email_payload.from — name এবং email |
| HTML অংশ | email_payload.body (যখন উভয় অংশ উপস্থিত থাকে তখন পছন্দনীয়) |
| প্লেইন-টেক্সট অংশ | email_payload.body (যখন HTML অনুপস্থিত থাকে তখন ব্যবহৃত হয়) |
MAIL FROM | উপেক্ষা করা হয় — Pushwoosh তার নিজস্ব পাঠানোর পরিচয় প্রতিস্থাপন করে এবং নিজেই বাউন্স পরিচালনা করে |
প্রতিটি বার্তা schedule.send_date: now-এর সাথে পাঠানো হয়।
সীমা
Anchor link to| সীমা | মান |
|---|---|
| সর্বোচ্চ বার্তার আকার | 25 MiB |
প্রতি এনভেলপে সর্বোচ্চ প্রাপক (RCPT TO) | 50 |
ত্রুটি ম্যাপিং
Anchor link toMessaging API দ্বারা প্রত্যাবর্তিত gRPC স্ট্যাটাস কোডগুলি স্ট্যান্ডার্ড SMTP রিপ্লাই কোডে অনুবাদ করা হয় যাতে যেকোনো SMTP ক্লায়েন্ট একটি অর্থপূর্ণ ত্রুটি প্রদর্শন করে।
| আপস্ট্রিম gRPC স্ট্যাটাস | SMTP রিপ্লাই | অর্থ |
|---|---|---|
Unauthenticated | 535 5.7.8 | ভুল অ্যাপ্লিকেশন কোড বা API টোকেন। |
PermissionDenied | 550 5.7.1 | এই অ্যাপ্লিকেশনের জন্য টোকেনের কোনো অধিকার নেই। |
InvalidArgument / FailedPrecondition / OutOfRange | 550 5.6.0 | ভুল MIME কন্টেন্ট (উদাহরণস্বরূপ বিষয় বা বডি অনুপস্থিত)। |
NotFound | 550 5.1.1 | অ্যাপ্লিকেশন বা প্রাপক পাওয়া যায়নি। |
ResourceExhausted | 452 4.5.3 | রেট লিমিটে পৌঁছে গেছে — পরে আবার চেষ্টা করুন। |
DeadlineExceeded / Unavailable | 451 4.4.1 | অস্থায়ী আপস্ট্রিম ত্রুটি — পরে আবার চেষ্টা করুন। |
| অন্য কোনো ব্যর্থতা | 451 4.5.0 | অস্থায়ী অভ্যন্তরীণ ত্রুটি — পরে আবার চেষ্টা করুন। |
4xx রেঞ্জের কোডগুলি অস্থায়ী এবং ক্লায়েন্টের দ্বারা পুনরায় চেষ্টা করা উচিত; 5xx রেঞ্জের কোডগুলি স্থায়ী এবং ক্লায়েন্ট-সাইড ফিক্স প্রয়োজন।
উদাহরণ: swaks দিয়ে পাঠান
Anchor link toswaks --server smtp.pushwoosh.com:587 \ --auth-user "XXXXX-XXXXX" \ --auth-password "YOUR_API_TOKEN" \ --tls \ --from from@example.com \ --to user@example.com \ --header "Subject: Hello from SMTP gateway" \ --body "Plain-text body"MIME বডিতে From: হেডারটি Pushwoosh-এ পৌঁছায় — --from এনভেলপ (MAIL FROM) বাতিল করা হয়।
- গেটওয়েটি স্টেটলেস এবং বার্তা সংরক্ষণ করে না। একবার ফরোয়ার্ড করা হলে, ডেলিভারির দায়িত্ব Messaging API-এর।
- বাউন্স, অভিযোগ, এবং আনসাবস্ক্রাইব লিঙ্কগুলি Pushwoosh দ্বারা পরিচালিত হয়, যেমনটি অন্য যেকোনো ট্রানজ্যাকশনাল ইমেলের জন্য হয়।
- ক্যাম্পেইন পাঠানোর জন্য (সেগমেন্ট, শিডিউলিং, A/B), সরাসরি
Notifyব্যবহার করুন — SMTP গেটওয়ে শুধুমাত্র সাবমিশনের জন্য।