1. produkty
  2.   E-mailem
  3.   Node.js
  4.   Nodemailer
 
  

Open source Nodd.js API pro čtení a odesílání e‑mailů

Pokročilé open source API pro správu e‑mailů v Node.js umožňuje vývojářům vytvářet, číst, přizpůsobovat a odesílat e‑mailové zprávy s přílohami a vlastním záhlavím z aplikací Node.js.

Co je Nodemailer API?

Objevte Nodemailer, nezbytnou knihovnu pro odesílání e‑mailů pro vývojáře Node.js. Tento nástroj umožňuje vývojářům Node.js vytvářet a odesílat e‑mailové zprávy pouhými několika řádky kódu přímo z jejich aplikací. Jeho open‑source povaha a robustní API z něj činí oblíbenou volbu pro vývojáře, kteří chtějí bez problémů integrovat e‑mailovou funkčnost. Vývojáři softwaru mohou rozsáhle přizpůsobovat obsah e‑mailů bez jakékoli externí pomoci. Od jednoduchých textových e‑mailů po složité HTML šablony (transakční e‑maily, oznámení nebo newslettery) s přílohami, knihovna poskytuje nástroje potřebné k vytvoření profesionálních a poutavých e‑mailů. Pro zvýšenou bezpečnost podporuje autentizaci OAuth2. Tato metoda je zvláště užitečná při odesílání e‑mailů ze služeb, které podporují OAuth2, jako je Gmail.

Nodemailer podporuje různé způsoby transportu, včetně SMTP, OAuth2 a dokonce i přímého transportu. Tato flexibilita zajišťuje, že vývojáři si mohou vybrat nejvhodnější metodu pro svůj konkrétní případ použití. Poskytuje rozsáhlé možnosti přizpůsobení a umožňuje vývojářům nastavit vlastní hlavičky, upravit kódování, přidávat přílohy, vložené obrázky a upravovat další parametry tak, aby vyhovovaly specifickým požadavkům. Jako open source projekt těží API z živé komunity přispěvatelů a uživatelů. Tato aktivní komunita zajišťuje pravidelné aktualizace, neustálé vylepšování a bohatství sdílených znalostí a zdrojů. Nodemailer vyniká jako výkonné, flexibilní a spolehlivé řešení pro integraci e‑mailu v aplikacích Node.js. Jeho open‑source povaha a silná podpora komunity z něj činí oblíbený nástroj pro vývojáře, kteří chtějí vylepšit své aplikace robustními možnostmi odesílání e‑mailů.

Previous Next

Začínáme s Nodemailer

Doporučený způsob instalace Nodemaileru je pomocí NPM. Použijte prosím následující příkaz pro hladkou instalaci.

Instalace Nodemailer via npm

npm install nodemailer
 

Odesílání e-mailové zprávy z Node.js

Open source API pro e‑mail Nodemailer umožňuje vývojářům softwaru vytvářet a odesílat e‑mailové zprávy z aplikace Node.js bez jakýchkoli externích závislostí. API podporuje různé transportní mechanismy, což vývojářům umožňuje vybrat nejlepší metodu pro odesílání e‑mailů. Nejčastější transportní metody zahrnují SMTP transport, podporu OAuth2 nebo přímý transport. Podporuje přidávání příloh k e‑mailům, vkládání obrázkových příloh do HTML obsahu, odesílání e‑mailů více uživatelům a podobně. Zde je jednoduchý příklad, který ukazuje, jak mohou vývojáři softwaru použít SMTP transport k odeslání e‑mailové zprávy z aplikace Node.js.

Jak odeslat e‑mailovou zprávu pomocí SMTP transportu z aplikací 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));
});
 

Odesílání e‑mailů s bohatým obsahem z aplikací Node.js

Nodemailer API umožňuje vytvářet bohatý e‑mailový obsah, podporující jak prostý text, tak formáty HTML v aplikacích Node.js. To vývojářům softwaru umožňuje vytvářet vizuálně atraktivní e‑maily, které mohou zahrnovat stylování, obrázky a dokonce i interaktivní obsah. Používáním API s šablonovacími enginy jako Handlebars nebo EJS mohou vývojáři vytvářet dynamické, na datech založené e‑mailové šablony. To je ideální pro odesílání personalizovaných zpráv, kde se obsah může přizpůsobovat na základě uživatelských dat. API podporuje přílohy, což umožňuje odesílat soubory jako PDF, obrázky nebo jakýkoli jiný typ souboru spolu s e‑mailem.

Vlastní hlavičky a vložené obrázky

Pro pokročilou úpravu e‑mailů umožňuje Nodemailer API vývojářům softwaru zahrnout vlastní hlavičky a vložené obrázky v aplikacích Node.js. Tato funkce je zvláště užitečná pro branding a personalizaci, zajišťuje, že e‑maily odpovídají vzhledu a stylu aplikace. Vlastní hlavičky lze použít k nastavení specifických metadat e‑mailu, zatímco vložené obrázky mohou e‑mail vizuálně zpříjemnit zobrazením obrázků přímo v těle zprávy. Níže je komplexní příklad, který demonstruje odeslání e‑mailu s vlastními hlavičkami a vloženým obrázkem.

Jak odeslat e‑mail s vlastním záhlavím a vloženým obrázkem pomocí 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ítejte!

Tento e‑mail obsahuje vlastní hlavičky a vložený obrázek.

`, 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); });
 Čeština