{"id":23693,"date":"2026-05-09T03:18:13","date_gmt":"2026-05-09T03:18:13","guid":{"rendered":"https:\/\/umang.pk\/2026\/05\/09\/brevo-%d8%a7%d9%88%d8%b1-http-api-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%d8%b1%d8%aa%db%92-%db%81%d9%88%d8%a6%db%92-%da%a9%d9%84%d8%a7%d8%a4%da%88-smtp-%d9%be%d8%a7%d8%a8%d9%86\/"},"modified":"2026-05-09T03:18:13","modified_gmt":"2026-05-09T03:18:13","slug":"brevo-%d8%a7%d9%88%d8%b1-http-api-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%d8%b1%d8%aa%db%92-%db%81%d9%88%d8%a6%db%92-%da%a9%d9%84%d8%a7%d8%a4%da%88-smtp-%d9%be%d8%a7%d8%a8%d9%86","status":"publish","type":"post","link":"https:\/\/umang.pk\/en_us\/2026\/05\/09\/brevo-%d8%a7%d9%88%d8%b1-http-api-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%d8%b1%d8%aa%db%92-%db%81%d9%88%d8%a6%db%92-%da%a9%d9%84%d8%a7%d8%a4%da%88-smtp-%d9%be%d8%a7%d8%a8%d9%86\/","title":{"rendered":"Brevo \u0627\u0648\u0631 HTTP API \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u06a9\u0644\u0627\u0624\u0688 SMTP \u067e\u0627\u0628\u0646\u062f\u06cc\u0648\u06ba \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u0646\u0638\u0631\u0627\u0646\u062f\u0627\u0632 \u06a9\u0631\u06cc\u06ba\u06d4"},"content":{"rendered":"\n<div id=\"\">\n<p>\u0622\u062c \u06a9\u0644\u060c \u0648\u06cc\u0628 \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u06cc \u0645\u06cc\u0644 \u0628\u06be\u06cc\u062c \u06a9\u0631 \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u06c1\u0648\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4 \u0627\u0633 \u0633\u06d2 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u0648\u06ba \u06a9\u0648 \u0645\u0645\u06a9\u0646\u06c1 \u06af\u0627\u06c1\u06a9\u0648\u06ba \u0633\u06d2 \u062c\u0691\u06d2 \u0631\u06c1\u0646\u06d2\u060c \u0635\u0627\u0631\u0641 \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a \u06a9\u06cc \u0645\u062d\u0641\u0648\u0638 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u0646\u06d2 \u0627\u0648\u0631 \u067e\u0627\u0633 \u0648\u0631\u0688 \u0631\u06cc \u0633\u06cc\u0679 \u062c\u06cc\u0633\u06cc \u0627\u06c1\u0645 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u0646\u06d2 \u0645\u06cc\u06ba \u0645\u062f\u062f \u0645\u0644\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0644\u06cc\u06a9\u0646 \u0628\u0639\u0636 \u0627\u0648\u0642\u0627\u062a\u060c \u06a9\u0644\u0627\u0624\u0688 \u067e\u0631 \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0627\u06cc \u0645\u06cc\u0644 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0648 \u062a\u0639\u06cc\u0646\u0627\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0646\u062a\u06cc\u062c\u06d2 \u0645\u06cc\u06ba \u063a\u06cc\u0631 \u0645\u062a\u0648\u0642\u0639 \u0627\u0648\u0631 \u0645\u0627\u06cc\u0648\u0633 \u06a9\u0646 \u063a\u0644\u0637\u06cc\u0627\u06ba \u06c1\u0648 \u0633\u06a9\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0645\u06cc\u06ba \u067e\u0633\u062f\u06cc\u062f \u0628\u0646\u0627\u062a\u0627 \u06c1\u0648\u06ba \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0645\u0642\u0627\u0645\u06cc \u0637\u0648\u0631 \u067e\u0631 \u062c\u0627\u0646\u0686\u062a\u0627 \u06c1\u0648\u06ba \u062a\u0648 \u06cc\u06c1 \u0628\u0627\u0644\u06a9\u0644 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u067e\u06be\u0631 \u0645\u06cc\u06ba \u0646\u06d2 \u0627\u0633\u06d2 \u06a9\u0644\u0627\u0624\u0688 \u067e\u0631 \u0644\u06af\u0627 \u062f\u06cc\u0627 \u0627\u0648\u0631 \u0627\u0686\u0627\u0646\u06a9 \u0627\u06cc\u067e \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0627\u06cc \u0645\u06cc\u0644\u0632 \u0628\u06be\u06cc\u062c\u0646\u0627 \u0628\u0646\u062f \u06a9\u0631 \u062f\u06cc\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0622\u0631\u0679\u06cc\u06a9\u0644 \u0645\u06cc\u06ba\u060c \u0622\u067e \u06cc\u06c1 \u062c\u0627\u0646\u06cc\u06ba \u06af\u06d2 \u06a9\u06c1 \u0622\u067e \u06a9\u0627 \u0627\u06cc \u0645\u06cc\u0644 \u0633\u06cc\u0679 \u0627\u067e \u0631\u06cc\u0646\u0688\u0631 \u06cc\u0627 \u06c1\u06cc\u0631\u0648\u06a9\u0648 \u062c\u06cc\u0633\u06d2 \u06a9\u0644\u0627\u0624\u0688 \u067e\u0644\u06cc\u0679 \u0641\u0627\u0631\u0645\u0632 \u067e\u0631 \u06a9\u06cc\u0648\u06ba \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0646\u06cc\u0679 \u0648\u0631\u06a9\u0646\u06af \u06a9\u06d2 \u06a9\u0648\u0646 \u0633\u06d2 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0627\u0635\u0648\u0644 \u0645\u0633\u0626\u0644\u06c1 \u06a9\u0627 \u0628\u0627\u0639\u062b \u0628\u0646 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0628\u0631\u06cc\u0648\u0648 \u06a9\u06d2 HTTP API \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u0646 \u062d\u062f\u0648\u062f \u06a9\u0648 \u062e\u0648\u0628\u0635\u0648\u0631\u062a\u06cc \u0633\u06d2 \u06a9\u06cc\u0633\u06d2 \u0646\u0638\u0631\u0627\u0646\u062f\u0627\u0632 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/p>\n<p>\u0622\u0626\u06cc\u06d2 \u0627\u0633 \u0645\u06cc\u06ba \u062f\u0627\u062e\u0644 \u06c1\u0648\u06ba\u06d4<\/p>\n<h2 id=\"heading-outline\">\u062e\u0627\u06a9\u06c1<\/h2>\n<h2 id=\"heading-prerequisites\">\u0634\u0631\u0637\u06cc\u06ba<\/h2>\n<p>\u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0641\u0627\u0626\u062f\u06c1 \u0627\u0679\u06be\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u062f\u0631\u062c \u0630\u06cc\u0644 \u06a9\u0627 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0639\u0644\u0645 \u06c1\u0648\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2:<\/p>\n<ul>\n<li>\n<p><strong>JavaScript \u0627\u0648\u0631 Node.js:<\/strong> JS \u0633\u0631\u0648\u0631 \u0633\u0627\u0626\u06cc\u0688 \u067e\u0631 \u06a9\u0633 \u0637\u0631\u062d \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0633 \u06a9\u06cc \u0628\u0646\u06cc\u0627\u062f\u06cc \u0633\u0645\u062c\u06be \u0631\u06a9\u06be\u0646\u06d2 \u0633\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06cc \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631\u0646\u0627 \u0622\u0633\u0627\u0646 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<\/li>\n<li>\n<p><strong>REST API:<\/strong> \u0622\u067e \u06a9\u0648 \u0627\u0633 \u0628\u0627\u062a \u06a9\u06cc \u0628\u0646\u06cc\u0627\u062f\u06cc \u0633\u0645\u062c\u06be \u06c1\u0648\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2 \u06a9\u06c1 HTTP \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc\u06ba (\u062c\u06cc\u0633\u06d2 POST \u0627\u0648\u0631 GET) \u0645\u0642\u0627\u0645\u06cc \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 <code>fetch()<\/code> Node.js \u0645\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p><strong>Express.js:<\/strong> \u0686\u0648\u0646\u06a9\u06c1 \u06c1\u0645 \u0627\u0635\u0644 \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u060c \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0637\u06d2 \u0634\u062f\u06c1 \u0633\u0631\u0648\u0631 \u0631\u0648\u0679\u0633 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u062a\u06be\u0648\u0691\u0627 \u0633\u0627 \u067e\u0633 \u0645\u0646\u0638\u0631 \u0645\u062f\u062f\u06af\u0627\u0631 \u062b\u0627\u0628\u062a \u06c1\u0648\u06af\u0627\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0646\u0648\u0688 \u0645\u06cc\u0644\u0631 \u06a9\u06cc\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06a9\u0644\u0627\u0624\u0688 \u06c1\u0648\u0633\u0679\u0646\u06af \u067e\u0644\u06cc\u0679 \u0641\u0627\u0631\u0645\u0632 (\u062c\u06cc\u0633\u06d2 \u0631\u06cc\u0646\u0688\u0631 \u06cc\u0627 \u06c1\u06cc\u0631\u0648\u06a9\u0648) \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0633 \u06a9\u06cc \u0628\u0646\u06cc\u0627\u062f\u06cc \u062a\u0641\u06c1\u06cc\u0645\u06d4<\/p>\n<\/li>\n<\/ul>\n<p>\u0627\u067e\u0646\u06d2 \u062d\u0627\u0644\u06cc\u06c1 \u0645\u0646\u0635\u0648\u0628\u0648\u06ba \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u0645\u06cc\u06ba\u060c \u06c1\u0645 \u0646\u06d2 \u0627\u06cc\u06a9 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u062a\u0648\u062b\u06cc\u0642 \u06a9\u0627 \u0628\u06c1\u0627\u0624 \u0628\u0646\u0627\u06cc\u0627 \u06c1\u06d2 \u062c\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0648 \u0627\u067e\u0646\u06cc \u0631\u062c\u0633\u0679\u0631\u06cc\u0634\u0646 \u0645\u06a9\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0646 \u06a9\u06d2 \u0627\u06cc \u0645\u06cc\u0644 \u067e\u0631 \u0627\u06cc\u06a9 \u0648\u0642\u062a\u06cc \u067e\u0627\u0633 \u0648\u0631\u0688 (OTP) \u0628\u06be\u06cc\u062c\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u062a\u06be\u06cc\u06d4 \u0645\u06cc\u06ba \u0646\u06d2 \u0646\u0648\u0688 \u0645\u06cc\u0644\u0631 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0627\u060c \u0627\u0633\u06d2 Gmail \u0633\u06d2 \u0645\u0646\u0633\u0644\u06a9 \u06a9\u06cc\u0627\u060c \u0627\u0648\u0631 \u0627\u0633 \u06a9\u0627 \u062a\u062c\u0631\u0628\u06c1 \u06a9\u06cc\u0627\u06d4 <code>localhost<\/code>. \u0627\u06cc \u0645\u06cc\u0644 \u0628\u0627\u0644\u06a9\u0644 \u0633\u06cc\u06a9\u0646\u0688\u0648\u06ba \u0645\u06cc\u06ba \u067e\u06c1\u0646\u0686 \u06af\u0626\u06cc\u06d4<\/p>\n<p>\u0644\u06cc\u06a9\u0646 \u062c\u0628 \u0645\u06cc\u06ba \u0646\u06d2 \u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u06a9\u0648 \u0631\u06cc\u0646\u0688\u0631 \u067e\u0631 \u062a\u0639\u06cc\u0646\u0627\u062a \u06a9\u06cc\u0627 \u062a\u0648 \u0633\u0627\u0626\u0646 \u0627\u067e \u06a9\u0627 \u067e\u0648\u0631\u0627 \u0628\u06c1\u0627\u0624 \u0679\u0648\u0679 \u06af\u06cc\u0627\u06d4 \u062a\u06be\u0648\u0691\u06cc \u06af\u06c1\u0631\u06cc \u06a9\u06be\u062f\u0627\u0626\u06cc \u06a9\u06d2 \u0628\u0639\u062f\u060c \u0645\u06cc\u06ba \u0646\u06d2 \u0633\u0648\u0686\u0627 \u06a9\u06c1 \u06cc\u06c1 \u06a9\u06cc\u0648\u06ba \u0679\u0648\u0679\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0645\u0633\u062a\u0642\u0644 \u0637\u0648\u0631 \u067e\u0631 \u06a9\u06cc\u0633\u06d2 \u0679\u06be\u06cc\u06a9 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4 \u0627\u0628 \u062c\u0628 \u0645\u06cc\u06ba \u062c\u0627\u0646\u062a\u0627 \u06c1\u0648\u06ba \u06a9\u06c1 \u06cc\u06c1 \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0645\u06cc\u06ba \u0627\u0633\u06d2 \u0622\u067e \u0633\u0628 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0634\u06cc\u0626\u0631 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u0627 \u06c1\u0648\u06ba\u06d4<\/p>\n<h2 id=\"heading-the-problem-nodemailer-and-smtp-blocking\">\u0645\u0633\u0626\u0644\u06c1: \u0646\u0648\u0688 \u0645\u06cc\u0644\u0631 \u0627\u0648\u0631 SMTP \u0628\u0644\u0627\u06a9 \u06a9\u0631\u0646\u0627<\/h2>\n<p>\u062a\u0648 \u0627\u0635\u0644 \u0645\u06cc\u06ba \u0645\u0633\u0626\u0644\u06c1 \u06a9\u06cc\u0627 \u06c1\u06d2\u061f<\/p>\n<p>Nodemailer \u0627\u06cc\u06a9 \u0628\u06c1\u062a \u0645\u0634\u06c1\u0648\u0631 Node.js \u0645\u0627\u0688\u06cc\u0648\u0644 \u06c1\u06d2 \u062c\u0648 \u0622\u067e \u06a9\u0648 \u0645\u0624\u062b\u0631 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u0627\u06cc \u0645\u06cc\u0644 \u0628\u06be\u06cc\u062c\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u0688\u06cc\u0648\u0644\u067e\u0631\u0632 \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633\u06d2 Gmail \u06cc\u0627 Mailtrap \u062c\u06cc\u0633\u06cc \u0633\u0631\u0648\u0633\u0632 \u0633\u06d2 \u0645\u0646\u0633\u0644\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <strong>SMTP<\/strong> (\u0633\u0627\u062f\u06c1 \u0645\u06cc\u0644 \u0679\u0631\u0627\u0646\u0633\u0641\u0631 \u067e\u0631\u0648\u0679\u0648\u06a9\u0648\u0644)\u06d4 \u062c\u0628 \u0622\u067e \u06a9\u0627 \u06a9\u0648\u0688 \u0627\u06cc \u0645\u06cc\u0644 \u0628\u06be\u06cc\u062c\u0646\u06d2 \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0646\u0648\u0688 \u0645\u06cc\u0644\u0631 \u0645\u06cc\u0644 \u0633\u0631\u0648\u0631 \u0633\u06d2 \u06a9\u0646\u06a9\u0634\u0646 \u06a9\u06be\u0648\u0644\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u067e\u0648\u0631\u0679 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>587<\/code> (STARTTLS \u06a9\u06d2 \u0644\u06cc\u06d2) \u06cc\u0627 \u067e\u0648\u0631\u0679 <code>465<\/code> (SSL \u06a9\u06d2 \u0644\u06cc\u06d2)\u06d4<\/p>\n<p>\u0644\u06cc\u06a9\u0646 \u06a9\u0644\u0627\u0624\u0688 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0646\u0646\u062f\u06af\u0627\u0646 \u062c\u06cc\u0633\u06d2 Render, Heroku, DigitalOcean, \u0627\u0648\u0631 AWS \u06a9\u0648 \u06c1\u0631 \u0631\u0648\u0632 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0633\u067e\u06cc\u0645\u0631\u0632 \u06a9\u06d2 \u062e\u0644\u0627\u0641 \u0627\u06cc\u06a9 \u0628\u0691\u06cc \u062c\u0646\u06af \u06a9\u0627 \u0633\u0627\u0645\u0646\u0627 \u06a9\u0631\u0646\u0627 \u067e\u0691\u062a\u0627 \u06c1\u06d2\u06d4 \u0628\u062f\u0646\u06cc\u062a\u06cc \u067e\u0631 \u0645\u0628\u0646\u06cc \u0635\u0627\u0631\u0641\u06cc\u0646 \u0627\u06a9\u062b\u0631 \u06c1\u0632\u0627\u0631\u0648\u06ba \u0641\u0631\u06cc \u0679\u0627\u0626\u0631 \u0633\u0631\u0648\u0631\u0632 \u06a9\u0648 \u06af\u06be\u0645\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u062e\u0627\u0635 \u0637\u0648\u0631 \u067e\u0631 \u0644\u0627\u06a9\u06be\u0648\u06ba \u0633\u067e\u0627\u0645 \u0627\u06cc \u0645\u06cc\u0644\u0632 \u0628\u06be\u06cc\u062c\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u06a9\u0627 \u06a9\u0644\u0627\u0624\u0688 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0646\u0646\u062f\u06c1 \u0627\u0633 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2 \u062a\u0648\u060c \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u06a9\u06d2 IP \u067e\u062a\u0648\u06ba \u06a9\u0627 \u0627\u06cc\u06a9 \u067e\u0648\u0631\u0627 \u0628\u0644\u0627\u06a9 Gmail\u060c Outlook\u060c \u0627\u0648\u0631 Yahoo \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0628\u0644\u06cc\u06a9 \u0644\u0633\u0679 \u06a9\u0631 \u062f\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<p>\u0627\u067e\u0646\u06d2 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u06a9\u06cc \u0633\u0627\u06a9\u06be \u06a9\u06d2 \u062a\u062d\u0641\u0638 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u06a9\u0644\u0627\u0624\u0688 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0648\u06ba \u0646\u06d2 \u0645\u0636\u0628\u0648\u0637\u060c \u067e\u0631\u0633\u06a9\u0648\u0646 \u0627\u0635\u0648\u0644 \u0642\u0627\u0626\u0645 \u06a9\u06cc\u06d2 \u06c1\u06cc\u06ba: <strong>\u067e\u0648\u0631\u0679 25\u060c 465 \u0627\u0648\u0631 587 \u067e\u0631 \u062a\u0645\u0627\u0645 \u0622\u0624\u0679 \u0628\u0627\u0624\u0646\u0688 \u0679\u0631\u06cc\u0641\u06a9 \u06a9\u0648 \u0641\u0631\u06cc \u0627\u0648\u0631 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0679\u0627\u0626\u0631\u0632 \u067e\u0631 \u0633\u062e\u062a\u06cc \u0633\u06d2 \u0628\u0644\u0627\u06a9 \u06a9\u0631 \u062f\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4<\/strong><\/p>\n<p>\u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u06a9\u0627 \u0633\u0631\u0648\u0631 \u0644\u0641\u0638\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0641\u0627\u0626\u0631 \u0648\u0627\u0644 \u06a9\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u067e\u06be\u0646\u0633 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0633\u0631\u0648\u0631 \u0644\u0627\u06af\u0632 \u06a9\u0648 \u0686\u06cc\u06a9 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0622\u067e \u06a9\u0648 \u06a9\u0648\u0626\u06cc &quot;\u063a\u0644\u0637 \u067e\u0627\u0633 \u0648\u0631\u0688&#8221; \u06a9\u06cc \u062e\u0627\u0645\u06cc\u0627\u06ba \u0646\u0638\u0631 \u0646\u06c1\u06cc\u06ba \u0622\u0626\u06cc\u06ba \u06af\u06cc\u06d4 \u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u0622\u067e \u06a9\u0648 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0679\u0627\u0626\u0645 \u0622\u0624\u0679 \u06a9\u06cc \u062e\u0631\u0627\u0628\u06cc \u0646\u0638\u0631 \u0622\u0626\u06d2 \u06af\u06cc\u06d4<\/p>\n<pre><code class=\"language-plaintext\">Error: connect ETIMEDOUT 142.250.102.108:587\n    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1494:16)\n<\/code><\/pre>\n<p>\u0622\u067e \u06a9\u0627 \u06a9\u0648\u0688 \u0679\u0648\u0679\u0627 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0635\u0631\u0641 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u06a9\u06cc \u0633\u0637\u062d \u067e\u0631 \u0645\u0633\u062f\u0648\u062f \u06c1\u06d2!<\/p>\n<h3 id=\"heading-the-modern-trap-domain-verification\">&quot;\u062c\u062f\u06cc\u062f&#8221; \u0646\u0642\u0635\u0627\u0646\u0627\u062a: \u0688\u0648\u0645\u06cc\u0646 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642<\/h3>\n<p>\u062c\u0628 \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u0627\u0633 \u062f\u06cc\u0648\u0627\u0631 \u0633\u06d2 \u0679\u06a9\u0631\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0648\u06c1 \u0627\u06a9\u062b\u0631 API \u067e\u0631 \u0645\u0628\u0646\u06cc \u0646\u0626\u06cc \u0627\u06cc \u0645\u06cc\u0644 \u0633\u0631\u0648\u0633\u0632 \u062c\u06cc\u0633\u06d2 \u06a9\u06c1 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0628\u06be\u06cc\u062c\u06cc\u06ba \u06cc\u0627 SendGrid \u0622\u0632\u0645\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 \u062d\u06cc\u0631\u062a \u0627\u0646\u06af\u06cc\u0632 \u0679\u0648\u0644 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u06cc\u06c1 \u0627\u0628\u062a\u062f\u0627\u0626\u06cc\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u0646\u0626\u06cc \u0645\u0634\u06a9\u0644\u0627\u062a \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <strong>\u0633\u062e\u062a \u0688\u0648\u0645\u06cc\u0646 \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642\u06d4<\/strong><\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u0645\u06cc\u06ba \u0631\u06cc \u0688\u0627\u0626\u0631\u06cc\u06a9\u0679 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0622\u067e \u0627\u067e\u0646\u06cc \u0645\u0631\u0636\u06cc \u06a9\u06d2 \u0645\u0637\u0627\u0628\u0642 \u0688\u0648\u0645\u06cc\u0646 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062c\u06cc\u0633\u06d2 <code>yourname.com<\/code>) DNS \u0631\u06cc\u06a9\u0627\u0631\u0688\u0632 (SPF\u060c DKIM\u060c \u0627\u0648\u0631 DMARC) \u06a9\u0648 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u0688\u0648\u0645\u06cc\u0646 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u062a\u0648\u060c \u0631\u06cc \u0633\u06cc\u0646\u0688 \u06a9\u0627 \u0633\u06cc\u0646\u0688 \u0628\u0627\u06a9\u0633 \u0645\u0648\u0688 \u0635\u0631\u0641 \u0627\u06cc \u0645\u06cc\u0644 \u0628\u06be\u06cc\u062c\u0646\u06d2 \u06a9\u0648 \u0633\u062e\u062a\u06cc \u0633\u06d2 \u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <em>\u0635\u0631\u0641<\/em> \u0627\u067e\u0646\u06d2 \u0622\u067e \u06a9\u0648\u06d4 \u0627\u06cc \u0645\u06cc\u0644\u0632 \u062d\u0642\u06cc\u0642\u06cc \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0648 \u0646\u06c1\u06cc\u06ba \u0628\u06be\u06cc\u062c\u06d2 \u062c\u0627 \u0633\u06a9\u062a\u06d2\u06d4<\/p>\n<p>\u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062c\u0648 \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u067e\u0648\u0631\u0679 \u0641\u0648\u0644\u06cc\u0648 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0634\u0631\u0648\u0639 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0635\u0631\u0641 \u0679\u06cc\u0633\u0679 \u0627\u06cc \u0645\u06cc\u0644\u0632 \u0628\u06be\u06cc\u062c\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0688\u0648\u0645\u06cc\u0646 \u062e\u0631\u06cc\u062f\u0646\u0627 \u0627\u06cc\u06a9 \u0628\u06c1\u062a \u0628\u0691\u06cc \u0631\u06a9\u0627\u0648\u0679 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-ultimate-solution-brevo-and-http-apis\">\u062d\u062a\u0645\u06cc \u062d\u0644: \u0628\u0631\u06cc\u0648\u0648 \u0627\u0648\u0631 HTTP API<\/h3>\n<p>\u06c1\u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u06d2 \u062d\u0644 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u062c\u0648 \u062f\u0648 \u0645\u0639\u06cc\u0627\u0631\u0627\u062a \u067e\u0631 \u067e\u0648\u0631\u0627 \u0627\u062a\u0631\u06d2\u06d4<\/p>\n<ol>\n<li>\n<p>\u0628\u0646\u062f\u0631\u06af\u0627\u06c1 \u06a9\u0648 \u0628\u0627\u0626\u06cc \u067e\u0627\u0633 \u06a9\u0631\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4 <code>587<\/code> \u0622\u06af \u06a9\u0627 \u062f\u0631\u0648\u0627\u0632\u06c1<\/p>\n<\/li>\n<li>\n<p>\u0622\u067e \u06a9\u0648 \u0627\u06cc \u0645\u06cc\u0644 \u0628\u06be\u06cc\u062c\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2: <em>\u062c\u0648 \u0628\u06be\u06cc<\/em> \u0622\u067e \u06a9\u0648 \u0627\u067e\u0646\u06cc \u0645\u0631\u0636\u06cc \u06a9\u06d2 \u0645\u0637\u0627\u0628\u0642 \u0688\u0648\u0645\u06cc\u0646 \u062e\u0631\u06cc\u062f\u0646\u06d2 \u067e\u0631 \u0645\u062c\u0628\u0648\u0631 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631\u06d4<\/p>\n<\/li>\n<\/ol>\n<p>\u06cc\u06c1 \u0648\u06c1 \u062c\u06af\u06c1 \u06c1\u06d2 \u062c\u06c1\u0627\u06ba SMTP \u0627\u0648\u0631 REST API \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0633\u0627\u062e\u062a\u06cc \u0641\u0631\u0642 \u0628\u0686\u0627\u0624 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0622\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 SMTP \u0645\u06cc\u0644 \u0631\u0648\u0679\u0646\u06af \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0648\u0642\u0641 \u0634\u062f\u06c1 \u067e\u0631\u0648\u0679\u0648\u06a9\u0648\u0644 \u06c1\u06d2\u060c \u062c\u0628\u06a9\u06c1 REST API \u0627\u0633 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0645\u0639\u06cc\u0627\u0631\u06cc \u0648\u06cc\u0628 \u0679\u0631\u06cc\u0641\u06a9 \u067e\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <strong>HTTPS (\u067e\u0648\u0631\u0679 443)<\/strong>. \u06a9\u0644\u0627\u0624\u0688 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0646\u0646\u062f\u06c1 <em>\u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u06d2<\/em> \u067e\u0648\u0631\u0679 443 \u06a9\u0648 \u0628\u0644\u0627\u06a9 \u06a9\u0631\u0646\u0627 \u0633\u0631\u0648\u0631 \u06a9\u0648 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0633\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u06be\u06cc\u0646\u0686\u0646\u06d2 \u06cc\u0627 \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0648\u06cc\u0628 \u0633\u0631\u0648\u0631 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0631\u0648\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062f\u0627\u062e\u0644 \u06a9\u0631\u06cc\u06ba <strong>\u0628\u0631\u06cc\u0648\u0648<\/strong> (\u0633\u0627\u0628\u0642\u06c1 \u200b\u200b\u0633\u06cc\u0646\u0688\u0646 \u0628\u0644\u06cc\u0648)\u06d4 Brevo \u0627\u06cc\u06a9 \u0637\u0627\u0642\u062a\u0648\u0631 \u0627\u06cc \u0645\u06cc\u0644 \u067e\u0644\u06cc\u0679 \u0641\u0627\u0631\u0645 \u06c1\u06d2 \u062c\u0648 \u0622\u067e \u06a9\u0648 \u0645\u0639\u06cc\u0627\u0631\u06cc REST APIs \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u06cc \u0645\u06cc\u0644 \u0628\u06be\u06cc\u062c\u0646\u06d2 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u0628 \u0633\u06d2 \u0628\u06c1\u062a\u0631\u060c \u0645\u0641\u062a \u062f\u0631\u062c\u06d2 (\u0641\u06cc \u062f\u0646 300 \u0627\u06cc \u0645\u06cc\u0644\u0632) \u0648\u0627\u062d\u062f \u0645\u0631\u0633\u0644 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u0628\u0633 \u0627\u067e\u0646\u06d2 \u0645\u0639\u06cc\u0627\u0631\u06cc Gmail \u0627\u06cc\u0688\u0631\u06cc\u0633 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0622\u067e \u06a9\u0633\u06cc \u06a9\u0648 \u0628\u06be\u06cc \u0628\u06be\u06cc\u062c \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba!<\/p>\n<p>HTTPS \u067e\u0631 Brevo \u06a9\u06d2 API \u06a9\u0648 JSON \u067e\u06d2 \u0644\u0648\u0688 \u0628\u06be\u06cc\u062c\u06cc\u06ba \u0627\u0648\u0631 \u0633\u0631\u0648\u0631 \u063a\u06cc\u0631 \u0645\u062d\u062f\u0648\u062f \u0628\u0646\u062f\u0631\u06af\u0627\u06c1\u0648\u06ba \u067e\u0631 \u0679\u0631\u06cc\u0641\u06a9 \u06a9\u0648 \u0631\u0648\u0679 \u06a9\u0631\u06d2 \u06af\u0627\u06d4 <code>443<\/code>\u0631\u06cc\u0646\u0688\u0631 \u0641\u0627\u0626\u0631 \u0648\u0627\u0644 \u06a9\u0648 \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0646\u0638\u0631\u0627\u0646\u062f\u0627\u0632 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0628 \u062c\u0628 \u06a9\u06c1 \u06c1\u0645 \u0627\u0646 \u0679\u0648\u0644\u0632 \u06a9\u0627 \u0646\u0638\u0631\u06cc\u06c1 \u062c\u0627\u0646\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u06c1\u0645 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u060c \u0622\u0626\u06cc\u06d2 \u06a9\u0648\u0688 \u0644\u06a9\u06be\u0646\u06d2 \u06a9\u06cc \u0637\u0631\u0641 \u0628\u0691\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-backend-setup\">\u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u06a9\u06cc \u062a\u0631\u062a\u06cc\u0628\u0627\u062a<\/h2>\n<p>\u0633\u0628 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u0622\u067e \u06a9\u0648 \u0627\u067e\u0646\u06d2 \u0645\u0627\u062d\u0648\u0644 \u06a9\u0648 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2. \u0627\u06af\u0631 \u0622\u067e \u06a9\u06d2 \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u067e\u0631 Node.js \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0627\u0646\u0633\u0679\u0627\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u062a\u0648 \u0627\u0633\u06d2 \u0688\u0627\u0624\u0646 \u0644\u0648\u0688 \u0627\u0648\u0631 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633 \u06a9\u06cc \u0648\u06cc\u0628 \u0633\u0627\u0626\u0679 \u067e\u0631 \u062c\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<p>\u062f\u0648\u0691 \u06a9\u0631 \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba\u06d4 <code>npm init -y<\/code> \u0622\u067e \u06a9\u06d2 \u0679\u0631\u0645\u06cc\u0646\u0644 \u0645\u06cc\u06ba\u06d4 \u06cc\u06c1 \u06c1\u06d2 <code>package.json<\/code> \u0627\u06cc\u06a9 \u0641\u0627\u0626\u0644 \u062c\u0648 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u0627 \u0627\u0646\u062a\u0638\u0627\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u062a\u0645\u0627\u0645 \u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u0648 \u0627\u0633\u0679\u0648\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06d2 \u0633\u0627\u062a\u06be \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4 <code>npm install express dotenv<\/code>.<\/p>\n<p>\u0622\u067e \u0627\u0633\u06d2 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0648\u0627\u0642\u0641 \u06c1\u0648 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>nodemailer<\/code> \u0622\u067e \u06a9\u06d2 \u0627\u06cc \u0645\u06cc\u0644 \u06a9\u06d2 \u06a9\u0627\u0645 \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4 \u0644\u06cc\u06a9\u0646 \u0686\u0648\u0646\u06a9\u06c1 \u06c1\u0645 \u0628\u0646\u06cc\u0627\u062f\u06cc Node.js \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u06d4 <code>fetch()<\/code> Brevo API \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 API\u060c \u0627\u0635\u0644 \u0645\u06cc\u06ba \u0627\u0633\u06d2 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 <em>\u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc<\/em> \u06a9\u0648\u0626\u06cc \u0628\u06be\u0627\u0631\u06cc \u0627\u06cc \u0645\u06cc\u0644 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc\u0627\u06ba \u0628\u0627\u0644\u06a9\u0644 \u0646\u06c1\u06cc\u06ba! \u06c1\u0645 \u0627\u067e\u0646\u06d2 \u067e\u0633\u062f\u06cc\u062f \u06a9\u0648 \u06c1\u0631 \u0645\u0645\u06a9\u0646 \u062d\u062f \u062a\u06a9 \u06c1\u0644\u06a9\u0627 \u0631\u06a9\u06be\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-brevo-configuration-setup\">\u0628\u0631\u06cc\u0648 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u06cc \u062a\u0631\u062a\u06cc\u0628\u0627\u062a<\/h3>\n<p>\u0627\u067e\u0646\u0627 \u0627\u06cc \u0645\u06cc\u0644 \u0641\u0646\u06a9\u0634\u0646 \u0644\u06a9\u06be\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u0622\u067e \u06a9\u0648 \u0627\u067e\u0646\u06cc API \u06a9\u0644\u06cc\u062f \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u067e\u06c1\u0644\u06d2 Brevo \u06a9\u0648 \u06a9\u0646\u0641\u06cc\u06af\u0631 \u06a9\u0631\u0646\u0627 \u06c1\u0648\u06af\u0627\u06d4<\/p>\n<ol>\n<li>\n<p>Brevo.com \u067e\u0631 \u062c\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0645\u0641\u062a \u0627\u06a9\u0627\u0624\u0646\u0679 \u0628\u0646\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0633\u06cc\u0679 \u0627\u067e \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646\u060c \u0622\u067e \u06a9\u0648 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06c1\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627: <strong>\u0628\u06be\u06cc\u062c\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0627\u06cc \u0645\u06cc\u0644<\/strong>. \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u0627\u067e\u0646\u0627 \u0645\u0639\u06cc\u0627\u0631\u06cc Gmail \u067e\u062a\u06c1 \u062f\u0631\u062c \u06a9\u0631\u06cc\u06ba\u06d4 \u06c1\u0645 \u0622\u067e \u06a9\u0648 \u0627\u06cc\u06a9 \u0644\u0646\u06a9 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u0627\u06cc \u0645\u06cc\u0644 \u0628\u06be\u06cc\u062c\u06cc\u06ba \u06af\u06d2 \u0627\u0633 \u0628\u0627\u062a \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06c1 \u0622\u067e \u0627\u0633 \u067e\u062a\u06d2 \u06a9\u06d2 \u0645\u0627\u0644\u06a9 \u06c1\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>\u062a\u0635\u062f\u06cc\u0642 \u06a9\u06d2 \u0628\u0639\u062f\u060c \u0688\u06cc\u0634 \u0628\u0648\u0631\u0688 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0627\u0648\u067e\u0631\u06cc \u062f\u0627\u0626\u06cc\u06ba \u06a9\u0648\u0646\u06d2 \u0645\u06cc\u06ba \u0627\u067e\u0646\u06d2 \u067e\u0631\u0648\u0641\u0627\u0626\u0644 \u06a9\u06d2 \u0646\u0627\u0645 \u067e\u0631 \u06a9\u0644\u06a9 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 <strong>SMTP \u0627\u0648\u0631 APIs<\/strong> \u0688\u0631\u0627\u067e \u0688\u0627\u0624\u0646 \u0645\u06cc\u0646\u0648 \u0633\u06d2<\/p>\n<\/li>\n<li>\n<p>\u067e\u0631 \u062c\u0627\u0626\u06cc\u06ba\u06d4 <strong>API \u06a9\u0644\u06cc\u062f<\/strong> \u062a\u06be\u067e\u062a\u06be\u067e\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u06a9\u0644\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4 <strong>\u0627\u06cc\u06a9 \u0646\u0626\u06cc API \u06a9\u0644\u06cc\u062f \u0628\u0646\u0627\u0626\u06cc\u06ba<\/strong>. \u0627\u0633\u06d2 &quot;MyWebApp&#8221; \u062c\u06cc\u0633\u0627 \u0646\u0627\u0645 \u062f\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<\/ol>\n<p>\u062a\u06cc\u0627\u0631 \u06a9\u0631\u062f\u06c1 \u06a9\u0644\u06cc\u062f \u06a9\u0648 \u06a9\u0627\u067e\u06cc \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0645\u062d\u0641\u0648\u0638 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0641\u0648\u0644\u0688\u0631 \u0645\u06cc\u06ba \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u06cc\u06ba\u06d4 <code>.env<\/code> \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06cc \u062c\u0691 \u0645\u06cc\u06ba \u0641\u0627\u0626\u0644\u06cc\u06ba:<\/p>\n<pre><code class=\"language-env\"># .env file\nEMAIL_USER = yourverifiedemail@gmail.com\nBREVO_API_KEY = xkeysib-your-generated-api-key-goes-here\n<\/code><\/pre>\n<h3 id=\"heading-creating-the-email-function\">\u0627\u06cc\u06a9 \u0627\u06cc \u0645\u06cc\u0644 \u0641\u0646\u06a9\u0634\u0646 \u0628\u0646\u0627\u0626\u06cc\u06ba<\/h3>\n<p>\u0627\u0628 \u062c\u0628 \u06a9\u06c1 \u0622\u067e \u0646\u06d2 \u0627\u067e\u0646\u06cc API \u06a9\u0644\u06cc\u062f \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0644\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u067e\u0646\u06d2 \u0645\u0627\u062d\u0648\u0644 \u06a9\u06d2 \u0645\u062a\u063a\u06cc\u0631\u0627\u062a \u06a9\u0648 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06d2 \u062f\u06cc\u0627 \u06c1\u06d2\u060c \u0628\u0633 \u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u06a9\u0648\u0688 \u06a9\u0648 \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0631\u06a9\u06be\u0646\u0627 \u0628\u0627\u0642\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0646\u0627\u0645 \u06a9\u06cc \u0627\u06cc\u06a9 \u0641\u0627\u0626\u0644 \u0628\u0646\u0627\u0626\u06cc\u06ba\u06d4 <code>utils\/email.js<\/code>.<\/p>\n<p>\u0633\u0628 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 <code>.env<\/code> \u0622\u067e \u0641\u0627\u0626\u0644 \u0628\u0646\u0627 \u06a9\u0631 \u0627\u067e\u0646\u06cc \u062a\u062e\u0644\u06cc\u0642 \u06a9\u0631\u062f\u06c1 \u0627\u0633\u0646\u0627\u062f \u062a\u06a9 \u0622\u0633\u0627\u0646\u06cc \u0633\u06d2 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-javascript\">require(\"dotenv\").config();\n\n\/\/ We'll define the function to accept dynamic options\nconst sendEmail = async (options) => {\n  const brevoApiKey = process.env.BREVO_API_KEY;\n  const senderEmail = process.env.EMAIL_USER;\n\n  \/\/ Validate that the keys actually exist\n  if (!brevoApiKey || !senderEmail) {\n    throw new Error(\"Missing Brevo credentials in environment variables.\");\n  }\n<\/code><\/pre>\n<p>\u0627\u06af\u0644\u0627\u060c \u06c1\u0645\u06cc\u06ba \u067e\u06d2 \u0644\u0648\u0688 \u06a9\u06cc \u0633\u0627\u062e\u062a \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 JSON \u0622\u0628\u062c\u06cc\u06a9\u0679 \u06c1\u06d2 \u062c\u0648 \u0628\u0631\u06cc\u0648\u0648 \u06a9\u0648 \u0628\u0627\u0644\u06a9\u0644 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0627\u06cc \u0645\u06cc\u0644 \u06a9\u0633 \u06a9\u0648 \u0628\u06be\u06cc\u062c\u0627 \u062c\u0627 \u0631\u06c1\u0627 \u06c1\u06d2\u060c \u06a9\u0648\u0646 \u0627\u0633\u06d2 \u0648\u0635\u0648\u0644 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0645\u0648\u0627\u062f \u06a9\u06cc\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u0633\u0627 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1 \u06cc\u06c1\u0627\u06ba \u06c1\u06d2:<\/p>\n<pre><code class=\"language-javascript\">  const payload = {\n    sender: {\n      name: \"My Awesome Web App\",\n      email: senderEmail, \/\/ Must match your verified Brevo email\n    },\n    to: [\n      {\n        email: options.email, \/\/ The dynamic email address of the user receiving the email\n      },\n    ],\n    subject: options.subject,\n    htmlContent: options.html,\n  };\n<\/code><\/pre>\n<p>\u0627\u0648\u067e\u0631 \u06a9\u06d2 \u06a9\u0648\u0688 \u0645\u06cc\u06ba <code>payload<\/code> \u0622\u0628\u062c\u06cc\u06a9\u0679 \u0622\u067e \u06a9\u06cc \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u067e\u06cc\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u0645 \u06af\u0632\u0631\u062a\u06d2 \u06c1\u06cc\u06ba <code>options.email<\/code>\u060c <code>options.subject<\/code>\u0627\u0648\u0631 <code>options.html<\/code> \u0622\u067e \u0627\u0633 \u0648\u0627\u062d\u062f \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0648 \u062e\u0648\u0634 \u0622\u0645\u062f\u06cc\u062f \u0627\u06cc \u0645\u06cc\u0644\u0632\u060c \u067e\u0627\u0633 \u0648\u0631\u0688 \u062f\u0648\u0628\u0627\u0631\u06c1 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0646\u06d2 \u0627\u0648\u0631 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0628 \u06c1\u0645 \u0628\u0631\u06cc\u0648\u0648 \u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u067e\u0631 \u0688\u06cc\u0679\u0627 \u0628\u06be\u06cc\u062c\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u06a9\u06cc \u0627\u0635\u0644 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06c1\u0645 \u06c1\u06cc\u06ba <code>POST<\/code> \u0637\u0631\u06cc\u0642\u06c1 \u0688\u06cc\u0679\u0627 \u06a9\u06cc \u0645\u0646\u062a\u0642\u0644\u06cc \u06a9\u06d2 \u0648\u0642\u062a\u060c \u0627\u0633\u06d2 JSON \u0641\u0627\u0631\u0645\u06cc\u0679 \u0645\u06cc\u06ba \u0633\u0679\u0631\u0646\u06af \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<pre><code class=\"language-javascript\">  try {\n    const response = await fetch(\"https:\/\/api.brevo.com\/v3\/smtp\/email\", {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application\/json\",\n        \"api-key\": brevoApiKey,\n      },\n      body: JSON.stringify(payload),\n    });\n\n    const result = await response.json();\n\n    if (!response.ok) {\n      throw new Error(`Brevo API Error: ${JSON.stringify(result)}`);\n    }\n\n    console.log(`Email successfully sent to ${options.email} via Brevo HTTP API!`);\n  } catch (error) {\n    console.error(\"Error details:\", error.message);\n  }\n};\n\nmodule.exports = sendEmail;\n<\/code><\/pre>\n<p>\u0645\u0646\u062f\u0631\u062c\u06c1 \u0628\u0627\u0644\u0627 \u06a9\u0648\u0688 \u0645\u06cc\u06ba\u060c \u067e\u06d2 \u0644\u0648\u0688 \u062c\u0645\u0639 \u06a9\u0631\u0627\u0626\u06d2 \u062c\u0627\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f\u060c \u0627\u06af\u0631 \u0645\u06cc\u0633\u062c \u06a9\u0627\u0645\u06cc\u0627\u0628\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u06be\u06cc\u062c\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u0679\u0631\u0645\u06cc\u0646\u0644 \u0645\u06cc\u06ba \u06a9\u0627\u0645\u06cc\u0627\u0628\u06cc \u06a9\u0627 \u0644\u0627\u06af \u062f\u06a9\u06be\u0627\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 \u062a\u0627\u06c1\u0645\u060c \u0627\u06af\u0631 \u0622\u067e \u06a9\u06cc API \u06a9\u0644\u06cc\u062f \u0645\u06cc\u06ba \u0679\u0627\u0626\u067e\u0646\u06af \u06a9\u06cc \u063a\u0644\u0637\u06cc \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u067e\u06cc\u063a\u0627\u0645 \u06a9\u0648 \u06a9\u0627\u0645\u06cc\u0627\u0628\u06cc \u0633\u06d2 \u0646\u06c1\u06cc\u06ba \u067e\u06c1\u0646\u0686\u0627\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0622\u067e \u06a9\u0648 \u063a\u0644\u0637\u06cc \u06a9\u0627 \u067e\u06cc\u063a\u0627\u0645 \u0645\u0644\u06d2 \u06af\u0627 \u062a\u0627\u06a9\u06c1 \u0622\u067e \u06a9\u0648 \u062f\u0631\u0633\u062a \u0637\u0648\u0631 \u067e\u0631 \u06a9\u06cc\u0627 \u063a\u0644\u0637 \u06c1\u0648\u0627 \u06c1\u06d2 \u0627\u0633\u06d2 \u0679\u06be\u06cc\u06a9 \u06a9\u0631\u0646\u06d2 \u0645\u06cc\u06ba \u0645\u062f\u062f \u0645\u0644\u06d2\u06d4<\/p>\n<h3 id=\"heading-integrating-the-function-into-an-express-route\">\u0627\u06cc\u06a9\u0633\u067e\u0631\u06cc\u0633 \u0631\u0648\u0679 \u0645\u06cc\u06ba \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06a9\u0648 \u0636\u0645 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u0627\u0628 \u0622\u067e \u0646\u06d2 \u06a9\u0627\u0645\u06cc\u0627\u0628\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u0637\u0627\u0642\u062a\u0648\u0631 \u0627\u06cc \u0645\u06cc\u0644 \u0641\u06cc\u0686\u0631 \u0628\u0646\u0627\u06cc\u0627 \u06c1\u06d2\u06d4 \u0622\u0626\u06cc\u06d2 \u062f\u06cc\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0627\u0633\u06d2 \u0639\u0645\u0644\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0627\u06cc\u06a9 \u062d\u0642\u06cc\u0642\u06cc \u0627\u06cc\u06a9\u0633\u067e\u0631\u06cc\u0633 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646 \u0645\u06cc\u06ba \u06a9\u06cc\u0633\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/p>\n<p>\u0628\u0646\u0627\u0646\u0627 <code>index.js<\/code> \u0627\u06cc\u06a9 \u0641\u0627\u0626\u0644 \u0628\u0646\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0633\u0627\u062f\u06c1 \u0627\u06cc\u06a9\u0633\u067e\u0631\u06cc\u0633 \u0633\u0631\u0648\u0631 \u067e\u0627\u062a\u06be \u0633\u06cc\u0679 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-javascript\">const express = require(\"express\");\nconst sendEmail = require(\".\/utils\/email\");\nconst app = express();\n\napp.use(express.json()); \/\/ Middleware to parse JSON request bodies\n\napp.post(\"\/api\/signup\", async (req, res) => {\n  const { username, email } = req.body;\n\n  \/\/ 1. Save user to database (skipped for brevity)\n  \n  \/\/ 2. Generate a random OTP\n  const otp = Math.floor(100000 + Math.random() * 900000);\n\n  \/\/ 3. Send the email using our new Brevo function\n  try {\n    await sendEmail({\n      email: email,\n      subject: \"Welcome! Here is your Verification Code\",\n      html: `\n        <div style=\"font-family: sans-serif; text-align: center;\">\n          <h2>Welcome to My Awesome Web App, ${username}!<\/h2>\n          <p>Please use the verification code below to complete your registration:<\/p>\n          \n          <p>This code will expire in 10 minutes.<\/p>\n        <\/div>\n      `,\n    });\n\n    res.status(201).json({ message: \"User created and email sent!\" });\n  } catch (error) {\n    res.status(500).json({ error: \"Failed to send email.\" });\n  }\n});\n\napp.listen(8000, () => {\n  console.log(\"Server running on port 8000\");\n});\n<\/code><\/pre>\n<p>\u0627\u0648\u0631 \u0628\u0633! \u0627\u0628 \u0622\u067e \u0627\u0633\u06d2 \u0645\u0627\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>\/api\/signup<\/code> \u0627\u067e\u0646\u06d2 React \u06cc\u0627 Vue \u0641\u0631\u0646\u0679 \u0627\u06cc\u0646\u0688 \u0633\u06d2 \u0627\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u067e\u0648\u0627\u0626\u0646\u0679 \u0628\u06be\u06cc\u062c\u06cc\u06ba \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u062e\u0648\u0628\u0635\u0648\u0631\u062a \u0641\u0627\u0631\u0645\u06cc\u0679 \u0634\u062f\u06c1 \u0627\u06cc \u0645\u06cc\u0644 \u0641\u0648\u0631\u06cc \u0637\u0648\u0631 \u067e\u0631 Brevo \u06a9\u06d2 REST API \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0628\u06be\u06cc\u062c\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<h2 id=\"heading-conclusion\">\u0646\u062a\u06cc\u062c\u06c1<\/h2>\n<p>\u0627\u06cc\u06a9 \u0688\u0648\u06cc\u0644\u067e\u0631 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631\u060c \u06cc\u06c1 \u06a9\u06cc\u0691\u06d2 \u06a9\u0627 \u0633\u0627\u0645\u0646\u0627 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u06cc\u06a9 \u0631\u0633\u0645 \u06c1\u06d2 \u062c\u0648 \u0645\u0642\u0627\u0645\u06cc \u0637\u0648\u0631 \u067e\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0644\u06cc\u06a9\u0646 \u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u0645\u06cc\u06ba \u0646\u0627\u06a9\u0627\u0645 \u0631\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u062a\u0627\u06c1\u0645\u060c &quot;\u0627\u06cc \u0645\u06cc\u0644 \u06a9\u06cc \u062a\u0631\u0633\u06cc\u0644 \u0646\u0627\u06a9\u0627\u0645&#8221; \u0679\u0627\u0626\u0645 \u0622\u0624\u0679 \u06a9\u06cc \u062e\u0631\u0627\u0628\u06cc \u062e\u0627\u0635 \u06c1\u06d2\u06d4 \u0633\u0627\u0641\u0679 \u0648\u06cc\u0626\u0631 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u0635\u0631\u0641 \u0635\u0627\u0641 \u0646\u062d\u0648 \u0644\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u06cc\u06c1 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0627\u0646\u0641\u0631\u0627\u0633\u0679\u0631\u06a9\u0686\u0631\u060c \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u06a9\u06cc \u062a\u06c1\u0648\u06ba\u060c \u0627\u0648\u0631 \u0627\u0633 \u0645\u0627\u062d\u0648\u0644 \u06a9\u06d2 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u0648 \u0633\u0645\u062c\u06be\u0646\u06d2 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba \u0622\u067e \u06a9\u0627 \u06a9\u0648\u0688 \u0686\u0644\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u067e\u0631\u0648\u0679\u0648\u06a9\u0648\u0644 (SMTP) \u06a9\u0648 \u0622\u0631\u06a9\u06cc\u0679\u06cc\u06a9\u0686\u0631\u0644 \u067e\u06cc\u0679\u0631\u0646 (HTTPS \u067e\u0631 REST API) \u0633\u06d2 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0635\u0631\u0641 \u06a9\u06cc\u0691\u06d2 \u0679\u06be\u06cc\u06a9 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06c1\u0645 \u0646\u06d2 \u0628\u06be\u0627\u0631\u06cc \u062a\u06be\u0631\u0688 \u067e\u0627\u0631\u0679\u06cc \u0627\u06cc\u0646 \u067e\u06cc \u0627\u06cc\u0645 \u0645\u0627\u0688\u06cc\u0648\u0644\u0632 \u062c\u06cc\u0633\u06d2 \u0646\u0648\u0688 \u0645\u06cc\u0644\u0631 \u067e\u0631 \u0628\u06be\u0631\u0648\u0633\u06c1 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u06a9\u0644\u0627\u0624\u0688 \u0644\u06cc\u0648\u0644 \u0641\u0627\u0626\u0631 \u0648\u0627\u0644\u0632 \u06a9\u06d2 \u0627\u0631\u062f \u06af\u0631\u062f \u0627\u06cc\u06a9 \u0645\u062d\u0641\u0648\u0638\u060c \u0645\u0641\u062a\u060c \u0627\u0648\u0631 \u0645\u0636\u0628\u0648\u0637 \u0628\u0627\u0626\u06cc \u067e\u0627\u0633 \u06a9\u0627\u0645\u06cc\u0627\u0628\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06cc\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u0646\u06d2 \u0627\u0628\u06be\u06cc \u062a\u06a9 \u06a9\u0627\u0645\u06cc\u0627\u0628\u06cc \u062d\u0627\u0635\u0644 \u06a9\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u06c1\u0645 \u0627\u0645\u06cc\u062f \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u06c1\u0645 \u0646\u06d2 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u06a9\u06cc \u062a\u06c1\u06c1 \u06a9\u0648 \u0633\u0645\u062c\u06be\u0646\u06d2 \u06a9\u06cc \u0627\u06c1\u0645\u06cc\u062a \u0627\u0648\u0631 HTTP APIs \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0648\u06cc\u0628 \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0633\u06d2 \u0627\u06cc \u0645\u06cc\u0644 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u0628\u06be\u06cc\u062c\u0646\u06d2 \u06a9\u06d2 \u0637\u0631\u06cc\u0642\u06d2 \u06a9\u0648 \u06a9\u0627\u0645\u06cc\u0627\u0628\u06cc \u0633\u06d2 \u0638\u0627\u06c1\u0631 \u06a9\u0631 \u062f\u06cc\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0634\u06a9\u0631\u06cc\u06c1!<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0622\u062c \u06a9\u0644\u060c \u0648\u06cc\u0628 \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u06cc \u0645\u06cc\u0644 \u0628\u06be\u06cc\u062c \u06a9\u0631 \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u06c1\u0648\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4 \u0627\u0633 \u0633\u06d2 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u0648\u06ba \u06a9\u0648 \u0645\u0645\u06a9\u0646\u06c1 \u06af\u0627\u06c1\u06a9\u0648\u06ba \u0633\u06d2 \u062c\u0691\u06d2 \u0631\u06c1\u0646\u06d2\u060c \u0635\u0627\u0631\u0641 \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a \u06a9\u06cc \u0645\u062d\u0641\u0648\u0638 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u0646\u06d2 \u0627\u0648\u0631 \u067e\u0627\u0633 \u0648\u0631\u0688 \u0631\u06cc \u0633\u06cc\u0679 \u062c\u06cc\u0633\u06cc \u0627\u06c1\u0645 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u0646\u06d2 \u0645\u06cc\u06ba \u0645\u062f\u062f \u0645\u0644\u062a\u06cc \u06c1\u06d2\u06d4 \u0644\u06cc\u06a9\u0646 \u0628\u0639\u0636 \u0627\u0648\u0642\u0627\u062a\u060c \u06a9\u0644\u0627\u0624\u0688 \u067e\u0631 [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-23693","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/posts\/23693","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/comments?post=23693"}],"version-history":[{"count":0,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/posts\/23693\/revisions"}],"wp:attachment":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/media?parent=23693"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/categories?post=23693"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/tags?post=23693"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}