API منبع باز Nodd.js برای خواندن و ارسال ایمیل‌ها

یک API پیشرفته منبع باز مدیریت ایمیل Node.js به توسعه‌دهندگان امکان ایجاد، خواندن، سفارشی‌سازی و ارسال پیام‌های ایمیل با پیوست‌ها و سرآیند سفارشی از برنامه‌های Node.js را می‌دهد.

Nodemailer API چیست؟

نودمیلر را کشف کنید، کتابخانهٔ ضروری ارسال ایمیل برای توسعه‌دهندگان Node.js. این ابزار به توسعه‌دهندگان Node.js امکان می‌دهد تا پیام‌های ایمیل را تنها با چند خط کد از داخل برنامه‌های خود ایجاد و ارسال کنند. طبیعت منبع باز و API قدرتمند آن، باعث شده است که این کتابخانه گزینهٔ محبوبی برای توسعه‌دهندگانی باشد که می‌خواهند عملکرد ایمیل را به‌صورت یکپارچه ادغام کنند. توسعه‌دهندگان نرم‌افزار می‌توانند محتوای ایمیل را به‌طور گسترده بدون نیاز به کمک خارجی سفارشی‌سازی کنند. از ایمیل‌های متنی ساده تا قالب‌های پیچیدهٔ HTML (ایمیل‌های تراکنشی، اعلان‌ها یا خبرنامه‌ها) با پیوست‌ها، این کتابخانه ابزارهای لازم برای ایجاد ایمیل‌های حرفه‌ای و جذاب را فراهم می‌کند. برای افزایش امنیت، از احراز هویت OAuth2 پشتیبانی می‌کند. این روش به‌ویژه هنگام ارسال ایمیل‌ها از سرویس‌هایی که از OAuth2 پشتیبانی می‌کنند، مانند جیمیل، مفید است.

نودمیلر از انواع روش‌های حمل‌ونقل، از جمله SMTP، OAuth2 و حتی حمل‌ونقل مستقیم پشتیبانی می‌کند. این انعطاف‌پذیری تضمین می‌کند که توسعه‌دهندگان بتوانند مناسب‌ترین روش را برای مورد استفاده خاص خود انتخاب کنند. این امکان گزینه‌های سفارشی‌سازی گسترده‌ای را فراهم می‌آورد و به توسعه‌دهندگان اجازه می‌دهد هدرهای سفارشی تنظیم کنند، رمزگذاری را تغییر دهند، پیوست‌ها، تصاویر درون‌متن اضافه کنند و سایر پارامترها را برای برآورده کردن نیازهای خاص تنظیم کنند. به عنوان یک پروژه متن‌باز، API از جامعهٔ پرجنب‌وجوشی از مشارکت‌کنندگان و کاربران بهره می‌برد. این جامعه فعال به‌روزرسانی‌های منظم، بهبود مستمر و ثروتی از دانش و منابع مشترک را تضمین می‌کند. نودمیلر به‌عنوان یک راه‌حل قدرتمند، انعطاف‌پذیر و قابل اعتماد برای یکپارچه‌سازی ایمیل در برنامه‌های Node.js برجسته است. طبیعت متن‌باز آن و پشتیبانی قوی جامعه، آن را به ابزاری اصلی برای توسعه‌دهندگانی تبدیل می‌کند که به دنبال ارتقاء برنامه‌های خود با قابلیت‌های ارسال ایمیل قوی هستند.

Previous Next

شروع کار با Nodemailer

روش پیشنهادی برای نصب Nodemailer استفاده از NPM است. لطفاً برای نصب روان، از فرمان زیر استفاده کنید.

نصب Nodemailer از طریق npm

npm install nodemailer
 

ارسال پیام ایمیل از Node.js

API ایمیل منبع باز Nodemailer به توسعه‌دهندگان نرم‌افزار امکان ایجاد و ارسال پیام‌های ایمیل از برنامه Node.js را بدون هیچ وابستگی خارجی فراهم می‌کند. این API از مکانیزم‌های مختلف حمل و نقل پشتیبانی می‌کند و به توسعه‌دهندگان اجازه می‌دهد بهترین روش برای ارسال ایمیل‌ها را انتخاب کنند. رایج‌ترین روش‌های حمل و نقل شامل حمل و نقل SMTP، پشتیبانی OAuth2 یا حمل و نقل مستقیم هستند. این امکان را می‌دهد که پیوست‌ها به ایمیل‌ها اضافه شوند، پیوست‌های تصویری برای محتوای HTML جاسازی شوند، ایمیل به چندین کاربر ارسال شود و غیره. در اینجا یک مثال ساده آورده شده است که نشان می‌دهد چگونه توسعه‌دهندگان نرم‌افزار می‌توانند از حمل و نقل SMTP برای ارسال یک پیام ایمیل از برنامه Node.js استفاده کنند.

