پیکربندی ارسال ایمیل
توجه
هر سه روش را میتوان همزمان پیکربندی کرد. هنگام ارسال ایمیل، ابتدا از resend استفاده میشود. اگر resend پیکربندی نشده باشد، از smtp استفاده خواهد شد.
اگر آدرس ایمیل هدایت تأیید شده Cloudflare پیکربندی شده باشد، ابتدا از API داخلی cf برای ارسال ایمیل استفاده میشود.
استفاده از resend برای ارسال ایمیل
در https://resend.com/domains ثبتنام کنید و طبق دستورالعملها رکوردهای DNS را اضافه کنید.
در صفحه API KEYS یک api key ایجاد کنید.
سپس دستور زیر را اجرا کنید تا RESEND_TOKEN را به secrets اضافه کنید.
NOTE
اگر فکر میکنید این کار دشوار است، میتوانید آن را مستقیماً به صورت متن ساده در wrangler.toml زیر [vars] قرار دهید، اما این روش توصیه نمیشود.
اگر از طریق رابط کاربری استقرار کردهاید، میتوانید آن را در رابط کاربری Cloudflare در بخش Variables and Secrets اضافه کنید.
# به دایرکتوری worker بروید
cd worker
wrangler secret put RESEND_TOKENاگر چندین دامنه دارید که به api key های مختلف مربوط میشوند، میتوانید چندین secret در wrangler.toml اضافه کنید. نام آنها باید RESEND_TOKEN_ + <. را با _ جایگزین کنید و دامنه را با حروف بزرگ بنویسید> باشد، مثلاً:
wrangler secret put RESEND_TOKEN_XXX_COM
wrangler secret put RESEND_TOKEN_DREAMHUNTER2333_XYZاستفاده از SMTP برای ارسال ایمیل
فرمت SMTP_CONFIG به شرح زیر است: کلید، نام دامنه است و مقدار، پیکربندی SMTP است. برای جزئیات فرمت پیکربندی SMTP، به zou-yu/worker-mailer مراجعه کنید.
{
"awsl.uk": {
"host": "smtp.xxx.com",
"port": 465,
"secure": true,
"authType": [
"plain",
"login"
],
"credentials": {
"username": "username",
"password": "password"
}
}
}سپس دستور زیر را اجرا کنید تا SMTP_CONFIG را به secrets اضافه کنید.
NOTE
اگر فکر میکنید این کار دشوار است، میتوانید آن را مستقیماً به صورت متن ساده در wrangler.toml زیر [vars] قرار دهید، اما این روش توصیه نمیشود.
اگر از طریق رابط کاربری استقرار کردهاید، میتوانید آن را در رابط کاربری Cloudflare در بخش Variables and Secrets اضافه کنید.
# به دایرکتوری worker بروید
cd worker
wrangler secret put SMTP_CONFIGارسال ایمیل به آدرسهای ایمیل هدایت تأیید شده در Cloudflare
فقط هنگام استقرار CLI پشتیبانی میشود. پیکربندی send_email را در wrangler.toml اضافه کنید.
آدرس ایمیل مقصد باید یک آدرس ایمیل تأیید شده در Cloudflare باشد. این محدودیت بزرگی است. اگر میخواهید ایمیل به آدرسهای دیگر ارسال کنید، میتوانید از resend یا smtp استفاده کنید.
# ارسال ایمیل از طریق Cloudflare
send_email = [
{ name = "SEND_MAIL" },
]در پنل مدیریت ادمین، پیکربندی حساب لیست آدرسهای تأیید شده (میتوان از طریق api داخلی cf ایمیل ارسال کرد)