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