Skip to content

ইমেইল

আপনার অ্যাপ থেকে transactional ইমেইল পাঠান। আপনার অ্যাপের Admin > Email থেকে sender পরিচয় পরিচালনা করুন এবং delivery ট্র্যাক করুন।

প্রতিটি Proyecta অ্যাপ transactional ইমেইল পাঠাতে পারে। একটি sender পরিচয় যাচাই করুন, তারপর আপনার অ্যাপের কোড থেকে পাঠান — আলাদা কোনো email provider অ্যাকাউন্টের প্রয়োজন নেই।

builder-এ Admin > Email খুলুন — অথবা আপনার published সাইটে /admin। এটিতে দুটি অংশ রয়েছে:

অংশ এটি কীসের জন্য
Identities sender ইমেইল ঠিকানা বা domain যোগ করুন এবং যাচাই করুন
Sent delivery status সহ পাঠানো ইমেইলগুলো দেখুন (sent, delivered, bounced ইত্যাদি)

তুমি কোড না লিখেই একটি নতুন sender পরিচয় যোগ করতে এবং তোমার ইমেইল delivery ইতিহাস দেখতে পারবে।

  1. একটি sender পরিচয় তৈরি ও যাচাই করো (একটি ইমেইল ঠিকানা বা domain) তোমার admin প্যানেলে
  2. পাঠাওuseSendEmail() ব্যবহার করে তোমার অ্যাপ থেকে, অথবা campaign-এর জন্য admin প্যানেল থেকে

একটি shared ঠিকানা থেকে পাঠাও (@proyectamail.com)

Section titled “একটি shared ঠিকানা থেকে পাঠাও (@proyectamail.com)”

সবচেয়ে সহজ পথ হলো Proyecta-র shared sending domain @proyectamail.com-এ একটি ঠিকানা নেওয়া। তুমি তৈরি করার সাথে সাথেই এটি যাচাই হয়ে যায় — platform ইতিমধ্যেই সেই domain-এর মালিক, তাই তোমাকে কোনো DNS রেকর্ড সেট আপ করতে হবে না।

তুমি এটি তোমার অ্যাপের admin প্যানেলের Emails বিভাগে করো: তুমি যে ঠিকানাটি চাও সেটি লিখো, এবং এটি সঙ্গে সঙ্গেই ব্যবহারের জন্য প্রস্তুত।

Single ঠিকানা শুধুমাত্র @proyectamail.com-এ কাজ করে। অন্য কোনো domain-এ (যেমন hello@myapp.com) চাইলে তা প্রত্যাখ্যান করা হবে — তোমার নিজের domain থেকে পাঠাতে হলে পুরো domain-টিই যাচাই করো (নিচে দেখো)। প্রতিটি shared ঠিকানা globally reserved, তাই দুটি অ্যাপ একই @proyectamail.com sender হিসেবে পাঠাতে পারবে না।

নিজের domain যাচাই করো (Pro)

Section titled “নিজের domain যাচাই করো (Pro)”

তোমার নিজের domain থেকে পাঠাতে — সেই domain-এর যেকোনো ঠিকানা থেকে (hello@, support@, noreply@ ইত্যাদি) — পুরো domain-টি যাচাই করো। shared @proyectamail.com ঠিকানার মতো, একটি custom domain তাৎক্ষণিকভাবে যাচাই হয় না

একই Emails বিভাগে domain যোগ করো। এটি email provider-এর সাথে নিবন্ধিত হয় এবং তোমাকে তোমার DNS-এ publish করার জন্য SPF, DKIM, এবং DMARC রেকর্ড দেখায়। সেই রেকর্ডগুলো propagate হয়ে provider সেগুলো নিশ্চিত না করা পর্যন্ত sender pending-এ থাকবে, তারপর verified-এ পরিণত হবে — রেকর্ডগুলো publish করার পরে re-check বোতামটি ব্যবহার করো।

DNS-ভিত্তিক domain যাচাইকরণ সম্পূর্ণরূপে বাস্তবায়িত — রেকর্ডগুলো provider দ্বারা তৈরি হয় এবং প্রতিটি re-check তাদের status পুনরায় পরীক্ষা করে।

