{"_id":"@atlex/mail","_rev":"16-2ab04e94580f950b6ec22451d5c437b8","name":"@atlex/mail","dist-tags":{"latest":"0.2.2"},"versions":{"0.1.1":{"name":"@atlex/mail","version":"0.1.1","keywords":["atlex","mail","typescript","email"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/mail@0.1.1","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/atlex-monorepo/issues"},"dist":{"shasum":"8d0be5bc4932b145ef2ca6919dcd5a939f313fa3","tarball":"https://registry.npmjs.org/@atlex/mail/-/mail-0.1.1.tgz","fileCount":99,"integrity":"sha512-S4dx5Plq8xgHsATlkxwZRIIyjX7a+6cVgEjFDBEg756Kn9cPPw3KV7LbEmhBOycj5DNVA2cVpDWxHDP+bMqLIA==","signatures":[{"sig":"MEUCIGvEzjVxYXie39EQQimB5vLufWaGAELDMfdRxcuP5x7SAiEAoUnBwNuzg+FpjJo+0yZpAw/uykta85f1s0+h0VWmHBo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":541960},"main":"./dist/index.js","type":"module","_from":"file:atlex-mail-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./testing":{"types":"./dist/testing/MailFake.d.ts","import":"./dist/testing/MailFake.js","default":"./dist/testing/MailFake.js","require":"./dist/testing/MailFake.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsup --config tsup.config.ts","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/0dc781016a87548c34fe6c41df582d02/atlex-mail-0.1.1.tgz","_integrity":"sha512-S4dx5Plq8xgHsATlkxwZRIIyjX7a+6cVgEjFDBEg756Kn9cPPw3KV7LbEmhBOycj5DNVA2cVpDWxHDP+bMqLIA==","repository":{"url":"git+https://github.com/atlex-framework/atlex-monorepo.git","type":"git","directory":"packages/mail"},"_npmVersion":"10.9.7","description":"Mailables and mail transports for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"marked":"^16.1.1","nodemailer":"^6.9.0","@atlex/core":"0.1.1","@atlex/queue":"0.1.1","@aws-sdk/client-ses":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.0.0","@types/nodemailer":"^6.4.0"},"peerDependencies":{"@atlex/core":"0.1.1","@atlex/queue":"0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/mail_0.1.1_1776194489161_0.6005197911310829","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@atlex/mail","version":"0.1.2","keywords":["atlex","mail","typescript","email"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/mail@0.1.2","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/mail/issues"},"dist":{"shasum":"00314f9f2a9396561a4ec35ca6eb7a3210677ff1","tarball":"https://registry.npmjs.org/@atlex/mail/-/mail-0.1.2.tgz","fileCount":99,"integrity":"sha512-5rEIKRswBoadrRff5j1bV9eoqsN8nCUfB+znlKnLVi0i99Ze4U92ewftwkXmieEHwwp3oz/mhdI4Toz02h6lGA==","signatures":[{"sig":"MEQCIG44h+p00YlgytbzIZwByvPf7/DA6xmVanwR0WtNvcfwAiBUnpAACUKK8xGz2jXuHr9gb3uYZU2Q5S8tOWEGZNgD7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":542067},"main":"./dist/index.js","type":"module","_from":"file:atlex-mail-0.1.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./testing":{"types":"./dist/testing/MailFake.d.ts","import":"./dist/testing/MailFake.js","default":"./dist/testing/MailFake.js","require":"./dist/testing/MailFake.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsup --config tsup.config.ts","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/09301d809907cf9027a198061bc950b0/atlex-mail-0.1.2.tgz","_integrity":"sha512-5rEIKRswBoadrRff5j1bV9eoqsN8nCUfB+znlKnLVi0i99Ze4U92ewftwkXmieEHwwp3oz/mhdI4Toz02h6lGA==","repository":{"url":"git+https://github.com/atlex-framework/mail.git","type":"git","directory":"packages/mail"},"_npmVersion":"10.9.7","description":"Mailables and mail transports for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"marked":"^16.1.1","nodemailer":"^6.9.0","@atlex/core":"0.1.2","@atlex/queue":"0.1.2","@aws-sdk/client-ses":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.0.0","@types/nodemailer":"^6.4.0"},"peerDependencies":{"@atlex/core":"0.1.2","@atlex/queue":"0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/mail_0.1.2_1776235402113_0.5419447434373312","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@atlex/mail","version":"0.1.3","keywords":["atlex","mail","typescript","email"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/mail@0.1.3","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/mail/issues"},"dist":{"shasum":"756d27b23a10416c2f0b66cb2ab1988809eaeafd","tarball":"https://registry.npmjs.org/@atlex/mail/-/mail-0.1.3.tgz","fileCount":99,"integrity":"sha512-7SfCJ4yyNmEYXKlvRONLa1UnxzX1RWaoFkVhLh7VhjNOhoC+0J5aqjzbyFRSirtHLG6GCMntq9MUEKN1lF3Ihg==","signatures":[{"sig":"MEUCIQDiPnLW/h63tkeEuDy7oPBPqoiifkmNZS6HER+zy6TC9gIgZGYcnf2hfbOVKKT75SgerHrlNJWEhKrE51PnOxBIQNM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":542207},"main":"./dist/index.js","type":"module","_from":"file:atlex-mail-0.1.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./testing":{"types":"./dist/testing/MailFake.d.ts","import":"./dist/testing/MailFake.js","default":"./dist/testing/MailFake.js","require":"./dist/testing/MailFake.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsup --config tsup.config.ts","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/b6825910aa0521a59ee40583bb9b7f16/atlex-mail-0.1.3.tgz","_integrity":"sha512-7SfCJ4yyNmEYXKlvRONLa1UnxzX1RWaoFkVhLh7VhjNOhoC+0J5aqjzbyFRSirtHLG6GCMntq9MUEKN1lF3Ihg==","repository":{"url":"git+https://github.com/atlex-framework/mail.git","type":"git","directory":"packages/mail"},"_npmVersion":"10.9.7","description":"Mailables and mail transports for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"marked":"^16.1.1","nodemailer":"^6.9.0","@atlex/core":"0.1.3","@atlex/queue":"0.1.3","@aws-sdk/client-ses":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.0.0","@types/nodemailer":"^6.4.0"},"peerDependencies":{"@atlex/core":"0.1.3","@atlex/queue":"0.1.3"},"_npmOperationalInternal":{"tmp":"tmp/mail_0.1.3_1776256093197_0.42896468693375933","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@atlex/mail","version":"0.1.4","keywords":["atlex","mail","email","mailer","email-sender","smtp","mailgun","ses","amazon-ses","email-templates","email-builder","fluent-mail","transactional-email","html-email","nodemailer-alternative","nodemailer","laravel-mail","laravel-mailables","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/mail@0.1.4","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/mail/issues"},"dist":{"shasum":"699a04133e09b80490ef30181968db72aedd6041","tarball":"https://registry.npmjs.org/@atlex/mail/-/mail-0.1.4.tgz","fileCount":99,"integrity":"sha512-c/iEUyLmIaK8DVe2YZTFNgZigKie0S99y6hMRUYgNGFIz9eHqfcsBgWYYQSut1dYzvT0e2l/yzB+mI8FBRAwEA==","signatures":[{"sig":"MEUCIQCUzUka/Go/wWLOUTgJpgz2JOC/DAMWk2eivJqM0jNH7QIgXaGL0BVAYhnS9UIaENIHf3gC1hGzLL3/k8dC3KEgPJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":542804},"main":"./dist/index.js","type":"module","_from":"file:atlex-mail-0.1.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./testing":{"types":"./dist/testing/MailFake.d.ts","import":"./dist/testing/MailFake.js","default":"./dist/testing/MailFake.js","require":"./dist/testing/MailFake.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsup --config tsup.config.ts","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/8416b46a7de5f2f2a991c522fd52fd26/atlex-mail-0.1.4.tgz","_integrity":"sha512-c/iEUyLmIaK8DVe2YZTFNgZigKie0S99y6hMRUYgNGFIz9eHqfcsBgWYYQSut1dYzvT0e2l/yzB+mI8FBRAwEA==","repository":{"url":"git+https://github.com/atlex-framework/mail.git","type":"git","directory":"packages/mail"},"_npmVersion":"10.9.7","description":"Mailables and mail transports for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"marked":"^16.1.1","nodemailer":"^6.9.0","@atlex/core":"0.1.4","@atlex/queue":"0.1.4","@aws-sdk/client-ses":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.0.0","@types/nodemailer":"^6.4.0"},"peerDependencies":{"@atlex/core":"0.1.4","@atlex/queue":"0.1.4"},"_npmOperationalInternal":{"tmp":"tmp/mail_0.1.4_1776259459024_0.35213834092523233","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@atlex/mail","version":"0.1.5","keywords":["atlex","mail","email","mailer","email-sender","smtp","mailgun","ses","amazon-ses","email-templates","email-builder","fluent-mail","transactional-email","html-email","nodemailer-alternative","nodemailer","laravel-mail","laravel-mailables","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/mail@0.1.5","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/mail/issues"},"dist":{"shasum":"b8007947eed0707ff790bef748576f015b39d905","tarball":"https://registry.npmjs.org/@atlex/mail/-/mail-0.1.5.tgz","fileCount":99,"integrity":"sha512-ccTJTUSKQ6KZX+48MyZ9Zh1dJxkepvYPp+XWDNcvLELCmG+hTVdEv19AgMOrdlspG4eBVPpr++E6I9NXTXEdAg==","signatures":[{"sig":"MEUCIQCxEv1UF6VuJqjccEIYMGGWiyK4CCrH5NAKIduVLtedjAIgIPLj9ilRx1QbBWux1N+8VV1RIrGb9RE3ps94H/PsYUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":542931},"main":"./dist/index.js","type":"module","_from":"file:atlex-mail-0.1.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./testing":{"types":"./dist/testing/MailFake.d.ts","import":"./dist/testing/MailFake.js","default":"./dist/testing/MailFake.js","require":"./dist/testing/MailFake.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsup --config tsup.config.ts","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/9a939dd4f36afd0b7d9cb6738ae002f4/atlex-mail-0.1.5.tgz","_integrity":"sha512-ccTJTUSKQ6KZX+48MyZ9Zh1dJxkepvYPp+XWDNcvLELCmG+hTVdEv19AgMOrdlspG4eBVPpr++E6I9NXTXEdAg==","repository":{"url":"git+https://github.com/atlex-framework/mail.git","type":"git","directory":"packages/mail"},"_npmVersion":"10.9.7","description":"Mailables and mail transports for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"marked":"^16.1.1","nodemailer":"^6.9.0","@atlex/core":"0.1.5","@atlex/queue":"0.1.5","@aws-sdk/client-ses":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.0.0","@types/nodemailer":"^6.4.0"},"peerDependencies":{"@atlex/core":"0.1.5","@atlex/queue":"0.1.5"},"_npmOperationalInternal":{"tmp":"tmp/mail_0.1.5_1776260734882_0.8752807623623486","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@atlex/mail","version":"0.1.6","keywords":["atlex","mail","email","mailer","email-sender","smtp","mailgun","ses","amazon-ses","email-templates","email-builder","fluent-mail","transactional-email","html-email","nodemailer-alternative","nodemailer","laravel-mail","laravel-mailables","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/mail@0.1.6","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/mail/issues"},"dist":{"shasum":"85b8011d1bdbdbb58fa45bc379c6f35af00f21b5","tarball":"https://registry.npmjs.org/@atlex/mail/-/mail-0.1.6.tgz","fileCount":99,"integrity":"sha512-KTv97XReJczT0h6gnozQV5G/NHwm4rRSaC+q6TRaogLg4JR5lw92TWw3IUW8Y+4QHpcVcREcH6F2IQR7npyFqg==","signatures":[{"sig":"MEYCIQDHLWJ0RNt2w38ixOLwRz52BXxNvsodCfGWdQvn0IZkygIhAJgGPh3+rHZYm7kIG53sigTLQVb2oiiepy5VOLb0GgK5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":543087},"main":"./dist/index.js","type":"module","_from":"file:atlex-mail-0.1.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./testing":{"types":"./dist/testing/MailFake.d.ts","import":"./dist/testing/MailFake.js","default":"./dist/testing/MailFake.js","require":"./dist/testing/MailFake.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsup --config tsup.config.ts","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/1d578f6e526d8d268e5613a2def516e4/atlex-mail-0.1.6.tgz","_integrity":"sha512-KTv97XReJczT0h6gnozQV5G/NHwm4rRSaC+q6TRaogLg4JR5lw92TWw3IUW8Y+4QHpcVcREcH6F2IQR7npyFqg==","repository":{"url":"git+https://github.com/atlex-framework/mail.git","type":"git","directory":"packages/mail"},"_npmVersion":"10.9.7","description":"Mailables and mail transports for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"marked":"^16.1.1","nodemailer":"^6.9.0","@atlex/core":"0.1.6","@atlex/queue":"0.1.6","@aws-sdk/client-ses":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.0.0","@types/nodemailer":"^6.4.0"},"peerDependencies":{"@atlex/core":"0.1.6","@atlex/queue":"0.1.6"},"_npmOperationalInternal":{"tmp":"tmp/mail_0.1.6_1778694368759_0.5404280356548339","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@atlex/mail","version":"0.1.7","keywords":["atlex","mail","email","mailer","email-sender","smtp","mailgun","ses","amazon-ses","email-templates","email-builder","fluent-mail","transactional-email","html-email","nodemailer-alternative","nodemailer","laravel-mail","laravel-mailables","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/mail@0.1.7","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/mail/issues"},"dist":{"shasum":"da940102a540123123137251c3b2d685242457ca","tarball":"https://registry.npmjs.org/@atlex/mail/-/mail-0.1.7.tgz","fileCount":99,"integrity":"sha512-gZRNOwY77EcCFDYAyA5ot+RgwFq1P1HaNlT5Sj7/1msDXtyA5WGFcHAu9Hcbbmgq3ct8twFtVZTLTVJ9jXRA7Q==","signatures":[{"sig":"MEYCIQDjCevPKGWTb8ozXEjgV3+TMQev4l0NFCxAmxOx2oLaDAIhAJyNBA2lq7q2bDdXaXlTTv9+ti+goYKG8Oty6mGvBrx7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":543516},"main":"./dist/index.js","type":"module","_from":"file:atlex-mail-0.1.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./testing":{"types":"./dist/testing/MailFake.d.ts","import":"./dist/testing/MailFake.js","default":"./dist/testing/MailFake.js","require":"./dist/testing/MailFake.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsup --config tsup.config.ts","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/d17e10bce1a881dd4ff0be12820acc85/atlex-mail-0.1.7.tgz","_integrity":"sha512-gZRNOwY77EcCFDYAyA5ot+RgwFq1P1HaNlT5Sj7/1msDXtyA5WGFcHAu9Hcbbmgq3ct8twFtVZTLTVJ9jXRA7Q==","repository":{"url":"git+https://github.com/atlex-framework/mail.git","type":"git","directory":"packages/mail"},"_npmVersion":"10.9.7","description":"Mailables and mail transports for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"marked":"^16.1.1","nodemailer":"^6.9.0","@atlex/core":"0.1.7","@atlex/queue":"0.1.7","@aws-sdk/client-ses":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.0.0","@types/nodemailer":"^6.4.0"},"peerDependencies":{"@atlex/core":"0.1.7","@atlex/queue":"0.1.7"},"_npmOperationalInternal":{"tmp":"tmp/mail_0.1.7_1778755095399_0.16444358658137337","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@atlex/mail","version":"0.1.8","keywords":["atlex","mail","email","mailer","email-sender","smtp","mailgun","ses","amazon-ses","email-templates","email-builder","fluent-mail","transactional-email","html-email","nodemailer-alternative","nodemailer","laravel-mail","laravel-mailables","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/mail@0.1.8","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/mail/issues"},"dist":{"shasum":"0d4b293c5644e159f08f02fbec79c898dea9cc15","tarball":"https://registry.npmjs.org/@atlex/mail/-/mail-0.1.8.tgz","fileCount":99,"integrity":"sha512-+Z+ZNDDtCoRveFeQTEiBn5O/1biY13pempbulhAhcuP8qk6yRS47ukbbFEHon4DLSBaatarPRdAWmdCH8c/3lQ==","signatures":[{"sig":"MEUCIAdDUHxI3yBWE2+YTmnCwBSMKYf8oAyaUzweqDWxSEcbAiEA4YHxgOuxQqO4oHeAs1nOttShay7RHK0et1+GfseTLTY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":543646},"main":"./dist/index.js","type":"module","_from":"file:atlex-mail-0.1.8.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./testing":{"types":"./dist/testing/MailFake.d.ts","import":"./dist/testing/MailFake.js","default":"./dist/testing/MailFake.js","require":"./dist/testing/MailFake.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsup --config tsup.config.ts","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/455c7f16c163abc9e3bfb9f151930fe0/atlex-mail-0.1.8.tgz","_integrity":"sha512-+Z+ZNDDtCoRveFeQTEiBn5O/1biY13pempbulhAhcuP8qk6yRS47ukbbFEHon4DLSBaatarPRdAWmdCH8c/3lQ==","repository":{"url":"git+https://github.com/atlex-framework/mail.git","type":"git","directory":"packages/mail"},"_npmVersion":"10.9.7","description":"Mailables and mail transports for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"marked":"^16.1.1","nodemailer":"^6.9.0","@atlex/core":"0.1.8","@atlex/queue":"0.1.8","@aws-sdk/client-ses":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.0.0","@types/nodemailer":"^6.4.0"},"peerDependencies":{"@atlex/core":"0.1.8","@atlex/queue":"0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/mail_0.1.8_1778775535162_0.970450551484586","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@atlex/mail","version":"0.1.9","keywords":["atlex","mail","email","mailer","email-sender","smtp","mailgun","ses","amazon-ses","email-templates","email-builder","fluent-mail","transactional-email","html-email","nodemailer-alternative","nodemailer","laravel-mail","laravel-mailables","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/mail@0.1.9","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/mail/issues"},"dist":{"shasum":"91e106215231981033b9348a77ce3864fdab6989","tarball":"https://registry.npmjs.org/@atlex/mail/-/mail-0.1.9.tgz","fileCount":99,"integrity":"sha512-wRj+45jOKxrDunTui4PBfzW3kY2dqPPa35KFOdaR8C+7st5pSJp/mQC7Z8rWcO/m4STHIHsaOxcE9A+u7gk9aQ==","signatures":[{"sig":"MEQCIH4eKHvp9J5tONfzr+WopIvKcQnbuDaGAReHW7MCxBZEAiBCFO0s4iRZiwS4JqwN15UuTwgSKfwRWp5g6BX0+qQ9EA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":543788},"main":"./dist/index.js","type":"module","_from":"file:atlex-mail-0.1.9.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./testing":{"types":"./dist/testing/MailFake.d.ts","import":"./dist/testing/MailFake.js","default":"./dist/testing/MailFake.js","require":"./dist/testing/MailFake.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsup --config tsup.config.ts","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/6aae4deac8719e1223c21b608dec5445/atlex-mail-0.1.9.tgz","_integrity":"sha512-wRj+45jOKxrDunTui4PBfzW3kY2dqPPa35KFOdaR8C+7st5pSJp/mQC7Z8rWcO/m4STHIHsaOxcE9A+u7gk9aQ==","repository":{"url":"git+https://github.com/atlex-framework/mail.git","type":"git","directory":"packages/mail"},"_npmVersion":"10.9.7","description":"Mailables and mail transports for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"marked":"^16.1.1","nodemailer":"^6.9.0","@atlex/core":"0.1.9","@atlex/queue":"0.1.9","@aws-sdk/client-ses":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.0.0","@types/nodemailer":"^6.4.0"},"peerDependencies":{"@atlex/core":"0.1.9","@atlex/queue":"0.1.9"},"_npmOperationalInternal":{"tmp":"tmp/mail_0.1.9_1778830261593_0.48852222617655583","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@atlex/mail","version":"0.1.10","keywords":["atlex","mail","email","mailer","email-sender","smtp","mailgun","ses","amazon-ses","email-templates","email-builder","fluent-mail","transactional-email","html-email","nodemailer-alternative","nodemailer","laravel-mail","laravel-mailables","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/mail@0.1.10","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/mail/issues"},"dist":{"shasum":"331d428e387abbb61a858dbde1abacb5449a99bc","tarball":"https://registry.npmjs.org/@atlex/mail/-/mail-0.1.10.tgz","fileCount":99,"integrity":"sha512-2ju22bueGQjmCFb/CuVklvzJjzKGJTkn1fhqwieywOi8cO3QlPb7cMF40O76afrCWRa6GE2Ml9AUDHnsL5r50w==","signatures":[{"sig":"MEYCIQDl1xNmN3sAyAJ8xwTWut65AvD0L4om1wddPJXAM1eLhAIhAJxpnostk3RYUIQVfVkRcMkdnVQpdTVnNCyDtlxHaOQ1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":543925},"main":"./dist/index.js","type":"module","_from":"file:atlex-mail-0.1.10.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./testing":{"types":"./dist/testing/MailFake.d.ts","import":"./dist/testing/MailFake.js","default":"./dist/testing/MailFake.js","require":"./dist/testing/MailFake.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsup --config tsup.config.ts","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/f0111d90c71dce072dd04e6ce3110a53/atlex-mail-0.1.10.tgz","_integrity":"sha512-2ju22bueGQjmCFb/CuVklvzJjzKGJTkn1fhqwieywOi8cO3QlPb7cMF40O76afrCWRa6GE2Ml9AUDHnsL5r50w==","repository":{"url":"git+https://github.com/atlex-framework/mail.git","type":"git","directory":"packages/mail"},"_npmVersion":"10.9.7","description":"Mailables and mail transports for Atlex","directories":{},"_nodeVersion":"22.22.2","dependencies":{"marked":"^16.1.1","nodemailer":"^6.9.0","@atlex/core":"0.1.10","@atlex/queue":"0.1.10","@aws-sdk/client-ses":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.0.0","@types/nodemailer":"^6.4.0"},"peerDependencies":{"@atlex/core":"0.1.10","@atlex/queue":"0.1.10"},"_npmOperationalInternal":{"tmp":"tmp/mail_0.1.10_1778834115967_0.33415788809888824","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@atlex/mail","version":"0.1.11","keywords":["atlex","mail","email","mailer","email-sender","smtp","mailgun","ses","amazon-ses","email-templates","email-builder","fluent-mail","transactional-email","html-email","nodemailer-alternative","nodemailer","laravel-mail","laravel-mailables","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/mail@0.1.11","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/mail/issues"},"dist":{"shasum":"a9e69f967213fe80c8969b256bee46def8c9178a","tarball":"https://registry.npmjs.org/@atlex/mail/-/mail-0.1.11.tgz","fileCount":99,"integrity":"sha512-+Vy0AzJ10z7R1m8pp86Rt734OdbhWlJUUdyFtZEr9lKD/ZMEZxkRvmdwjhyiWmQ+BRn/0i1mWxbbNqe61NLLAw==","signatures":[{"sig":"MEQCIHvnmBXZYY5XhhqbWd5w6XaW91UgjkokvhnXN+Utj73yAiAvycC5I380Fs6ni0rsmsHEEvsOP/xaqVEnOOV/VEtohA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":544055},"main":"./dist/index.js","type":"module","_from":"file:atlex-mail-0.1.11.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./testing":{"types":"./dist/testing/MailFake.d.ts","import":"./dist/testing/MailFake.js","default":"./dist/testing/MailFake.js","require":"./dist/testing/MailFake.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsup --config tsup.config.ts","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/d41fd1eae750a3f03740401d974bec35/atlex-mail-0.1.11.tgz","_integrity":"sha512-+Vy0AzJ10z7R1m8pp86Rt734OdbhWlJUUdyFtZEr9lKD/ZMEZxkRvmdwjhyiWmQ+BRn/0i1mWxbbNqe61NLLAw==","repository":{"url":"git+https://github.com/atlex-framework/mail.git","type":"git","directory":"packages/mail"},"_npmVersion":"10.9.8","description":"Mailables and mail transports for Atlex","directories":{},"_nodeVersion":"22.22.3","dependencies":{"marked":"^16.1.1","nodemailer":"^6.9.0","@atlex/core":"0.1.11","@atlex/queue":"0.1.11","@aws-sdk/client-ses":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.0.0","@types/nodemailer":"^6.4.0"},"peerDependencies":{"@atlex/core":"0.1.11","@atlex/queue":"0.1.11"},"_npmOperationalInternal":{"tmp":"tmp/mail_0.1.11_1780144970112_0.6386562973878376","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@atlex/mail","version":"0.2.0","keywords":["atlex","mail","email","mailer","email-sender","smtp","mailgun","ses","amazon-ses","email-templates","email-builder","fluent-mail","transactional-email","html-email","nodemailer-alternative","nodemailer","laravel-mail","laravel-mailables","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/mail@0.2.0","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/mail/issues"},"dist":{"shasum":"144860145654562a269c98c84133d94b56868fc1","tarball":"https://registry.npmjs.org/@atlex/mail/-/mail-0.2.0.tgz","fileCount":99,"integrity":"sha512-2L59aygLJPPvhWx2jD58Aht3uWHRWyNzAIW3PnnQ5ssSe/e+pUWOO+1XpXHzxZADAjIXyBSvCwEAvK0+5XQkXA==","signatures":[{"sig":"MEQCIHun4jz4HMlgFI2EIy1MepAyOV1KDtMSpHf3z+bMWNs2AiAxE42o3yc8VYXPKc/+phElAV0H9K5ETgkPVeixXYh9wQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":545271},"main":"./dist/index.js","type":"module","_from":"file:atlex-mail-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./testing":{"types":"./dist/testing/MailFake.d.ts","import":"./dist/testing/MailFake.js","default":"./dist/testing/MailFake.js","require":"./dist/testing/MailFake.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsup --config tsup.config.ts","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/4f4220e1985c43010c8d7aac8e1d70b8/atlex-mail-0.2.0.tgz","_integrity":"sha512-2L59aygLJPPvhWx2jD58Aht3uWHRWyNzAIW3PnnQ5ssSe/e+pUWOO+1XpXHzxZADAjIXyBSvCwEAvK0+5XQkXA==","repository":{"url":"git+https://github.com/atlex-framework/mail.git","type":"git","directory":"packages/mail"},"_npmVersion":"10.9.8","description":"Mailables and mail transports for Atlex","directories":{},"_nodeVersion":"22.22.3","dependencies":{"marked":"^16.1.1","nodemailer":"^8.0.7","@atlex/core":"0.2.0","@atlex/queue":"0.2.0","@aws-sdk/client-ses":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.0.0","@types/nodemailer":"^8.0.0"},"peerDependencies":{"@atlex/core":">=0.2.0","@atlex/queue":">=0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mail_0.2.0_1780306558224_0.12085432343998259","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@atlex/mail","version":"0.2.1","keywords":["atlex","mail","email","mailer","email-sender","smtp","mailgun","ses","amazon-ses","email-templates","email-builder","fluent-mail","transactional-email","html-email","nodemailer-alternative","nodemailer","laravel-mail","laravel-mailables","laravel-alternative","nodejs","javascript","typescript"],"author":{"url":"https://github.com/khamazaspyan","name":"Karen Hamazaspyan"},"license":"MIT","_id":"@atlex/mail@0.2.1","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/mail/issues"},"dist":{"shasum":"8ead1111863735f36b503449048029a9c6af8057","tarball":"https://registry.npmjs.org/@atlex/mail/-/mail-0.2.1.tgz","fileCount":99,"integrity":"sha512-G3Z33xcibTS+1OW67p/yBj39AYzXxhNyTFhwOp1FgFyVGtjnyZwgVmdb1DtHq4SD6dVxxTPaVXQOXrkFSAZ+bg==","signatures":[{"sig":"MEYCIQCfU7EojPD19F+6f6cBfv0BwjYGTsfZI9BPv0RcHIM9lwIhAJ7IFEw9jfgF7VUU0a2fjCPRI0sFo3MaoZEEkFrxyiwu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":545413},"main":"./dist/index.js","type":"module","_from":"file:atlex-mail-0.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./testing":{"types":"./dist/testing/MailFake.d.ts","import":"./dist/testing/MailFake.js","default":"./dist/testing/MailFake.js","require":"./dist/testing/MailFake.js"}},"scripts":{"lint":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts","build":"tsup --config tsup.config.ts","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"_resolved":"/tmp/aeb2987a56e9d58cde57f67cc026acd0/atlex-mail-0.2.1.tgz","_integrity":"sha512-G3Z33xcibTS+1OW67p/yBj39AYzXxhNyTFhwOp1FgFyVGtjnyZwgVmdb1DtHq4SD6dVxxTPaVXQOXrkFSAZ+bg==","repository":{"url":"git+https://github.com/atlex-framework/mail.git","type":"git","directory":"packages/mail"},"_npmVersion":"10.9.8","description":"Mailables and mail transports for Atlex","directories":{},"_nodeVersion":"22.22.3","dependencies":{"marked":"^16.1.1","nodemailer":"^8.0.7","@atlex/core":"0.2.1","@atlex/queue":"0.2.1","@aws-sdk/client-ses":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.0.0","@types/nodemailer":"^8.0.0"},"peerDependencies":{"@atlex/core":">=0.2.1","@atlex/queue":">=0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/mail_0.2.1_1780423677898_0.6238546346258269","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@atlex/mail","version":"0.2.2","description":"Mailables and mail transports for Atlex","type":"module","license":"MIT","author":{"name":"Karen Hamazaspyan","url":"https://github.com/khamazaspyan"},"keywords":["atlex","mail","email","mailer","email-sender","smtp","mailgun","ses","amazon-ses","email-templates","email-builder","fluent-mail","transactional-email","html-email","nodemailer-alternative","nodemailer","laravel-mail","laravel-mailables","laravel-alternative","nodejs","javascript","typescript"],"engines":{"node":">=20"},"repository":{"type":"git","url":"git+https://github.com/atlex-framework/mail.git","directory":"packages/mail"},"homepage":"https://atlex.dev","bugs":{"url":"https://github.com/atlex-framework/mail/issues"},"publishConfig":{"access":"public"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/MailFake.d.ts","import":"./dist/testing/MailFake.js","require":"./dist/testing/MailFake.js","default":"./dist/testing/MailFake.js"}},"peerDependencies":{"@atlex/core":">=0.2.2","@atlex/queue":">=0.2.2"},"dependencies":{"@aws-sdk/client-ses":"^3.0.0","marked":"^16.1.1","nodemailer":"^8.0.7","@atlex/core":"0.2.2","@atlex/queue":"0.2.2"},"devDependencies":{"@types/nodemailer":"^8.0.0","tsup":"^8.5.0","typescript":"^5.0.0","vitest":"^3.2.4"},"scripts":{"build":"tsup --config tsup.config.ts","lint":"tsc --noEmit -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json","test":"vitest run -c vitest.config.ts"},"_id":"@atlex/mail@0.2.2","_integrity":"sha512-MrgT31Xmjo/RbP8KT/w8YIcL6KX4EC8EYeaqBabYbn5XAwfsZ1S0Gb/euKwrYFRBVk2vbv8beNAmzFy3YmkixQ==","_resolved":"/tmp/db9d2a9bb2001d40bff022e12018927e/atlex-mail-0.2.2.tgz","_from":"file:atlex-mail-0.2.2.tgz","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-MrgT31Xmjo/RbP8KT/w8YIcL6KX4EC8EYeaqBabYbn5XAwfsZ1S0Gb/euKwrYFRBVk2vbv8beNAmzFy3YmkixQ==","shasum":"64475ab29332f4e16d2fcf086c05c3d30c7d02b5","tarball":"https://registry.npmjs.org/@atlex/mail/-/mail-0.2.2.tgz","fileCount":99,"unpackedSize":545551,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDzU0+GNwZm4sw13/tDeBo7jva/iy+h3vvY2jOOLHXE2AIhAOP5ICEQ5h4zGiM2Zu1XbnwTP1VFlpLcSy0Nk2bqJ9xU"}]},"_npmUser":{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"},"directories":{},"maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mail_0.2.2_1784391606208_0.8856879910737323"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-14T19:21:28.973Z","modified":"2026-07-18T16:20:06.503Z","0.1.0-beta":"2026-04-11T21:23:25.999Z","0.1.1":"2026-04-14T19:21:29.371Z","0.1.2":"2026-04-15T06:43:22.262Z","0.1.3":"2026-04-15T12:28:13.348Z","0.1.4":"2026-04-15T13:24:19.166Z","0.1.5":"2026-04-15T13:45:35.014Z","0.1.6":"2026-05-13T17:46:08.909Z","0.1.7":"2026-05-14T10:38:15.580Z","0.1.8":"2026-05-14T16:18:55.356Z","0.1.9":"2026-05-15T07:31:01.764Z","0.1.10":"2026-05-15T08:35:16.122Z","0.1.11":"2026-05-30T12:42:50.299Z","0.2.0":"2026-06-01T09:35:58.352Z","0.2.1":"2026-06-02T18:07:58.127Z","0.2.2":"2026-07-18T16:20:06.355Z"},"bugs":{"url":"https://github.com/atlex-framework/mail/issues"},"author":{"name":"Karen Hamazaspyan","url":"https://github.com/khamazaspyan"},"license":"MIT","homepage":"https://atlex.dev","keywords":["atlex","mail","email","mailer","email-sender","smtp","mailgun","ses","amazon-ses","email-templates","email-builder","fluent-mail","transactional-email","html-email","nodemailer-alternative","nodemailer","laravel-mail","laravel-mailables","laravel-alternative","nodejs","javascript","typescript"],"repository":{"type":"git","url":"git+https://github.com/atlex-framework/mail.git","directory":"packages/mail"},"description":"Mailables and mail transports for Atlex","maintainers":[{"name":"khamazaspyan","email":"khamazaspyan@gmail.com"}],"readme":"# Mail\n\n> Send beautiful emails with a simple, fluent API. Support for multiple drivers including SMTP, Mailgun, Amazon SES, and more.\n\n[![npm version](https://img.shields.io/npm/v/@atlex/mail?style=flat-square&color=7c3aed)](https://www.npmjs.com/package/@atlex/mail)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-3178C6?style=flat-square)](https://www.typescriptlang.org/)\n[![License](https://img.shields.io/npm/l/@atlex/mail?style=flat-square)](./LICENSE)\n\n[![Buy Me A Coffee](https://img.shields.io/badge/Buy%20Me%20A%20Coffee-Support-yellow?style=flat-square&logo=buy-me-a-coffee)](https://buymeacoffee.com/khamazaspyan)\n\n## Installation\n\nInstall the package via npm, yarn, or pnpm:\n\n```bash\nnpm install @atlex/mail\n```\n\n```bash\nyarn add @atlex/mail\n```\n\n```bash\npnpm add @atlex/mail\n```\n\n## Quick Start\n\n### Configuration\n\nFirst, configure your mail driver in your application's config file:\n\n```typescript\n// config/mail.ts\nexport const mailConfig = {\n  default: 'smtp',\n  from: {\n    name: 'Acme',\n    address: 'hello@acme.com',\n  },\n  viewsPath: './resources/views/emails',\n  mailers: {\n    smtp: {\n      host: 'smtp.mailtrap.io',\n      port: 2525,\n      auth: {\n        user: process.env.MAIL_USERNAME,\n        pass: process.env.MAIL_PASSWORD,\n      },\n    },\n    mailgun: {\n      secret: process.env.MAILGUN_SECRET,\n      domain: process.env.MAILGUN_DOMAIN,\n    },\n    ses: {\n      key: process.env.AWS_ACCESS_KEY_ID,\n      secret: process.env.AWS_SECRET_ACCESS_KEY,\n      region: process.env.AWS_DEFAULT_REGION,\n    },\n  },\n}\n```\n\n### Sending a Simple Email\n\n```typescript\nimport { Mail } from '@atlex/mail'\n\n// Send a simple email\nawait Mail.to('user@example.com')\n  .subject('Welcome')\n  .html('<h1>Welcome to our platform!</h1>')\n  .send()\n```\n\n### Using Mailable Classes\n\nCreate reusable email classes to encapsulate email logic:\n\n```typescript\nimport { Mailable } from '@atlex/mail'\n\nexport class WelcomeMail extends Mailable {\n  constructor(private user: User) {\n    super()\n  }\n\n  build() {\n    return this.subject('Welcome to Our Platform')\n      .view('emails/welcome', { user: this.user })\n      .from('noreply@acme.com')\n  }\n}\n\n// Send the email\nawait Mail.send(new WelcomeMail(user))\n```\n\n## Features\n\n- **Multiple Drivers**: SMTP, Mailgun, Amazon SES, Log (for testing), Array (in-memory)\n- **Fluent API**: Simple and intuitive email building interface\n- **Mailable Classes**: Reusable, testable, and object-oriented email objects\n- **Queue Support**: Asynchronous email delivery with job queue integration\n- **File Attachments**: Easily attach files from disk or memory\n- **HTML & Text**: Support for both HTML and plain text email content\n- **View Rendering**: Compose emails using template files\n- **Global Settings**: Set default from, reply-to, BCC, and CC addresses\n- **Localization**: Send emails in different languages\n- **Template Renderer**: Built-in template rendering engine with data passing\n\n## Core Concepts\n\n### MailManager\n\nThe `MailManager` is the main entry point for sending emails. It manages driver registration, configuration, and email dispatch.\n\n```typescript\nimport { MailManager } from '@atlex/mail'\n\n// Get the default mailer instance\nconst mailer = MailManager.mailer()\n\n// Switch to a different driver\nconst mailgunMailer = MailManager.driver('mailgun')\n\n// Configure global defaults\nMailManager.alwaysFrom({\n  address: 'noreply@acme.com',\n  name: 'Acme Support',\n})\n\nMailManager.alwaysReplyTo('support@acme.com')\nMailManager.alwaysBcc('admin@acme.com')\nMailManager.alwaysTo('cc@acme.com')\n\n// Set locale for all emails\nMailManager.locale('fr')\n\n// Extend with custom drivers\nMailManager.extend('custom', new CustomMailDriver())\n```\n\n### Mailable Classes\n\nCreate reusable, testable email objects by extending the `Mailable` class:\n\n```typescript\nimport { Mailable } from '@atlex/mail'\n\nexport class OrderConfirmationMail extends Mailable {\n  // Control queue behavior at the class level\n  static queue = true\n  static delay = 0 // seconds\n  static connection = 'default'\n\n  constructor(\n    private order: Order,\n    private customer: Customer,\n  ) {\n    super()\n  }\n\n  build() {\n    return this.subject(`Order #${this.order.id} Confirmed`)\n      .view('emails/order-confirmation', {\n        order: this.order,\n        customer: this.customer,\n        confirmUrl: this.getConfirmationUrl(),\n      })\n      .to(this.customer.email)\n      .replyTo('support@acme.com')\n      .attach(`invoices/${this.order.id}.pdf`)\n      .with({\n        orderNumber: this.order.id,\n        total: this.order.total,\n      })\n  }\n\n  private getConfirmationUrl(): string {\n    return `https://app.example.com/orders/${this.order.id}/confirm`\n  }\n}\n\n// Send the mailable\nawait Mail.send(new OrderConfirmationMail(order, customer))\n\n// Queue multiple emails\nawait Mail.send([\n  new OrderConfirmationMail(order1, customer1),\n  new OrderConfirmationMail(order2, customer2),\n])\n```\n\n### Building Emails\n\nThe `MailMessage` class provides a fluent API for constructing emails:\n\n```typescript\nimport { Mail } from '@atlex/mail'\n\nconst email = await Mail.to('user@example.com')\n  .cc('manager@acme.com')\n  .bcc('archive@acme.com')\n  .subject('Important Update')\n  .from('noreply@acme.com')\n  .replyTo('support@acme.com')\n  .html('<h1>Hello!</h1><p>This is a test.</p>')\n  .text('Hello! This is a test.')\n  .attach('path/to/file.pdf')\n  .attachData(Buffer.from('data'), {\n    filename: 'document.pdf',\n    contentType: 'application/pdf',\n  })\n  .send()\n```\n\n### Using Views and Templates\n\nRender HTML and text from template files:\n\n```typescript\nexport class NotificationMail extends Mailable {\n  constructor(private notification: Notification) {\n    super()\n  }\n\n  build() {\n    return this.subject('You have a new notification').view('emails/notification', {\n      title: this.notification.title,\n      message: this.notification.message,\n      actionUrl: this.notification.actionUrl,\n    })\n  }\n}\n\n// Template file: resources/views/emails/notification.ejs\n// <h1><%= title %></h1>\n// <p><%= message %></p>\n// <a href=\"<%= actionUrl %>\">View Details</a>\n```\n\n### HTML and Plain Text Emails\n\nSend both plain text and HTML versions to ensure compatibility:\n\n```typescript\nimport { Mailable } from '@atlex/mail'\n\nexport class MultiFormatMail extends Mailable {\n  build() {\n    return this.subject('Welcome')\n      .html('<h1>Welcome to Acme!</h1><p>We are excited to have you.</p>')\n      .text('Welcome to Acme!\\nWe are excited to have you.')\n  }\n}\n\n// Or render both from templates\nexport class ReceiptMail extends Mailable {\n  constructor(private receipt: Receipt) {\n    super()\n  }\n\n  build() {\n    const data = { receipt: this.receipt }\n    return this.subject('Your Receipt')\n      .view('emails/receipt', data)\n      .text('emails/receipt-text', data)\n  }\n}\n```\n\n### File Attachments\n\nAttach files from disk or include data as attachments:\n\n```typescript\n// Attach a file from disk\nawait Mail.to('user@example.com')\n  .subject('Invoice')\n  .html('<p>Please see your invoice attached.</p>')\n  .attach('invoices/2024-001.pdf')\n  .send()\n\n// Attach from memory with custom metadata\nawait Mail.to('user@example.com')\n  .subject('Report')\n  .html('<p>Monthly report attached.</p>')\n  .attachData(reportBuffer, {\n    filename: 'report.xlsx',\n    contentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n  })\n  .send()\n\n// Multiple attachments\nawait Mail.to('user@example.com')\n  .subject('Documents')\n  .html('<p>Documents enclosed.</p>')\n  .attach('contract.pdf')\n  .attach('addendum.pdf')\n  .attachData(signatureData, { filename: 'signature.png' })\n  .send()\n```\n\n### Raw Email\n\nSend raw RFC 822 formatted email for advanced use cases:\n\n```typescript\nconst rawEmail = `From: sender@example.com\nTo: recipient@example.com\nSubject: Test Email\nContent-Type: text/plain; charset=utf-8\n\nThis is a raw email message.`\n\nawait Mail.raw(rawEmail, 'recipient@example.com')\n```\n\n### Localization\n\nSend emails in different languages using the localization system:\n\n```typescript\nexport class LocalizedMail extends Mailable {\n  constructor(private locale: string) {\n    super()\n  }\n\n  build() {\n    return this.locale(this.locale)\n      .subject('email.welcome.subject')\n      .view('emails/welcome')\n      .to('user@example.com')\n  }\n}\n\n// Send in Spanish\nawait Mail.send(new LocalizedMail('es'))\n\n// Send in French\nawait Mail.send(new LocalizedMail('fr'))\n```\n\n## Available Drivers\n\n### SMTP Driver\n\nSend emails via SMTP protocol:\n\n```typescript\n{\n  smtp: {\n    host: 'smtp.gmail.com',\n    port: 587,\n    secure: false,\n    auth: {\n      user: 'your-email@gmail.com',\n      pass: 'your-app-password',\n    },\n  }\n}\n```\n\n### Mailgun Driver\n\nSend via Mailgun's email API:\n\n```typescript\n{\n  mailgun: {\n    secret: 'key-xxxxxxxxx',\n    domain: 'mg.example.com',\n  }\n}\n```\n\n### Amazon SES Driver\n\nSend via AWS Simple Email Service:\n\n```typescript\n{\n  ses: {\n    key: 'AKIA...',\n    secret: 'wJ+...',\n    region: 'us-east-1',\n  }\n}\n```\n\n### Log Driver\n\nLog emails instead of sending (useful for development and testing):\n\n```typescript\n{\n  log: {\n    channel: 'single',\n  }\n}\n```\n\n### Array Driver\n\nStore emails in memory for testing purposes:\n\n```typescript\n{\n  array: {\n  }\n}\n\n// Retrieve sent emails in tests\nconst driver = MailManager.driver('array')\nconst messages = driver.getMessages()\n```\n\n## API Reference\n\n### MailManager\n\n```typescript\n// Get the default mailer or a specific one\nstatic mailer(name?: string): Mailer\n\n// Get a driver instance\nstatic driver(name: string): Mailer\n\n// Register a custom driver\nstatic extend(name: string, driver: MailDriver): void\n\n// Set global from address\nstatic alwaysFrom(from: Address | { name: string; address: string }): void\n\n// Set global reply-to address\nstatic alwaysReplyTo(address: string | Address): void\n\n// Add global BCC recipient\nstatic alwaysBcc(address: string | Address): void\n\n// Add global CC recipient\nstatic alwaysTo(address: string | Address): void\n\n// Set locale for all emails\nstatic locale(locale: string): void\n\n// Send a mailable or array of mailables\nstatic send(mailable: Mailable | Mailable[]): Promise<void>\n\n// Send raw RFC 822 email\nstatic raw(message: string, to: string): Promise<void>\n```\n\n### Mailable\n\n```typescript\n// Build and return the email message\nbuild(): MailMessage\n\n// Add recipient\nto(address: string | Address | Address[]): this\n\n// Set sender\nfrom(address: string | Address): this\n\n// Set reply-to address\nreplyTo(address: string | Address): this\n\n// Add CC recipient\ncc(address: string | Address | Address[]): this\n\n// Add BCC recipient\nbcc(address: string | Address | Address[]): this\n\n// Set email subject\nsubject(subject: string): this\n\n// Set HTML content\nhtml(content: string): this\n\n// Set plain text content\ntext(content: string): this\n\n// Set view template\nview(template: string, data?: Record<string, any>): this\n\n// Attach file from disk\nattach(path: string, options?: AttachmentOptions): this\n\n// Attach data as file\nattachData(data: Buffer | string, options: AttachmentOptions): this\n\n// Pass additional data to view\nwith(data: Record<string, any>): this\n\n// Static properties for queue configuration\nstatic queue: boolean\nstatic delay: number\nstatic connection: string\n```\n\n### MailMessage\n\nThe built message object:\n\n```typescript\ninterface MailMessage {\n  envelope: {\n    from: Address\n    to: Address[]\n    cc: Address[]\n    bcc: Address[]\n    replyTo: Address[]\n  }\n  content: {\n    subject: string\n    html: string\n    text: string\n  }\n  attachments: Attachment[]\n}\n```\n\n### Attachment\n\n```typescript\ninterface Attachment {\n  path?: string // File path\n  data?: Buffer | string // Raw data\n  filename: string // Display filename\n  contentType: string // MIME type\n}\n```\n\n## Testing\n\n### Using the Array Driver\n\nUse the array driver in tests to capture sent emails:\n\n```typescript\nimport { Mail } from '@atlex/mail'\nimport { test, expect } from 'vitest'\n\ntest('sends welcome email', async () => {\n  MailManager.driver('array').reset()\n\n  await Mail.send(new WelcomeMail(user))\n\n  const messages = MailManager.driver('array').getMessages()\n  expect(messages).toHaveLength(1)\n  expect(messages[0].envelope.to).toContainEqual({\n    address: 'user@example.com',\n  })\n  expect(messages[0].content.subject).toBe('Welcome to Our Platform')\n})\n```\n\n### Mocking Mail\n\nMock the Mail class for testing:\n\n```typescript\nimport { Mock, vi } from 'vitest'\n\ntest('handles email failures gracefully', async () => {\n  const sendSpy = vi.spyOn(Mail, 'send').mockRejectedValue(new Error('SMTP connection failed'))\n\n  try {\n    await Mail.send(new NotificationMail())\n  } catch (error) {\n    expect(error.message).toBe('SMTP connection failed')\n  }\n\n  expect(sendSpy).toHaveBeenCalled()\n  sendSpy.mockRestore()\n})\n```\n\n## Configuration Reference\n\n```typescript\ninterface MailConfig {\n  // Default mailer to use when no driver is specified\n  default: string\n\n  // Default from address for all emails\n  from: {\n    name: string\n    address: string\n  }\n\n  // Path to email view templates\n  viewsPath: string\n\n  // Mailer driver configurations\n  mailers: {\n    smtp?: SmtpConfig\n    mailgun?: MailgunConfig\n    ses?: SesConfig\n    log?: LogConfig\n    array?: ArrayConfig\n  }\n}\n```\n\n## Exception Handling\n\nThe package provides specific exceptions for robust error handling:\n\n```typescript\nimport { MailException, DriverNotFoundException, TemplateNotFoundException } from '@atlex/mail'\n\ntry {\n  await Mail.send(email)\n} catch (error) {\n  if (error instanceof DriverNotFoundException) {\n    console.error('Mail driver not found:', error.message)\n  } else if (error instanceof TemplateNotFoundException) {\n    console.error('Email template not found:', error.message)\n  } else if (error instanceof MailException) {\n    console.error('Mail error:', error.message)\n  }\n}\n```\n\n## Best Practices\n\n1. **Use Mailable Classes**: Organize email logic into reusable Mailable classes instead of building emails inline.\n\n2. **Queue Long Operations**: Queue emails that require heavy processing to avoid blocking HTTP requests.\n\n   ```typescript\n   export class HeavyProcessingMail extends Mailable {\n     static queue = true\n     static delay = 60\n   }\n   ```\n\n3. **Separate Templates**: Keep email templates in dedicated view files for better maintainability and team collaboration.\n\n4. **Test Thoroughly**: Use the array driver in tests to verify email sending behavior.\n\n5. **Handle Exceptions**: Always catch and handle mail exceptions appropriately in production.\n\n6. **Environment Variables**: Store API keys, secrets, and credentials in environment variables, never in code.\n\n7. **Global Defaults**: Configure `alwaysFrom` and `alwaysReplyTo` globally to reduce duplication across Mailables.\n\n8. **Localize Content**: Use localization for multi-language email support.\n\n9. **Validate Recipients**: Validate email addresses before sending to prevent bounces.\n\n10. **Monitor Delivery**: Log email sends and track delivery/bounce metrics for production email pipelines.\n\n## Documentation\n\nFor more information and advanced usage, visit the [Atlex documentation](https://atlex.dev/guide/mail).\n\n## License\n\n## MIT © [Karen Hamazaspyan](https://github.com/khamazaspyan)\n\nPart of [Atlex](https://atlex.dev) — A modern framework for Node.js.\n","readmeFilename":"README.md"}