{"_id":"mailisk","_rev":"16-d7ce6d04d99e569e3e5d69d060b6b724","name":"mailisk","dist-tags":{"latest":"2.5.1"},"versions":{"1.0.0":{"name":"mailisk","version":"1.0.0","keywords":["mailisk","email-automation","email-testing","email"],"author":"","license":"ISC","_id":"mailisk@1.0.0","maintainers":[{"name":"mailisk","email":"uros@mailisk.com"}],"dist":{"shasum":"9a54fa6084db01e0f739807170420ecac437d059","tarball":"https://registry.npmjs.org/mailisk/-/mailisk-1.0.0.tgz","fileCount":14,"integrity":"sha512-M1A8ixJ3v69fsXrfAFZjrybVJXH/bl2zrPA8sMJMU+yT60F5J0mJlSxcAtW+6A6P5pKekY6S2XY8CvcKdd3Rcw==","signatures":[{"sig":"MEYCIQDAbAc0ffZgjS4MNp5gUJkMdDOxfDqEh9G+ZbFKB2QQxQIhAOkg+MetXYpVX4Wb9ak8FbCsVU2MsD1WyNZ5t7L6PYJU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33053,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjW/OMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoamg/+OKgo65My21kiG4tqzCr39XQgSZ4yM2ZgEJElf/as6C04Vi2e\r\nh54KAOPx5JSoJQNHr+cARqp1fMA8HpVaVJ0U3MKB1ahGbAHiK8fmzxVaQ6Ho\r\nu8ytwrodc+duVfmz/IskyB7NTrFZNKrcyFCKrekMUbJdVMC8xL88IJiIhsMp\r\nc993ktsTYXWISJWZQw8ffcfDgwKH0+ZSzw2ytkvUluzhNQtzEm/1eyOx6kld\r\n/Fe6XcwZjb1zrHxoPbqJDaSRuh+kZgp4lY2wnbl68j4XT+U8A69s692BtZJ9\r\nI7QM78+ayO5wWol1ms1D8PGcscYSL/wrfHA+B5F4TDtgm3kL/Q4tTXNX0u2a\r\n6G6BhOG6oeMKZL5P3KFoDy5T6LOEhcx5JsriByOE5meqYPzms5/EAsMuN4kv\r\nDTh9gnD+7mpKxD/qoCQS+5VZSRI/66usL/a4Nfr5fIdKRDr8l8aMASceVwd6\r\nWfBuFk2u1T+yMKtPV82T8v3E2FDUksOsWRf/Ap7r/psPlprNVcVGBmv2hY3i\r\nwCbMiRTkGPoRFWWu5pZUwE3dOkqHqHzdTsEombwLXzn1YA9IwLwnyJ5463P0\r\nOELtb/2FS8PkdIFFCA3zNBp1ZzDpUEvmxmf+86ULuIGYBFEws9I0nV/vor3p\r\n1CzrHtSWckGMEuPoDfqtLSo1DZPbYib04l8=\r\n=TsmM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"10f8cd1247c10da682575345fd3a345c9538a3aa","scripts":{"build":"tsup"},"_npmUser":{"name":"mailisk","email":"uros@mailisk.com"},"_npmVersion":"8.6.0","description":"Mailisk library for NodeJS","directories":{},"_nodeVersion":"18.0.0","dependencies":{"axios":"^1.1.2","nodemailer":"^6.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.2.3","typescript":"^4.8.4","@types/nodemailer":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/mailisk_1.0.0_1666970508097_0.22312554248348038","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"mailisk","version":"1.0.1","keywords":["mailisk","email-automation","email-testing","email"],"author":"","license":"ISC","_id":"mailisk@1.0.1","maintainers":[{"name":"mailisk","email":"uros@mailisk.com"}],"dist":{"shasum":"ea1295bfd05b27d9162dfe1dd87565ebbe17c182","tarball":"https://registry.npmjs.org/mailisk/-/mailisk-1.0.1.tgz","fileCount":14,"integrity":"sha512-xCGPpNXi6O0AFKXCundmCjTsCZRkgHCtPiUpFIaA/vMBMZX+irx9pIShFNMa3sHVB8KzDe237jE0dt13hgEhyg==","signatures":[{"sig":"MEQCIB7ZJK/MQPy3HTJA4iAl+9TlMnc5Xi52AYhEOvp0wK1KAiAcaHg9GAycTydLg5ui6YU077715WC61Ugc8MMqwEqQLw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33321,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYRMZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqrfw/8CMN+r7y6C5CYt8Xq7+7JXPFHTPChud8li1Bovuj5zi5/ftQ6\r\n9YMb5ddRogLS/dCfrYDMYeQ5bL2x5/ja+PjQyHl9TkYG7g2bTBl1lwlmpPr5\r\ns7O0iat6dgqDFrr9dXWe+DD9kQffLtvmI1TVblqffM2cTAd+EJ61fSJafUmx\r\nGf5CKhIMISEjFt+Fv5MTuaYP2w7WsMP7T21BMDBH2nsiSivRdOgnHaCi9N4B\r\nPRw+TR1k+9OMU4oxbX8BlL/5yvaXh2eZBaq0ggBZggF4XldfWd7X6n4piRFE\r\nijYo3oxuISnN1MxwNOjL9bpdPwcCtnNR+JSVJ4Eayq3C2lWXagOZrmG4A/XC\r\nT6lL1SioJNXdsVF0u2y2sSnpxYkib0RqXwh95/zPO4W321N8RSsVilX9eSTs\r\nKnESClj7sB65NPO3hoxkB6DsW7iZwwoQaEUmpJPKJP9Orn9WIuz70Y6zNF1d\r\nop7hLKeVeISqJKCIV9WD5enVtjNhSxX/1WMLuMqAWhlPbE6OeU07tyXM0nAu\r\nqa1n4ab5Ppm2t9pwCJu+wXdssSJr0g1lUbzpAfTz9AGSqQmhk93xkNwvQucr\r\nqvtT0WkUs2f1aoKsEi6698L1spWHSv1HxP+KRdBYjPrnXzcVZaQVuMDURVmG\r\nYbuB/bxZql2iDELan+eP4x7tyX4PEGz0jwk=\r\n=Hk57\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"893dc4151792203ed3509548fc167cdab7930b79","scripts":{"build":"tsup"},"_npmUser":{"name":"mailisk","email":"uros@mailisk.com"},"_npmVersion":"8.6.0","description":"Mailisk library for NodeJS","directories":{},"_nodeVersion":"18.0.0","dependencies":{"axios":"^1.1.2","nodemailer":"^6.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.2.3","typescript":"^4.8.4","@types/nodemailer":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/mailisk_1.0.1_1667306265507_0.9593512348044584","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"mailisk","version":"1.0.2","keywords":["mailisk","email-automation","email-testing","email"],"author":"","license":"ISC","_id":"mailisk@1.0.2","maintainers":[{"name":"mailisk","email":"uros@mailisk.com"}],"dist":{"shasum":"f66de72e98cb1e85116b16cebf71794e33e282b5","tarball":"https://registry.npmjs.org/mailisk/-/mailisk-1.0.2.tgz","fileCount":14,"integrity":"sha512-dBn9IozuU9EGeJjeVLhNMqZC+KNR6mBdKj4BqsxLb7JVmGwkrpKrjokeXt12K6HpFYQXRzP/P23/nfHIZWRmHg==","signatures":[{"sig":"MEQCIDSVJ6u+nO9v9BQLBzKqImTYG2gTxB9/GaZbPOocqZNlAiBJ5VS3x+TPqFyaPrmqx4lZVdYOt+EW2MHencXl7pfe5A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33321,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYRPTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmowuQ/+II45FfIFid+59XDrh6995ovL0peEF3kWih6JOtAH3GneCiXF\r\nsjulVaz3N706u266scL4INDud50Hqu4W9cZ30hT6SfsibnSLB33YU9CvbIRd\r\nP+YT4IuRbY9eHUqvXVSiY8BlR9cHjJpiNLelu7gqxpTetr12mTC0kg3yfEJA\r\nPZKn6ADezGbNYGHrlVGfpu0Cj+NxUh5VXieUMdkddYU5LlDad+N/YODFHhlz\r\nqIrmUMQdll0ffTdWqpNi/exge9WnfIkZQphrjivink1M3szBVRTFk7bd0r3l\r\nlnWuQsgiunkcnGxBv50bGEo3hx4wTnpxHeY5h+H0LRk4yscSbCniY2moDYqV\r\n8PHd9wV1VVSO3HYJl1tD1EcygCGDBd+SqmnJZ24ihEvL630QESILRyNaQlR9\r\nxNjGjAXwwpY+cIPMidD6GWbQYHVVM2nXjb8KMgqpZ+rczCCQCMkb0vY6jHJt\r\nX36a4oRV8mlsTxoccfaIokGD8rF6hR1QtXTBgQrHxw9e0b+zOFh6NfLzfMpa\r\nEdxwcXcL3e7H9ciTpcvKA8qYOBD+EXHrtjuf/obJVuYn2SclFrBcOylDf/j6\r\nUG8qW1NEEeOMtnpFsCtmflYWZIr7CUc4HDVPrCOtr4HCpZAZE1HrXOljOmzx\r\nNLsaDshSBb52McunHoVYnPLcckuzh4WyhxU=\r\n=UtCM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"d83591ff893808b27e9d5d17c577753ff64ad3a1","scripts":{"build":"tsup"},"_npmUser":{"name":"mailisk","email":"uros@mailisk.com"},"_npmVersion":"8.6.0","description":"Mailisk library for NodeJS","directories":{},"_nodeVersion":"18.0.0","dependencies":{"axios":"^1.1.2","nodemailer":"^6.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.2.3","typescript":"^4.8.4","@types/nodemailer":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/mailisk_1.0.2_1667306451652_0.25193194251000883","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"mailisk","version":"1.0.3","keywords":["mailisk","email-automation","email-testing","email"],"author":"","license":"ISC","_id":"mailisk@1.0.3","maintainers":[{"name":"mailisk","email":"uros@mailisk.com"}],"dist":{"shasum":"54e2b4685bf075310b1e89ce81f4b5656d30cce6","tarball":"https://registry.npmjs.org/mailisk/-/mailisk-1.0.3.tgz","fileCount":14,"integrity":"sha512-J7Qj78Ybc68dsV8agSoHzVK64tVLyTcei7dv5ZzqGyLtJ7csHRMQZl2m87a/tTUiqX6iW6FiIuJjBtkQmxnMrg==","signatures":[{"sig":"MEUCIQD4b+wcms2ZAGiO6bVeB99aN0jPhu6vo/0X6fp5PTDDAQIgIK9QQ+VYzwpbfea7Z4FjdTDJWS9e58QLMQdg9Wc/Uk4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33321,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYRUgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrugQ//VWoitaQ0aomJ0q51vVLzqtsK7HuVHpXOVgtDxEAGhVykrqEX\r\n8VXsYe6Wq7WZBlfpyH8HQb+zu4lGizmUatF6JADc11onU+6qG0qAdJ4Lm5it\r\n1jEAjZeA+H5qZFbPHib2OpKXZpB7PvGiWW7B5toNGzWR+pryci9AGr64omfA\r\nr17dhhSmzqaeSLh2eOZnT8rZuQ6QtZa4ud7BBHsEsb/0D75Fh6zh38poU7Ni\r\nyGftFWxfNiwxFOfCY04OvklZFiYKD27N9pAju6kJBOkusnvqi4G8qqEgg87Q\r\nGYvgKMksDsF99kGvaIJMCz4F0ZWUnJjalJjjmurw3qoUUq1cx/Qj710eJ6sS\r\nHP3s73ahIpsNHTjwsO3/rb0sQjER7ilYRTwq6I4MZusR9lfrw5ARiZ5uOFj7\r\nKGeaGkVCS5SfzC4VF6tcc7Gohq3OgBD/8wwtYKJ6IKsK/HF8KXyKEMgGEPFe\r\nvA4IPbAO1tzPXPZEYtpfCokkWZCJZvN65I91Y1FBXjtQpU/LWWimSaIUqfWW\r\nAXBlE13L2+2gEwVxlqj8n+ehu4E9xD2qnE7WiWR4/Cg7lEqS+Q5v18AQ6Ck8\r\nTHDwEjL8CbGQVqOhcfBQ9eSGyJ0Uu2VRXpFKC3WYAJ1noK3ZbWxWAYZQtIu5\r\n233fGRznWqsYC4UaR76a0xJuxMU418Fq5tg=\r\n=O8Ne\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"114e2757dd79bcfd7e9f9fe2ff8929cc19cbf0ce","scripts":{"build":"tsup"},"_npmUser":{"name":"mailisk","email":"uros@mailisk.com"},"_npmVersion":"8.6.0","description":"Mailisk library for NodeJS","directories":{},"_nodeVersion":"18.0.0","dependencies":{"axios":"^1.1.2","nodemailer":"^6.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.2.3","typescript":"^4.8.4","@types/nodemailer":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/mailisk_1.0.3_1667306783982_0.7262741391180083","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"mailisk","version":"2.0.0","keywords":["mailisk","email-automation","email-testing","email"],"author":"","license":"ISC","_id":"mailisk@2.0.0","maintainers":[{"name":"mailisk","email":"uros@mailisk.com"}],"dist":{"shasum":"0e0092f7c1b2a6ab7e97286f5138920cb50896fb","tarball":"https://registry.npmjs.org/mailisk/-/mailisk-2.0.0.tgz","fileCount":14,"integrity":"sha512-O6CPMzQxEWIqTDtIQDwmdhuM2QvC2TfQskDy1lauh90kIvG/8BfS3pQYeIvq0ayMqYNN1VvaoL57nZBHyE4NBw==","signatures":[{"sig":"MEUCIQCHOQXXI89TsCCW6cNgdMjD4WFt8n+NUcRYh+jN/gtSQwIgQ4XlI/i3NcqTq6N2lMF0NgtUlTuf212kJT/jBL5wjik=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34221},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"a32a71843644b7c8b985fa9812f678022d11f25a","scripts":{"build":"tsup"},"_npmUser":{"name":"mailisk","email":"uros@mailisk.com"},"_npmVersion":"9.5.1","description":"Mailisk library for NodeJS","directories":{},"_nodeVersion":"19.8.1","dependencies":{"axios":"^1.1.2","nodemailer":"^6.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.2.3","typescript":"^4.8.4","@types/nodemailer":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/mailisk_2.0.0_1701563669695_0.22741271874357083","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"mailisk","version":"2.0.1","keywords":["mailisk","email-automation","email-testing","email"],"author":"","license":"ISC","_id":"mailisk@2.0.1","maintainers":[{"name":"mailisk","email":"uros@mailisk.com"}],"dist":{"shasum":"9c3b8b41d525b9df1e8009a937219346f239a795","tarball":"https://registry.npmjs.org/mailisk/-/mailisk-2.0.1.tgz","fileCount":14,"integrity":"sha512-zUo7i0Sdi+J+vl2gSRwKtqst3Q3ZHvFM1yjxQnbiwc1v2k3l0q8L/Z6TZZ68N/WBj4w8UIFmvq4bILJCTuZA4A==","signatures":[{"sig":"MEYCIQDa0nSOAeXKUWKlQHrOQY+GpC3YBRpZauFfW5A2MjVgGwIhAO7KVIbjaEdIv+5L4FAP8worrfXFo504SK6nISX6CyIB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35174},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"2905ea07eeb5665eaf8080c30cf4087dba558125","scripts":{"build":"tsup"},"_npmUser":{"name":"mailisk","email":"uros@mailisk.com"},"_npmVersion":"10.8.1","description":"Mailisk library for NodeJS","directories":{},"_nodeVersion":"20.16.0","dependencies":{"axios":"^1.1.2","nodemailer":"^6.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.2.3","typescript":"^4.8.4","@types/nodemailer":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/mailisk_2.0.1_1738858118927_0.3203447303274285","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"mailisk","version":"2.1.1","keywords":["mailisk","email-automation","email-testing","email"],"author":"","license":"ISC","_id":"mailisk@2.1.1","maintainers":[{"name":"mailisk","email":"uros@mailisk.com"}],"dist":{"shasum":"3442bc31a34c027e34000fe28b5cda62b9fe737b","tarball":"https://registry.npmjs.org/mailisk/-/mailisk-2.1.1.tgz","fileCount":19,"integrity":"sha512-kQlbEIsEezh+mEFSsnAzX+v41m2VPV8ymvlPKJcWWK6pc5+VulsMadPZ+na0SYVVNz20CRt/YahK3ZD9CDq8/Q==","signatures":[{"sig":"MEUCIGFxaHxVWUBbAfB6LdPMw9tTdWbT3KOA7exUFi8aP7MXAiEAiZUePh3LHOAEqaHAvWxHMs/mtBz/BY2Z78PsdP1QP6I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56528},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"299afd798eba59495afb24ae38ba40c61af38a6f","scripts":{"test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"mailisk","actor":{"name":"mailisk","type":"user","email":"uros@mailisk.com"},"email":"uros@mailisk.com"},"_npmVersion":"10.8.1","description":"Mailisk library for NodeJS","directories":{},"_nodeVersion":"20.16.0","dependencies":{"axios":"^1.1.2","nodemailer":"^6.8.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^6.2.3","dotenv":"^16.4.7","ts-jest":"^29.2.6","typescript":"^4.8.4","@types/jest":"^29.5.14","jest-mock-axios":"^4.8.0","@types/nodemailer":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/mailisk_2.1.1_1751230283701_0.12651918222604852","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"mailisk","version":"2.2.1","keywords":["mailisk","email-automation","email-testing","email"],"author":"","license":"ISC","_id":"mailisk@2.2.1","maintainers":[{"name":"mailisk","email":"uros@mailisk.com"}],"dist":{"shasum":"4819f52f3fb9e07ad4cf1308724af638f59390d8","tarball":"https://registry.npmjs.org/mailisk/-/mailisk-2.2.1.tgz","fileCount":162,"integrity":"sha512-vQ0RK8waJfo7GXi9ZxJ5opIphZLet/ISBuVAE9QGP8FPI2pdQV+N3JhUZkxrsk3CKEsxdOQu74ftIEpA2Y0SBw==","signatures":[{"sig":"MEQCIGu8NRv1tJclsKax0/+xU9tC2jr41XaqB/6F74AcNERzAiBYqgqgwQZC01lTlhtUh5a0dMGApMPlOEN/berhvoEzbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23731315},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"ada3de84f14dd0270fe7fe2ecf297b88d99058d5","scripts":{"test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"mailisk","email":"uros@mailisk.com"},"_npmVersion":"11.6.0","description":"Mailisk library for NodeJS","directories":{},"_nodeVersion":"24.9.0","dependencies":{"axios":"^1.1.2","nodemailer":"^6.8.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^6.2.3","dotenv":"^16.4.7","ts-jest":"^29.2.6","typescript":"^4.9.5","@types/jest":"^29.5.14","jest-mock-axios":"^4.8.0","@types/nodemailer":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/mailisk_2.2.1_1766936535337_0.08086742725669804","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"mailisk","version":"2.2.2","keywords":["mailisk","email-automation","email-testing","email"],"author":"","license":"ISC","_id":"mailisk@2.2.2","maintainers":[{"name":"mailisk","email":"uros@mailisk.com"}],"dist":{"shasum":"8225945b9b2171854ee38d4f99243f1fea8c02cc","tarball":"https://registry.npmjs.org/mailisk/-/mailisk-2.2.2.tgz","fileCount":19,"integrity":"sha512-UvuBzc8u4H1LAcXj0ukUvjhYg0jeE7TO1dUoMiHO26TyUzmycgLBSkoD7iYP8137CvmGInOb6YAq0/hTRdehpA==","signatures":[{"sig":"MEUCIQDNX0TFY9l0pc9CtUa9QnXj34fIidTj/LcAooBnOmSrYwIgJAYaHbJf9QK3/GxK75nzwG7++85JvWauwQhz+vCbsJM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80216},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5d027c235eba0e26cccf2b49672ffb820e75f5e1","scripts":{"test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"mailisk","email":"uros@mailisk.com"},"_npmVersion":"11.6.0","description":"Mailisk library for NodeJS","directories":{},"_nodeVersion":"24.9.0","dependencies":{"axios":"^1.1.2","nodemailer":"^6.8.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^6.2.3","dotenv":"^16.4.7","ts-jest":"^29.2.6","typescript":"^4.9.5","@types/jest":"^29.5.14","jest-mock-axios":"^4.8.0","@types/nodemailer":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/mailisk_2.2.2_1766940060555_0.037370251484541095","host":"s3://npm-registry-packages-npm-production"}},"2.2.3":{"name":"mailisk","version":"2.2.3","keywords":["mailisk","email-automation","email-testing","email"],"author":"","license":"ISC","_id":"mailisk@2.2.3","maintainers":[{"name":"mailisk","email":"uros@mailisk.com"}],"dist":{"shasum":"859b20eba715ab350dd912d6c7e9310e93389217","tarball":"https://registry.npmjs.org/mailisk/-/mailisk-2.2.3.tgz","fileCount":20,"integrity":"sha512-Hx5YGSm1HJwAC+VJFLqrbKSh1eR7fS0kzCTV1prJ6PI6DFPH6nKKH24Tmg0rWgrEzcbLnv0TOh3ftD6qzKHIBw==","signatures":[{"sig":"MEYCIQCQh79OFRmpe40TtMRY/aTDLiexZIRq3vNqHQ5t8mc9swIhAKhNq30rG7T3ASmWiIS1NNe5c7kMwKXiT5lP5qJUH02U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96673},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"9ac952ca4e1c399a054a7982907ab99e1b7540fc","scripts":{"test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"mailisk","email":"uros@mailisk.com"},"_npmVersion":"11.6.1","description":"Mailisk library for NodeJS","directories":{},"_nodeVersion":"24.10.0","dependencies":{"axios":"^1.14.0","nodemailer":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.5.1","dotenv":"^16.4.7","ts-jest":"^29.4.9","typescript":"^4.9.5","@types/jest":"^29.5.14","jest-mock-axios":"^4.8.0","@types/nodemailer":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mailisk_2.2.3_1775576666398_0.5542556067278257","host":"s3://npm-registry-packages-npm-production"}},"2.2.4":{"name":"mailisk","version":"2.2.4","keywords":["mailisk","email-automation","email-testing","email"],"author":"","license":"ISC","_id":"mailisk@2.2.4","maintainers":[{"name":"mailisk","email":"uros@mailisk.com"}],"dist":{"shasum":"fa3a56882d605bfaa30bea3e58ea0b220d4085e1","tarball":"https://registry.npmjs.org/mailisk/-/mailisk-2.2.4.tgz","fileCount":19,"integrity":"sha512-m41DnAKNv11nDM3zttgRRsHkGr5aLIRQsezepdjwxIktiZoVWR4iP3e2CaDfG/gLgjZK+hzg7e9lQsEXlhOQsg==","signatures":[{"sig":"MEUCIQC+vye/ila4NPwNsH40trSxHiH+zYq2wVk27eAuLcC0tAIgVoAUwQ73ePVKUH7Xl6rGKeuKpLCqXFatAfrgP4sFPRU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80280},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"494f5508f3d767e325afb9fb314f8b46c65eaba1","scripts":{"test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"mailisk","email":"uros@mailisk.com"},"_npmVersion":"11.6.1","description":"Mailisk library for NodeJS","directories":{},"_nodeVersion":"24.10.0","dependencies":{"axios":"^1.15.2","nodemailer":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.5.1","dotenv":"^16.4.7","ts-jest":"^29.4.9","typescript":"^4.9.5","@types/jest":"^29.5.14","jest-mock-axios":"^4.8.0","@types/nodemailer":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mailisk_2.2.4_1778925815045_0.6282872415713534","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"mailisk","version":"2.3.0","keywords":["mailisk","email-automation","email-testing","email"],"author":"","license":"ISC","_id":"mailisk@2.3.0","maintainers":[{"name":"mailisk","email":"uros@mailisk.com"}],"dist":{"shasum":"a008385804804cd88015b350496bf830d593dfea","tarball":"https://registry.npmjs.org/mailisk/-/mailisk-2.3.0.tgz","fileCount":20,"integrity":"sha512-8uUTi0/PXi54jQ+FaLP6mPgEjKw96k3MAD5baAwHQ+TQbEE+YSc+iQ/O0HKJSUoPiavhTVLZNdT3KNHRloNOsQ==","signatures":[{"sig":"MEUCIDYmVNgVkzhcZlFSKWsFvzfjX+mcRaaUjcTr9ERp2ZGVAiEA6CHFR/G0wcXiVB6X8QCIp9T2cM2BNPGcJtiLxAc9bsw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146166},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"90d4c1f4237a1c4b9eee8a6c3b9e00d176b99e99","scripts":{"test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"mailisk","email":"uros@mailisk.com"},"_npmVersion":"11.6.1","description":"Mailisk library for NodeJS","directories":{},"_nodeVersion":"24.10.0","dependencies":{"axios":"^1.15.2","nodemailer":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.5.1","dotenv":"^16.4.7","ts-jest":"^29.4.9","typescript":"^4.9.5","@types/jest":"^29.5.14","jest-mock-axios":"^4.8.0","@types/nodemailer":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mailisk_2.3.0_1779891366215_0.5091846639855298","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"mailisk","version":"2.4.0","keywords":["mailisk","email-automation","email-testing","email"],"author":"","license":"ISC","_id":"mailisk@2.4.0","maintainers":[{"name":"mailisk","email":"uros@mailisk.com"}],"dist":{"shasum":"aa60cc183b9f087a187c8a1b1f6308d033925eca","tarball":"https://registry.npmjs.org/mailisk/-/mailisk-2.4.0.tgz","fileCount":20,"integrity":"sha512-BQvCL7Xty9aSH7ruMGoHow9AGqVY9vkoUfTJXTq2xSQ9KUcqQp6BX3Jo9EXCWFMZEhZujoV1FxXDLN71cqeOFg==","signatures":[{"sig":"MEUCICoRkQqGqKZxw/KHtrvgAYbUUswe2rq5f89vGNTTF32UAiEAkSxt4irYNpdUdJcYL8N6LTNkh5X4W2jQDN9Sy6HIzOE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150296},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"f5ec167e18a56ecfeeb19b1637de6e4be5a0008e","scripts":{"test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"mailisk","email":"uros@mailisk.com"},"_npmVersion":"11.6.1","description":"Mailisk library for NodeJS","directories":{},"_nodeVersion":"24.10.0","dependencies":{"axios":"^1.15.2","nodemailer":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.5.1","dotenv":"^16.4.7","ts-jest":"^29.4.9","typescript":"^4.9.5","@types/jest":"^29.5.14","jest-mock-axios":"^4.8.0","@types/nodemailer":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mailisk_2.4.0_1780098523715_0.39562238570575237","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"mailisk","version":"2.4.1","keywords":["mailisk","email-automation","email-testing","email"],"author":"","license":"ISC","_id":"mailisk@2.4.1","maintainers":[{"name":"mailisk","email":"uros@mailisk.com"}],"dist":{"shasum":"f2e0f5ce33ed0f07ed9d6f67c5fb48f1992cdfaa","tarball":"https://registry.npmjs.org/mailisk/-/mailisk-2.4.1.tgz","fileCount":20,"integrity":"sha512-znRCzBN2b5L49Vx9ZxZlinBhbNcHQAuO5+E3WoCIofWB7Z2hnia3L9RfrFnxP9DMyq1G82RXL6F9gINjHsYPGA==","signatures":[{"sig":"MEUCIGqfMTBqTR463601KqqXrMmjRiMYnLpRrlVVEpJd5hRpAiEA0DcsWCtLRydKVR9RpFASBuTP6qav54mSzAP6S5vRxGI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150296},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"9e8333c18c7fe23bd1ebe246533e3918db558aa1","scripts":{"test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"mailisk","email":"uros@mailisk.com"},"_npmVersion":"11.6.1","description":"Mailisk library for NodeJS","directories":{},"_nodeVersion":"24.10.0","dependencies":{"axios":"^1.15.2","nodemailer":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.5.1","dotenv":"^16.4.7","ts-jest":"^29.4.9","typescript":"^4.9.5","@types/jest":"^29.5.14","jest-mock-axios":"^4.8.0","@types/nodemailer":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mailisk_2.4.1_1783270645345_0.47812528029986856","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"mailisk","version":"2.5.0","keywords":["mailisk","email-automation","email-testing","email"],"author":"","license":"ISC","_id":"mailisk@2.5.0","maintainers":[{"name":"mailisk","email":"uros@mailisk.com"}],"dist":{"shasum":"5b9d32664503738f58fa36ade562afa0f9f24581","tarball":"https://registry.npmjs.org/mailisk/-/mailisk-2.5.0.tgz","fileCount":20,"integrity":"sha512-CMab9gMQGPl3TT9qdP+sJ8gdp9vP/6rVdYzm2eeiAfjnrOVHpjz5W8fO5s6Zy+4XQrl1g7Vf3t9sQA/m9qU++Q==","signatures":[{"sig":"MEUCICdGWi24Ll0OJsw9wGOc7SHWMlNVSXbXHY4nm3WE3bWjAiEA+VQEDUCoVDv/ulHOnBc9F1BjNg6xpuTxpQOhj9ZYLts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187422},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"5b7e46acfa4a7878b1bdb4e20466f6462a766add","scripts":{"test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"mailisk","email":"uros@mailisk.com"},"_npmVersion":"11.6.1","description":"Mailisk library for NodeJS","directories":{},"_nodeVersion":"24.10.0","dependencies":{"axios":"^1.15.2","nodemailer":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.5.1","dotenv":"^16.4.7","ts-jest":"^29.4.9","typescript":"^4.9.5","@types/jest":"^29.5.14","jest-mock-axios":"^4.8.0","@types/nodemailer":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mailisk_2.5.0_1783447314977_0.06985151317903715","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"mailisk","version":"2.5.1","description":"Mailisk library for NodeJS","keywords":["mailisk","email-automation","email-testing","email"],"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsup","test":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage"},"author":"","license":"ISC","engines":{"node":">=18"},"devDependencies":{"@types/jest":"^29.5.14","@types/nodemailer":"^8.0.0","dotenv":"^16.4.7","jest":"^29.7.0","jest-mock-axios":"^4.8.0","ts-jest":"^29.4.9","tsup":"^8.5.1","typescript":"^4.9.5"},"dependencies":{"axios":"^1.15.2","nodemailer":"^9.0.3"},"gitHead":"0887dba4fadfd3cd1d37dd697a476c5374e86519","_id":"mailisk@2.5.1","_nodeVersion":"24.10.0","_npmVersion":"11.6.1","dist":{"integrity":"sha512-m77H4qGCNWcEDe2KKYJCR72yGMOJwf3XmjipWLvPTWDHjhf9rxckZnQLSWgq81z4WnvhaezxNuEO2/tlIXKxzQ==","shasum":"c4c47721f3ab1863ced66a7719a05351d5d2b4e8","tarball":"https://registry.npmjs.org/mailisk/-/mailisk-2.5.1.tgz","fileCount":20,"unpackedSize":187422,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCwJ+3z6aFbdAuzzo0/phoIV34V8gVdTJ2PY+PV8hvuBgIgdDU11yg4RhiaLGKJgYGroJWauM3cOSDQOV0Pdg1WndM="}]},"_npmUser":{"name":"mailisk","email":"uros@mailisk.com"},"directories":{},"maintainers":[{"name":"mailisk","email":"uros@mailisk.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mailisk_2.5.1_1784712272910_0.5464663701113175"},"_hasShrinkwrap":false}},"time":{"created":"2022-10-28T15:21:48.096Z","modified":"2026-07-22T09:24:33.190Z","1.0.0":"2022-10-28T15:21:48.247Z","1.0.1":"2022-11-01T12:37:45.648Z","1.0.2":"2022-11-01T12:40:51.835Z","1.0.3":"2022-11-01T12:46:24.163Z","2.0.0":"2023-12-03T00:34:29.884Z","2.0.1":"2025-02-06T16:08:39.125Z","2.1.1":"2025-06-29T20:51:23.918Z","2.2.1":"2025-12-28T15:42:15.667Z","2.2.2":"2025-12-28T16:41:00.712Z","2.2.3":"2026-04-07T15:44:26.559Z","2.2.4":"2026-05-16T10:03:35.203Z","2.3.0":"2026-05-27T14:16:06.356Z","2.4.0":"2026-05-29T23:48:43.903Z","2.4.1":"2026-07-05T16:57:25.478Z","2.5.0":"2026-07-07T18:01:55.130Z","2.5.1":"2026-07-22T09:24:33.056Z"},"license":"ISC","keywords":["mailisk","email-automation","email-testing","email"],"description":"Mailisk library for NodeJS","maintainers":[{"name":"mailisk","email":"uros@mailisk.com"}],"readme":"# Mailisk Node Client\n\nMailisk is an end-to-end email and SMS testing platform. It allows you to receive emails and SMS messages with code to automate tests.\n\n- Get a unique subdomain and unlimited email addresses for free.\n- Easily automate E2E password reset and account verification by catching emails.\n- Receive SMS messages and automate SMS tests.\n- Generate TOTP authenticator codes and manage saved TOTP devices.\n- Outbound email and virtual SMS support to test without 3rd party clients.\n\n## Get started\n\nFor a more step-by-step walkthrough see the [NodeJS Guide](https://docs.mailisk.com/guides/nodejs.html).\n\n- [Mailisk Node Client](#mailisk-node-client)\n  - [Get started](#get-started)\n    - [Requirements](#requirements)\n    - [Installation](#installation)\n      - [Install with npm](#install-with-npm)\n      - [Install with Yarn](#install-with-yarn)\n    - [Usage](#usage)\n    - [API Reference](#api-reference)\n  - [Client functions (Email)](#client-functions-email)\n    - [`searchInbox(namespace, params?, requestOptions?)`](#searchinboxnamespace-params-requestoptions)\n      - [Quick examples](#quick-examples)\n      - [Filter by destination address](#filter-by-destination-address)\n    - [`listNamespaces()`](#listnamespaces)\n    - [`getAttachment(attachmentId)`](#getattachmentattachmentid)\n    - [`downloadAttachment(attachmentId)`](#downloadattachmentattachmentid)\n      - [Quick examples](#quick-examples-1)\n  - [Client functions (Outbound Email)](#client-functions-outbound-email)\n    - [`sendEmail(namespace, params)`](#sendemailnamespace-params)\n    - [`getOutboundEmail(outboundEmailId)`](#getoutboundemailoutboundemailid)\n    - [`replyToEmail(emailId, params)`](#replytoemailemailid-params)\n    - [`forwardEmail(emailId, params)`](#forwardemailemailid-params)\n  - [Client functions (SMS)](#client-functions-sms)\n    - [`searchSmsMessages(phoneNumber, params?, requestOptions?)`](#searchsmsmessagesphonenumber-params-requestoptions)\n      - [Quick examples](#quick-examples-2)\n    - [`listSmsNumbers()`](#listsmsnumbers)\n    - [`sendVirtualSms(params)`](#sendvirtualsmsparams)\n  - [Client functions (TOTP)](#client-functions-totp)\n    - [`listTotpDevices(params?)`](#listtotpdevicesparams)\n    - [`createTotpDevice(params)`](#createtotpdeviceparams)\n    - [`createCustomTotpDevice(params)`](#createcustomtotpdeviceparams)\n    - [`createTotpDeviceFromBase32SecretKey(params)`](#createtotpdevicefrombase32secretkeyparams)\n    - [`createTotpDeviceFromOtpAuthUrl(params)`](#createtotpdevicefromotpauthurlparams)\n    - [`getTotpOtpBySharedSecret(sharedSecret, params?)`](#gettotpotpbysharedsecretsharedsecret-params)\n    - [`getTotpOtpByDeviceId(deviceId, params?)`](#gettotpotpbydeviceiddeviceid-params)\n    - [`deleteTotpDevice(deviceId)`](#deletetotpdevicedeviceid)\n\n### Requirements\n\n- Node.js 18 or newer\n\n### Installation\n\n#### Install with npm\n\n```shell\nnpm install --save-dev mailisk\n```\n\n#### Install with Yarn\n\n```shell\nyarn add mailisk --dev\n```\n\n### Usage\n\nAfter installing the library import it and set the [API Key](https://docs.mailisk.com/#getting-your-api-key)\n\n```js\nconst { MailiskClient } = require(\"mailisk\");\n\n// create client\nconst mailisk = new MailiskClient({ apiKey: \"YOUR_API_KEY\" });\n\n// send outbound email\nawait mailisk.sendEmail(namespace, {\n  to: [\"verified@example.com\"],\n  subject: \"Testing\",\n  text: \"This is a test.\",\n});\n\n// receive email\nconst result = await mailisk.searchInbox(namespace);\n\nconsole.log(result);\n```\n\n### API Reference\n\nThis library wraps the REST API endpoints. Find out more in the [API Reference](https://docs.mailisk.com/api-reference/).\n\n## Client functions (Email)\n\n### `searchInbox(namespace, params?, requestOptions?)`\n\nUse `searchInbox` to fetch messages that arrived in a given namespace, optionally waiting until the first new mail shows up.\n\nFor the full parameter options see the [endpoint reference](https://docs.mailisk.com/api-reference/search-inbox.html#request-1).\n\nDefault behaviour:\n\n- Waits until at least one new email arrives (override with `wait: false`).\n- Times out after 5 minutes if nothing shows up (adjust via `requestOptions.timeout`).\n- Ignores messages older than 15 minutes to avoid picking up leftovers from previous tests (change via `from_timestamp`).\n\n#### Quick examples\n\n```js\n// wait up to the default 5 min for *any* new mail\nawait mailisk.searchInbox(namespace);\n// custom 60-second timeout\nawait mailisk.searchInbox(namespace, {}, { timeout: 1000 * 60 });\n// polling pattern — return immediately, even if inbox is empty\nawait mailisk.searchInbox(namespace, { wait: false });\n// returns the last 20 emails in the namespace immediately\nawait mailisk.searchInbox(namespace, { wait: false, from_timestamp: 0, limit: 20 });\n```\n\n#### Filter by destination address\n\nA common pattern is to wait for the email your UI just triggered (e.g. password-reset).\nPass `to_addr_prefix` so you don’t pick up stale messages:\n\n```js\nconst { data: emails } = await mailisk.searchInbox(namespace, {\n  to_addr_prefix: `john@${namespace}.mailisk.net`,\n});\n```\n\n### `listNamespaces()`\n\nList all namespaces associated with the current API Key.\n\n```js\nconst { data: namespaces } = await mailisk.listNamespaces();\n\n// will be ['namespace1', 'namespace2']\nconst namespacesList = namespaces.map((nr) => nr.namespace);\n```\n\n### `getAttachment(attachmentId)`\n\nGet information about an attachment.\n\n```ts\nconst attachment = await mailisk.getAttachment(attachmentId);\n```\n\n### `downloadAttachment(attachmentId)`\n\nRetrieve the raw bytes of a file attached to an email message.  \nTypically you call this after `searchInbox` → iterate over `email.attachments[]` → pass the desired `attachment.id`.\n\n#### Quick examples\n\n```js\nimport fs from \"node:fs\";\nimport path from \"node:path\";\n\n// assume 'email' was fetched via searchInbox()\nconst { id, filename } = email.attachments[0];\n\n// download the attachment\nconst buffer = await mailisk.downloadAttachment(id);\n\n// save to disk (preserve original filename)\nfs.writeFileSync(filename, buffer);\n```\n\nStreaming large files\n\ndownloadAttachment returns the entire file as a single Buffer.\nIf you expect very large attachments and want to avoid holding them fully in memory, use getAttachment(attachmentId).download_url and stream with fetch / axios instead:\n\n```js\nconst meta = await mailisk.getAttachment(id);\nconst res = await fetch(meta.download_url);\nconst fileStream = fs.createWriteStream(filename);\nawait new Promise((ok, err) => res.body.pipe(fileStream).on(\"finish\", ok).on(\"error\", err));\n```\n\n## Client functions (Outbound Email)\n\nOutbound email methods call the Mailisk API to create, queue, and inspect email delivery.\n\n### `sendEmail(namespace, params)`\n\nCreate and queue a new outbound email from a namespace. Recipients must be verified external destinations or addresses under the same namespace. Messages sent only to the same namespace do not consume outbound usage because they are counted as inbound email when delivered.\n\n```js\nconst outboundEmail = await mailisk.sendEmail(\"mynamespace\", {\n  from: {\n    email: \"support@mynamespace.mailisk.net\",\n    name: \"Support\",\n  },\n  to: [\"verified@example.com\"],\n  subject: \"Hello from Mailisk\",\n  text: \"This is the plain text body.\",\n  html: \"<p>This is the HTML body.</p>\",\n});\n\nconsole.log(outboundEmail.id, outboundEmail.status);\n```\n\nAttachments use base64 encoded content:\n\n```js\nconst fs = require(\"node:fs\");\nconst attachmentContent = fs.readFileSync(\"report.txt\");\n\nawait mailisk.sendEmail(\"mynamespace\", {\n  to: [\"verified@example.com\"],\n  subject: \"Report\",\n  text: \"Attached.\",\n  attachments: [\n    {\n      filename: \"report.txt\",\n      content_type: \"application/octet-stream\",\n      content_base64: attachmentContent.toString(\"base64\"),\n    },\n  ],\n});\n```\n\n### `getOutboundEmail(outboundEmailId)`\n\nFetch the current delivery state for an outbound email, including recipient delivery statuses and provider events.\n\n```js\nconst outboundEmail = await mailisk.getOutboundEmail(outboundEmailId);\n\nconsole.log(outboundEmail.delivery_summary.delivered);\nconsole.log(outboundEmail.recipients);\n```\n\n### `replyToEmail(emailId, params)`\n\nCreate and queue a reply to an inbound email returned by `searchInbox`. Mailisk derives the reply recipient and threading headers from the source email.\n\n```js\nconst { data: emails } = await mailisk.searchInbox(\"mynamespace\", {\n  to_addr_prefix: \"support@mynamespace.mailisk.net\",\n});\n\nconst reply = await mailisk.replyToEmail(emails[0].id, {\n  text: \"Thanks, we received your message.\",\n});\n\nconsole.log(reply.id);\n```\n\n### `forwardEmail(emailId, params)`\n\nCreate and queue a forwarded copy of an inbound email.\n\n```js\nconst forwarded = await mailisk.forwardEmail(emailId, {\n  to: [\"verified@example.com\"],\n  text: \"Forwarding this along.\",\n});\n\nconsole.log(forwarded.id);\n```\n\n## Client functions (SMS)\n\n### `searchSmsMessages(phoneNumber, params?, requestOptions?)`\n\nFetch recent SMS messages that were delivered to one of your Mailisk phone numbers.  \nFor the full parameter list see the [Search SMS reference](https://docs.mailisk.com/api-reference/search-sms-messages.html#request).\n\nDefault behaviour:\n\n- Waits until at least one SMS matches the filters (override with `wait: false`).\n- Times out after 5 minutes if nothing shows up (adjust via `requestOptions.timeout`).\n- Ignores messages older than 15 minutes (change via `from_date`).\n\n#### Quick examples\n\n```js\n// get or wait for SMS messages sent to ths number\nconst { data: sms } = await mailisk.searchSmsMessages(phoneNumber);\n\n// look for a verification code coming from a known sender\nawait mailisk.searchSmsMessages(phoneNumber, {\n  from_number: \"+1800555\",\n  body: \"Your code\",\n});\n\n// polling pattern — return immediately even if nothing matched\nawait mailisk.searchSmsMessages(\n  phoneNumber,\n  { wait: false, limit: 10, from_date: new Date(Date.now() - 1000 * 60 * 5).toISOString() },\n  { timeout: 10_000 },\n);\n```\n\n### `listSmsNumbers()`\n\nList all SMS phone numbers associated with the current account.\n\n```js\nconst { data: phoneNumbers } = await mailisk.listSmsNumbers();\n```\n\n### `sendVirtualSms(params)`\n\nSend a virtual SMS message to a phone number you have access to.\n\n```js\nawait mailisk.sendVirtualSms({\n  from_number: \"15551234567\",\n  to_number: \"15557654321\",\n  body: \"Test message\",\n});\n```\n\n## Client functions (TOTP)\n\nTOTP methods call the Mailisk API to generate codes and manage saved authenticator devices. The client does not generate TOTP codes locally.\n\n### `listTotpDevices(params?)`\n\nList active saved TOTP devices.\n\n```js\nconst devices = await mailisk.listTotpDevices({\n  limit: 20,\n  offset: 0,\n  issuer: \"GitHub\",\n  username: \"qa@example.com\",\n});\n```\n\n### `createTotpDevice(params)`\n\nCreate a saved TOTP device from a Base32 shared secret using default settings: 6 digits, 30 second period, and SHA1.\n\n```js\nconst device = await mailisk.createTotpDevice({\n  name: \"GitHub staging\",\n  shared_secret: \"JBSWY3DPEHPK3PXP\",\n  expires_at: \"2026-06-01T12:00:00.000Z\",\n});\n```\n\n### `createCustomTotpDevice(params)`\n\nCreate a saved TOTP device with custom settings.\n\n```js\nconst device = await mailisk.createCustomTotpDevice({\n  name: \"GitHub staging\",\n  secret: \"JBSWY3DPEHPK3PXP\",\n  username: \"qa@example.com\",\n  issuer: \"GitHub\",\n  digits: 6,\n  period: 30,\n  algorithm: \"SHA1\",\n});\n```\n\n### `createTotpDeviceFromBase32SecretKey(params)`\n\nCreate a saved TOTP device from a Base32 secret key.\n\n```js\nconst device = await mailisk.createTotpDeviceFromBase32SecretKey({\n  base32_secret_key: \"JBSWY3DPEHPK3PXP\",\n  username: \"qa@example.com\",\n  issuer: \"GitHub\",\n});\n```\n\n### `createTotpDeviceFromOtpAuthUrl(params)`\n\nCreate a saved TOTP device from an `otpauth://totp/...` URL.\n\n```js\nconst device = await mailisk.createTotpDeviceFromOtpAuthUrl({\n  otp_auth_url: \"otpauth://totp/GitHub:qa@example.com?secret=JBSWY3DPEHPK3PXP&issuer=GitHub\",\n});\n```\n\n### `getTotpOtpBySharedSecret(sharedSecret, params?)`\n\nGenerate a TOTP code from a shared secret without saving a device.\nPass `min_seconds_until_expire` to wait for the next TOTP period when the current code has fewer seconds left.\n\n```js\nconst otp = await mailisk.getTotpOtpBySharedSecret(\"JBSWY3DPEHPK3PXP\", {\n  min_seconds_until_expire: 10,\n});\n\nconsole.log(otp.code);\nconsole.log(otp.expires);\n```\n\n### `getTotpOtpByDeviceId(deviceId, params?)`\n\nGenerate a TOTP code for a saved device.\nPass `min_seconds_until_expire` to wait for the next TOTP period when the current code has fewer seconds left.\n\n```js\nconst otp = await mailisk.getTotpOtpByDeviceId(device.id, {\n  min_seconds_until_expire: 10,\n});\n```\n\n### `deleteTotpDevice(deviceId)`\n\nDelete a saved TOTP device.\n\n```js\nawait mailisk.deleteTotpDevice(device.id);\n```\n","readmeFilename":"README.md"}