Öppen källkod Nodd.js API för läsning och sändning av e‑post
Ett avancerat öppet källkod Node.js e‑posthanterings‑API möjliggör för utvecklare att skapa, läsa, anpassa och skicka e‑postmeddelanden med bilagor och anpassad rubrik från Node.js‑appar.
Vad är Nodemailer API?
Upptäck Nodemailer, det essentiella biblioteket för att skicka e-post för Node.js-utvecklare. Verktyget ger Node.js-utvecklare möjlighet att skapa och skicka e-postmeddelanden med bara ett par kodrader från sina applikationer. Dess öppna källkod och robusta API gör det till ett populärt val för utvecklare som vill integrera e-postfunktionalitet sömlöst. Mjukvaruutvecklare kan anpassa e-postinnehåll i stor utsträckning utan extern hjälp. Från enkla textmail till komplexa HTML-mallar (transaktionsmail, aviseringar eller nyhetsbrev) med bilagor, erbjuder biblioteket verktygen som behövs för att skapa professionella och engagerande e-postmeddelanden. För ökad säkerhet stöder det OAuth2-autentisering. Denna metod är särskilt användbar när man skickar e-post från tjänster som stödjer OAuth2, såsom Gmail.
Nodemailer stöder en mängd olika transportmetoder, inklusive SMTP, OAuth2 och även direkttransport. Denna flexibilitet säkerställer att utvecklare kan välja den mest lämpliga metoden för deras specifika användningsfall. Det erbjuder omfattande anpassningsalternativ och låter utvecklare sätta egna rubriker, ändra kodning, lägga till bilagor, inbäddade bilder och justera andra parametrar för att möta specifika krav. Som ett open source‑projekt drar API:et nytta av en livlig gemenskap av bidragsgivare och användare. Denna aktiva gemenskap säkerställer regelbundna uppdateringar, kontinuerlig förbättring och en rikedom av delad kunskap och resurser. Nodemailer utmärker sig som en kraftfull, flexibel och pålitlig lösning för e‑postintegration i Node.js‑applikationer. Dess open‑source‑karaktär och starka gemenskapsstöd gör det till ett självklart verktyg för utvecklare som vill förbättra sina applikationer med robusta e‑post‑sändningsfunktioner.
Komma igång med Nodemailer
Det rekommenderade sättet att installera Nodemailer är att använda NPM. Använd följande kommando för en smidig installation.
Installera Nodemailer via npm
npm install nodemailer
Skicka e-postmeddelande från Node.js
Den öppna källkods‑Nodemailer e‑post‑API:n låter mjukvaruutvecklare skapa och skicka e‑postmeddelanden från en Node.js‑applikation utan externa beroenden. API:n stöder olika transportmekanismer, vilket gör att utvecklare kan välja den bästa metoden för att skicka e‑post. De vanligaste transportmetoderna inkluderar SMTP‑transport, OAuth2‑stöd eller direkttransport. Den stödjer att lägga till bilagor i e‑post, bädda in bildbilagor för HTML‑innehåll, skicka e‑post till flera mottagare med mera. Här är ett enkelt exempel som visar hur mjukvaruutvecklare kan använda SMTP‑transport för att skicka ett e‑postmeddelande från en Node.js‑applikation.
Hur skickar man e-postmeddelande via SMTP-transport från Node.js-appar?
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));
});
Skicka e-post med rikt innehåll från Node.js-appar
Nodemailer API möjliggör skapandet av rik e-postinnehåll, som stödjer både vanlig text och HTML-format i Node.js-applikationer. Detta låter mjukvaruutvecklare skapa visuellt tilltalande e-postmeddelanden som kan innehålla styling, bilder och till och med interaktivt innehåll. Genom att använda API:et med mallmotorer som Handlebars eller EJS kan utvecklare skapa dynamiska, datadrivna e-postmallar. Detta är perfekt för att skicka personliga meddelanden, där innehållet kan anpassas baserat på användardata. API:et stödjer bilagor, vilket gör det möjligt att skicka filer såsom PDF‑filer, bilder eller någon annan typ av fil tillsammans med e-posten.
Anpassade rubriker och inbäddade bilder
För avancerad e-postanpassning låter Nodemailer API mjukvaruutvecklare inkludera anpassade rubriker och inbäddade bilder i Node.js-applikationer. Denna funktion är särskilt användbar för varumärkesbyggande och personalisering, vilket säkerställer att e-postmeddelanden stämmer överens med applikationens utseende och känsla. Anpassade rubriker kan användas för att ange specifik metadata för e-posten, medan inbäddade bilder kan göra ditt e-postmeddelande visuellt tilltalande genom att visa bilder inline. Nedan följer ett omfattande exempel som demonstrerar hur man skickar ett e-postmeddelande med anpassade rubriker och en inbäddad bild.
Hur skickar man ett e-postmeddelande med anpassad rubrik och en inbäddad bild via Node.js API?
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: `Välkommen!
Det här e‑postmeddelandet innehåller anpassade rubriker och en inbäddad bild.
`,
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);
});