با سلام استاد.
سوال اول => من در حال ایجاد سیستم خبرنامه هستم سوالی که دارم اینه که اگر قرار باشد به ایمیل چند کاربر پیامی را بفرستیم. این کار را را باید به این صورت انجام داد که بر روی هر کاربر حلقه زد و تابع sendEmail را در هر بار فراخوانی کرد؟ ( این تابع فقط به یک ایمیل ، ایمیل می زند.) یا اینکه ماژولی وجود داره که لیستی از ایمیل ها را بگیره و همزمان به همه ی آنها ایمیل بفرستد. همچین ماژولی هست؟
سوال دوم => نحوه رندر کردن یک تمپلت ایمیل با دیتاهای داینامیک چگونه است؟ ماژولی برای این کار وجود دارد؟
ممنون میشم به سوالاتم مخصوصا سوال اول پاسخ دهید.
سلام دوست من
جواب سوال اول :
میتونی برای سادگی کار از سرویس دهنده های ایمیل استفاده کنی که بسیار راحت هست
اما اگر خودت می خوای ایمیل بفرستی کار ساده این هست که تمامیه ایمیل ها درون آرایه در دسترس باشد و آرایه رو بدی
نمونه کد
6
const maillist = [
'email1',
'email2',
'email3',
];
maillist.toString();
var msg = {
from: "******", // sender address
to: maillist,
subject: "Hello ✔", // Subject line
text: "Hello ✔", // plaintext body
cc: "*******"
// html: "<b>Hello world ✔</b>" // html body
}
سوال دوم :
میتونی از handlebars استفاده کنی این مقاله در موردش صحبت کرده
اگر در یوتیوب هم جستجو کنی کلی آموزش هست
موفق باشید
خیلی ممنون استاد
برای سوال دوم روشی که قبلا سرچ گرده بودم این بود که
با استافده از ماژول fs میومد و فایل html مورد نظر را میخوند و دیتاهای داینامیک را با دیتاهای موردنظر replace میکرد.
راه زیر چطوره؟
const htmlFile = fs.readFileSync(path.join(__dirname, 'index.html'))
htmlFile.replcae('ERROR_TITLE','داده ی مورد نظر')
راهکار خوبی هست
ولی اگر قرار باشه برای کلی کاربر ایمیل ارسال بشه و برای همه بیاد بخونه نه مشکل ساز میشه چون داری از readFileSync استفاده میکنی بجاش از readFile استفاده کن چون Async هست و باید جواب بده