পেছনের গল্প: Proyecta তোমার sending domain-কে তার email-identity provider (Resend)-এর সাথে authenticate করে এবং তোমার বার্তাগুলো তার transactional provider (SendGrid)-এর মাধ্যমে deliver করে। তোমাকে কোনোটির সাথেই আলাদা অ্যাকাউন্ট পরিচালনা করতে হবে না।

তোমার অ্যাপ থেকে একটি ইমেইল পাঠাও

Section titled “তোমার অ্যাপ থেকে একটি ইমেইল পাঠাও”

তোমার অ্যাপের পেজগুলো থেকে তুমি useSendEmail() hook দিয়ে পাঠাও। তুমি একটি template বেছে নাও এবং variables পাঠাও; platform অ্যাপের ভাষায় বার্তাটি render করে এবং পাঠিয়ে দেয়:

import { useSendEmail } from '@/hooks/useEmail.ts';
function ConfirmButton({ booking }) {
const { send, isPending, error } = useSendEmail();
return (
<button
disabled={isPending}
onClick={() =>
send({
template: 'booking_confirmation',
variables: { date: booking.date, service: booking.service },
})
}
>
Email me the details
</button>
);
}

লক্ষ্য করো তুমি কী পাঠাচ্ছ না: কোনো recipient, subject, বা HTML। প্রতিটি template তার নিজস্ব audience ঘোষণা করে:

  • self (booking/order নিশ্চিতকরণ, welcome) → signed-in ব্যবহারকারীর নিজস্ব ঠিকানা, তাদের session থেকে নেওয়া।
  • owner (owner_alert) → তোমার অ্যাপের admin-রা।

উভয়েরই signed-in session প্রয়োজন। এটি ইচ্ছাকৃত, কোনো ত্রুটি নয়: যে publishable key-টি call authenticate করে সেটি তোমার পেজের source-এ থাকে, তাই arbitrary-recipient send থাকলে যে কেউ তোমার অ্যাপকে spam relay হিসেবে ব্যবহার করতে পারত। anonymous visitor থেকে নিজেকে notify করতে, একটি form ব্যবহার করো — form submission ইতিমধ্যেই owner-কে ইমেইল করে এবং submitter-কে স্বয়ংক্রিয়ভাবে নিশ্চিত করে, এবং সেই পথটি browser থেকে জাল করা যায় না।

Error গুলো PlatformApiError হিসেবে আসে: 401 (session প্রয়োজন), 403 (এই অ্যাপের জন্য template সক্রিয় নেই), 429 (rate limited — বার্তাটি দেখাও এবং retry-এর সুযোগ দাও), 422 (কোনো ঠিকানা নেই)।

তোমার admin প্যানেলের Sent ট্যাবে তোমার অ্যাপ যা পাঠিয়েছে সব সর্বশেষ delivery event সহ তালিকাভুক্ত থাকে — delivered, opened, clicked, bounced, complained — তাই সাধারণত এর জন্য কোনো কোডের প্রয়োজন হয় না।

প্রতিটি এন্ট্রিতে তার status থাকে — sent, delivered, opened, clicked, bounced, বা complained — এবং তুমি যেকোনো বার্তা খুলে পাঠানো সঠিক HTML ও text পড়তে পারবে। যদি delivery ব্যর্থ হচ্ছে, এটিই প্রথম দেখার জায়গা।

AI-কে দিয়ে সংযুক্ত করাও

Section titled “AI-কে দিয়ে সংযুক্ত করাও”

তোমাকে এটি নিজে লিখতে হবে না:

  • "Verify hello@myapp.com as a sending identity."
  • "Email the customer a confirmation after they finish booking."
  • "After a successful checkout, send the customer their receipt."
  • "Show me the last 20 emails we've sent and whether they bounced."
  • from ঠিকানাটি অবশ্যই একটি verified পরিচয় হতে হবে। অযাচাইকৃত ঠিকানা দিয়ে পাঠালে error ফেরত আসবে।
  • মাসিক সীমা প্রযোজ্য তোমার Proyecta প্ল্যানের উপর ভিত্তি করে।
  • Template editor — builder-এ visually transactional template ডিজাইন করো
  • Bulk/batch send endpoint mass mailing-এর জন্য