Merge dependabot/npm_and_yarn/examples/typescript/smtp-client-pool/nodemailer-6.9...
[poolifier.git] / examples / typescript / smtp-client-pool / src / main.ts
CommitLineData
f8374594 1import type SMTPTransport from 'nodemailer/lib/smtp-transport/index.js'
9aef1431
JB
2import { smtpClientPool } from './pool.js'
3
4const tos = ['bar@example.com, baz@example.com']
5
f8374594 6const smtpClientPoolPromises = new Set<Promise<SMTPTransport.SentMessageInfo>>()
9aef1431
JB
7for (const to of tos) {
8 smtpClientPoolPromises.add(
9 smtpClientPool.execute({
10 smtpTransport: {
11 host: 'smtp.domain.tld',
12 port: 465,
13 secure: true,
14 auth: {
15 user: 'REPLACE-WITH-YOUR-ALIAS@DOMAIN.TLD',
16 pass: 'REPLACE-WITH-YOUR-GENERATED-PASSWORD'
17 }
18 },
19 mail: {
20 from: '"Foo" <foo@domain.tld>',
21 to,
22 subject: 'Hello',
23 text: 'Hello world?',
24 html: '<b>Hello world?</b>'
25 }
26 })
27 )
28}
29try {
30 const now = performance.now()
31 await Promise.all(smtpClientPoolPromises)
32 const elapsedTime = performance.now() - now
33 console.info(
34 `Send in parallel in ${elapsedTime.toFixed(2)}ms ${
35 tos.length
36 } mails with SMTP client pool`
37 )
38} catch (error) {
39 console.error(error)
40}