چگونه پیام ایمیل را از طریق حمل‌ونقل SMTP در برنامه‌های Node.js ارسال کنیم؟

 
const nodemailer = require('nodemailer');

// Configure the SMTP transport
let transporter = nodemailer.createTransport({
    host: 'smtp.example.com',
    port: 587,
    secure: false, // true for 465, false for other ports
    auth: {
        user: 'your-email@example.com', // your SMTP username
        pass: 'your-email-password' // your SMTP password
    }
});

// Define the email options
let mailOptions = {
    from: 'your-email@example.com', // sender address
    to: 'recipient@example.com', // list of receivers
    subject: 'Hello from Nodemailer', // Subject line
    text: 'This is a test email sent using Nodemailer', // plain text body
    html: 'This is a test email sent using Nodemailer' // html body
};

// Send the email
transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
        return console.log('Error: ', error);
    }
    console.log('Message sent: %s', info.messageId);
    console.log('Preview URL: %s', nodemailer.getTestMessageUrl(info));
});
 

ارسال ایمیل‌ها با محتوای غنی از برنامه‌های Node.js

API نودمیلر امکان ایجاد محتوای ایمیل غنی را فراهم می‌کند و از فرمت‌های متن ساده و HTML در برنامه‌های Node.js پشتیبانی می‌کند. این به توسعه‌دهندگان نرم‌افزار اجازه می‌دهد ایمیل‌های بصری جذابی بسازند که می‌توانند شامل استایل، تصاویر و حتی محتوای تعاملی باشند. با استفاده از API همراه با موتورهای قالب‌سازی مانند Handlebars یا EJS، توسعه‌دهندگان می‌توانند قالب‌های ایمیل پویا و مبتنی بر داده ایجاد کنند. این برای ارسال پیام‌های شخصی‌سازی‌شده ایده‌آل است، جایی که محتوا می‌تواند بر اساس داده‌های کاربر سازگار شود. API از پیوست‌ها پشتیبانی می‌کند و امکان ارسال فایل‌هایی مانند PDFها، تصاویر یا هر نوع فایل دیگری را همراه با ایمیل فراهم می‌سازد.

سرآیندهای سفارشی و تصاویر جاسازی‌شده

برای سفارشی‌سازی پیشرفته ایمیل، API نودمیلر به توسعه‌دهندگان نرم‌افزار اجازه می‌دهد هدرهای سفارشی و تصاویر جاسازی‌شده را در برنامه‌های Node.js گنجانند. این ویژگی به‌ویژه برای برندینگ و شخصی‌سازی مفید است و اطمینان می‌دهد ایمیل‌ها با ظاهر و حس برنامه هم‌راستا باشند. هدرهای سفارشی می‌توانند برای تنظیم متادیتای خاص ایمیل استفاده شوند، در حالی که تصاویر جاسازی‌شده می‌توانند ایمیل شما را با نمایش تصاویر به‌صورت درون‌خطی بصری جذاب کنند. در زیر یک مثال جامع آورده شده است که ارسال ایمیل با هدرهای سفارشی و یک تصویر جاسازی‌شده را نشان می‌دهد.

چگونه ایمیلی با هدر سفارشی و تصویر جاسازی‌شده از طریق API Node.js ارسال کنیم؟

 
const nodemailer = require('nodemailer');
const path = require('path');

// Create a transporter object using SMTP transport
let transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: 'your-email@gmail.com',
        pass: 'your-email-password'
    }
});

// Define the email options, including custom headers and an embedded image
let mailOptions = {
    from: 'your-email@gmail.com',
    to: 'recipient@example.com',
    subject: 'Custom Headers and Embedded Images in Nodemailer',
    html: `

خوش آمدید!

این ایمیل شامل سرصفحه‌های سفارشی و یک تصویر جاسازی‌شده است.

`, headers: { 'X-Custom-Header': 'CustomHeaderValue', 'X-Mailer': 'Nodemailer 6.4.11' }, attachments: [ { filename: 'image.jpg', path: path.join(__dirname, 'path_to_image/image.jpg'), cid: 'unique@nodemailer.com' // same cid as in the HTML above } ] }; // Send the email transporter.sendMail(mailOptions, (error, info) => { if (error) { return console.error('Error sending email:', error); } console.log('Email sent successfully:', info.response); });
 فارسی