{"_id":"email-setup","_rev":"207-1bf0ee961edc571bb5721a2b2bc2f1bc","name":"email-setup","dist-tags":{"beta":"1.1.0-beta.1","alpha":"1.1.1-alpha.1","latest":"1.1.2"},"versions":{"1.0.0":{"name":"email-setup","version":"1.0.0","author":{"url":"https://mixmax.com","name":"Trey Tacon","email":"trey@mixmax.com"},"license":"MIT","_id":"email-setup@1.0.0","maintainers":[{"name":"ttacon","email":"ttacon@gmail.com"}],"homepage":"https://github.com/mixmaxhq/email-setup#readme","bugs":{"url":"https://github.com/mixmaxhq/email-setup/issues"},"ava":{"files":["spec/**/*Spec.js"],"require":["babel-register"],"timeout":"60s"},"nyc":{"exclude":["index.js","spec","dist"]},"dist":{"shasum":"508b3733dbdb530cc3be1a4685924131cad690c0","tarball":"https://registry.npmjs.org/email-setup/-/email-setup-1.0.0.tgz","integrity":"sha512-uhJBBsi21XM+UxdSUlFnu3sFlNBbmoT2mBlVIXnzSqyh0qAVE192GqD4rsBHEdiixy7PTmpKeIYF6dR3Nzooiw==","signatures":[{"sig":"MEYCIQDhT4trcs+2j9cpSM4AHGpo338j1RKqunzcnSjbKATeNgIhAJYOsRup2gqY9TsEIKku3W5JdVC0IFfEgtxRcNERsNvq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","engines":{"node":">= 6.9.1"},"gitHead":"a6c728d031973187facb88ef1c034be2316b2cd0","scripts":{"test":"ava","report":"nyc ava","babelBuild":"babel src -d dist/node","prepublish":"yarn run babelBuild"},"_npmUser":{"name":"ttacon","email":"ttacon@gmail.com"},"repository":{"url":"git+https://github.com/mixmaxhq/email-setup.git","type":"git"},"_npmVersion":"5.3.0","description":"Collection of utilities for checking email configuration settings.","directories":{},"_nodeVersion":"8.2.1","dependencies":{"global":"^4.3.2","semver":"^5.4.1","spf-parse":"^1.0.4","underscore":"^1.8.3","dmarc-parse":"^1.0.2","promise-callbacks":"^3.0.0"},"devDependencies":{"ava":"^0.22.0","nyc":"^11.1.0","sinon":"^3.2.1","rewire":"^2.5.2","ava-spec":"^1.1.0","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-plugin-transform-async-to-generator":"^6.24.1"},"_npmOperationalInternal":{"tmp":"tmp/email-setup-1.0.0.tgz_1503323863472_0.37908916431479156","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"email-setup","version":"1.0.1","author":{"url":"https://mixmax.com","name":"Trey Tacon","email":"trey@mixmax.com"},"license":"MIT","_id":"email-setup@1.0.1","maintainers":[{"name":"logandavis","email":"logankeahidavis@gmail.com"},{"name":"ghmeier","email":"meier.garret@gmail.com"},{"name":"skeggse","email":"skeggse@gmail.com"},{"name":"olofster","email":"olofmathe@hotmail.com"},{"name":"jenskene","email":"jen+npm@mixmax.com"},{"name":"chanpory","email":"junk@rith.com"},{"name":"pricj004","email":"pricj004@gmail.com"},{"name":"bradvogel","email":"bradavogel@gmail.com"},{"name":"mixmax-codeship","email":"admin+mixmax-codeship-npm@mixmax.com"},{"name":"chuy-mixmax","email":"chuy@mixmax.com"},{"name":"scb","email":"me@spencer.sx"},{"name":"ttacon","email":"ttacon@gmail.com"},{"name":"wearhere","email":"jeffreywear@gmail.com"}],"homepage":"https://github.com/mixmaxhq/email-setup#readme","bugs":{"url":"https://github.com/mixmaxhq/email-setup/issues"},"ava":{"files":["spec/**/*Spec.js"],"require":["babel-register"],"timeout":"60s"},"nyc":{"exclude":["index.js","spec","dist"]},"dist":{"shasum":"624ccce72febf28e0bb006e84604b826b9413cb3","tarball":"https://registry.npmjs.org/email-setup/-/email-setup-1.0.1.tgz","integrity":"sha512-ko6ItE+Na516WmiDTR0MLktMv48FKzhs2lOZxbHNakmvc6rdBPrpgBdxJt4kZ/gmUaUFXTAV4lEtai4d/9jAow==","signatures":[{"sig":"MEYCIQDN9DFYcI5lzvXG4lscfnTPLGjTNHFKlBZlRsn9k/YtGgIhALgYcHEuc6TcwTUfRFvS7wT1AKi9lPm87dG5y2KbYzbF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"624ccce72febf28e0bb006e84604b826b9413cb3","engines":{"node":">= 6.9.1"},"gitHead":"b71ee713e59c7b016893b7c33334fa55f4308827","scripts":{"test":"ava","report":"nyc ava","babelBuild":"babel src -d dist/node","prepublish":"yarn run babelBuild"},"_npmUser":{"name":"ttacon","email":"ttacon@gmail.com"},"repository":{"url":"git+https://github.com/mixmaxhq/email-setup.git","type":"git"},"_npmVersion":"2.15.5","description":"Collection of utilities for checking email configuration settings.","directories":{},"_nodeVersion":"6.9.1","dependencies":{"global":"^4.3.2","semver":"^5.4.1","spf-parse":"^1.0.4","underscore":"^1.8.3","dmarc-parse":"^1.0.2","promise-callbacks":"^3.0.0"},"devDependencies":{"ava":"^0.22.0","nyc":"^11.1.0","sinon":"^3.2.1","rewire":"^2.5.2","ava-spec":"^1.1.0","babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-plugin-transform-async-to-generator":"^6.24.1"},"_npmOperationalInternal":{"tmp":"tmp/email-setup-1.0.1.tgz_1503327589018_0.9658609845209867","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"email-setup","version":"1.0.2","author":{"url":"https://mixmax.com","name":"Trey Tacon","email":"trey@mixmax.com"},"license":"MIT","_id":"email-setup@1.0.2","maintainers":[{"name":"logandavis","email":"logankeahidavis@gmail.com"},{"name":"ghmeier","email":"meier.garret@gmail.com"},{"name":"skeggse","email":"skeggse@gmail.com"},{"name":"olofster","email":"olofmathe@hotmail.com"},{"name":"jenskene","email":"jen+npm@mixmax.com"},{"name":"chanpory","email":"junk@rith.com"},{"name":"pricj004","email":"pricj004@gmail.com"},{"name":"bradvogel","email":"bradavogel@gmail.com"},{"name":"mixmax-codeship","email":"admin+mixmax-codeship-npm@mixmax.com"},{"name":"chuy-mixmax","email":"chuy@mixmax.com"},{"name":"scb","email":"me@spencer.sx"},{"name":"ttacon","email":"ttacon@gmail.com"},{"name":"wearhere","email":"jeffreywear@gmail.com"}],"homepage":"https://github.com/mixmaxhq/email-setup#readme","bugs":{"url":"https://github.com/mixmaxhq/email-setup/issues"},"ava":{"files":["spec/**/*Spec.js"],"require":["babel-register"],"timeout":"60s"},"nyc":{"exclude":["index.js","spec","dist"]},"dist":{"shasum":"61c8bbb1c569ce1536785cd9e5a93b559915ba2d","tarball":"https://registry.npmjs.org/email-setup/-/email-setup-1.0.2.tgz","integrity":"sha512-WxubEvFf7f6hJ0Iw9pDc+tFM8gkJtj4U2ltnbwf09NxTmqDgNjgNMTNRVRHDEj5l7P/Qk5rUN1SBUNUAkrof0g==","signatures":[{"sig":"MEQCIGbtyBLGVXDA7imojhcDOtsj874Qr6z+L+FJXMKYBeTWAiBsYso7K8VHmfPd76DYJ+FKPkv3bJ2bD6YF6tdkiLSeSQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","files":["dist","index.js","src"],"engines":{"node":">= 6.9.1"},"gitHead":"95d532e2e4ce9bd1d9943cb1d6126de89fdba3cb","scripts":{"lint":"eslint .","test":"ava","report":"nyc ava","babelBuild":"babel src -d dist/node","prepublish":"yarn run babelBuild"},"_npmUser":{"name":"ttacon","email":"ttacon@gmail.com"},"repository":{"url":"git+https://github.com/mixmaxhq/email-setup.git","type":"git"},"_npmVersion":"5.3.0","description":"Collection of utilities for checking email configuration settings.","directories":{},"_nodeVersion":"8.2.1","dependencies":{"semver":"^5.4.1","spf-parse":"^1.0.4","underscore":"^1.8.3","dmarc-parse":"^1.0.2","promise-callbacks":"^3.0.0"},"devDependencies":{"ava":"^0.22.0","nyc":"^11.1.0","sinon":"^3.2.1","eslint":">=3","rewire":"^2.5.2","ava-spec":"^1.1.0","babel-cli":"^6.26.0","babel-core":"^6.26.0","eslint-config-mixmax":"^0.6.0","babel-plugin-transform-async-to-generator":"^6.24.1"},"_npmOperationalInternal":{"tmp":"tmp/email-setup-1.0.2.tgz_1503349893298_0.5967057456728071","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"email-setup","version":"1.0.3","author":{"url":"https://mixmax.com","name":"Trey Tacon","email":"trey@mixmax.com"},"license":"MIT","_id":"email-setup@1.0.3","maintainers":[{"name":"andytran","email":"hello@andytran.me"},{"name":"bradvogel","email":"bradavogel@gmail.com"},{"name":"chanpory","email":"junk@rith.com"},{"name":"chuy-mixmax","email":"chuy@mixmax.com"},{"name":"enricribas","email":"ribas.enric@gmail.com"},{"name":"gaastonsr","email":"gaastonsr@gmail.com"},{"name":"ghmeier","email":"meier.garret@gmail.com"},{"name":"jcperez91","email":"j.perez@outlook.com"},{"name":"jpdstan","email":"stan@mixmax.com"},{"name":"logandavis","email":"logankeahidavis@gmail.com"},{"name":"mixmax-codeship","email":"admin+mixmax-codeship-npm@mixmax.com"},{"name":"mixmaxryan","email":"ryan@mixmax.com"},{"name":"olofster","email":"olofmathe@hotmail.com"},{"name":"pricj004","email":"pricj004@gmail.com"},{"name":"ryanbrunner","email":"ryan@ryanbrunner.ca"},{"name":"sbalaji1996","email":"srinand@mixmax.com"},{"name":"shils","email":"shil.sinha@gmail.com"},{"name":"skeggse","email":"skeggse@gmail.com"},{"name":"tleavitt","email":"tucker@mixmax.com"},{"name":"ttacon","email":"ttacon@gmail.com"},{"name":"wearhere","email":"jeffreywear@gmail.com"}],"homepage":"https://github.com/mixmaxhq/email-setup#readme","bugs":{"url":"https://github.com/mixmaxhq/email-setup/issues"},"ava":{"files":["spec/**/*Spec.js"],"require":["babel-register"],"timeout":"60s"},"nyc":{"exclude":["index.js","spec","dist"]},"dist":{"shasum":"8c18b75d4bfdd419aaf789699ab878e864597577","tarball":"https://registry.npmjs.org/email-setup/-/email-setup-1.0.3.tgz","fileCount":8,"integrity":"sha512-iJ+FKfbXpDdvKhtrQrvfngnOL08u95SwvnU0ILBNjrUaKLfshT+K9RSQfo/jfrq0cV6RwTZECAv+7d8FHKrx3g==","signatures":[{"sig":"MEUCIQDsWW3h5scdcUbNKSG4cbLjIJkvz5pLCUyjLYdrU2SZ7gIgRNyr9JxGEDxaGXiATchGE513O8+aIcKQdORkWS/B8ds=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2pgPCRA9TVsSAnZWagAAQXIP/2lOZHUXJaWsP4o4Y7os\nBNct9rZ8a1ipVOW8Pd73EZCaFQS376Fe7z8PthPuQUHnaN5dI5SD2u2UK37n\nR2BojEJfyhNcQneVwVX3IuPxIMOh7zIMCt2B8EfpK3zFCULSogrIbugty4xb\nq9HH2y02cvcvrRRBwROWD+yaZTdKiIRiKBarh+nxkxeGJRdPGgW4tpwQy1e6\n8vl7CjOyhsJRBrJOLTgM6kg+9QCBMWFwhDDFzR77hjtHvwmRhTICo+LMg01v\nYRprYqn+XEfxz0z9Ng3slAGFEPeNQTA31Qc4F7uVBhHT3yHuRXwOQeOK0eXm\nPxpo5UvDkLm7y7FP5FkW+PZD2S46prywdWs/Mg6U5koJjCe6qSAWSrznemUJ\n2tobonu3phbcKpso7ssaO8fQ8BXtJE2Nhh5C0Y18BRB+Wo8NjgKlTfCGsuk7\n2jrCr7MFYzhQSnwYKXZOB+vYmPb6mTkMvlcEZT+c5J+aGH6kUN8FYg3BAtEj\n024xO7J5HKKus2yyrlZdeG17NY1DvWXKKHs9VXsFESNxJM6J+KA9JVh2oZ19\ngHc9+pVyG2G8s1l695PoLflE7FnzUdoh90QBJeHA6DtLqPxri8TkQt3Aj3lp\n+3xDpfinjJ8WmJh3MjWGTnCtr7VQlDOSZBtoBv66zTuNpIdwCCeiFYsWehX5\npM/g\r\n=TI2+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">= 6.9.1"},"gitHead":"0fe2117838f879c94e9f115418e7657eaadd4ecb","scripts":{"lint":"eslint .","test":"ava","report":"nyc ava","babelBuild":"babel src -d dist/node","prepublish":"npm run babelBuild"},"_npmUser":{"name":"ttacon","email":"ttacon@gmail.com"},"repository":{"url":"git+https://github.com/mixmaxhq/email-setup.git","type":"git"},"_npmVersion":"6.4.1","description":"Collection of utilities for checking email configuration settings.","directories":{},"_nodeVersion":"8.11.4","dependencies":{"semver":"^5.4.1","spf-parse":"^1.0.4","underscore":"^1.8.3","dmarc-parse":"^1.0.2","promise-callbacks":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^0.22.0","nyc":"^11.1.0","sinon":"^3.2.1","eslint":">=3","rewire":"^2.5.2","ava-spec":"^1.1.0","babel-cli":"^6.26.0","babel-core":"^6.26.0","eslint-config-mixmax":"^0.6.0","babel-plugin-transform-async-to-generator":"^6.24.1"},"_npmOperationalInternal":{"tmp":"tmp/email-setup_1.0.3_1553955070144_0.9295821799517003","host":"s3://npm-registry-packages"}},"1.1.0-beta.1":{"name":"email-setup","version":"1.1.0-beta.1","author":{"url":"https://mixmax.com","name":"Trey Tacon","email":"trey@mixmax.com"},"license":"MIT","_id":"email-setup@1.1.0-beta.1","maintainers":[{"name":"corridonimatias","email":"npm@matias.corridoni.me"},{"name":"mikusd","email":"mikusdominikcz@gmail.com"},{"name":"mixmax_it","email":"it-ops@mixmax.com"},{"name":"andra.lazariuc","email":"andra.lazariuc@yahoo.com"},{"name":"anda.nenu","email":"anda.nenu@gmail.com"},{"name":"danaya","email":"danaya@gmail.com"},{"name":"suretrust","email":"saholadele@gmail.com"},{"name":"jfbarranco","email":"jfbarranco@gmail.com"},{"name":"adborroto","email":"adborroto90@gmail.com"},{"name":"aaavakian","email":"aaavakn@gmail.com"},{"name":"kovalskyi","email":"mykhailo.kovalskyi@gmail.com"},{"name":"dnechay","email":"lelekkofe@gmail.com"},{"name":"raphaelbs","email":"raphael.b.souza@hotmail.com"},{"name":"fzaffarana","email":"fzaffarana@gmail.com"},{"name":"guilhermemj","email":"guilhermem.j@hotmail.com"},{"name":"eduard.borges","email":"eduardborges@me.com"},{"name":"mixmax-codeship","email":"admin+mixmax-codeship-npm@mixmax.com"},{"name":"bradvogel","email":"bradavogel@gmail.com"},{"name":"jessem3","email":"jesse@mixmax.com"},{"name":"jsalvata","email":"jordi@mixmax.com"},{"name":"mdumrauf","email":"matias.dumrauf@gmail.com"},{"name":"leanmarty","email":"leanmarty@gmail.com"},{"name":"gabriel-mixmax","email":"gabriel@mixmax.com"},{"name":"ttacon","email":"ttacon@gmail.com"}],"homepage":"https://github.com/mixmaxhq/email-setup#readme","bugs":{"url":"https://github.com/mixmaxhq/email-setup/issues"},"dist":{"shasum":"54870b63e68be9217de692fb3467a2ea6a0de64e","tarball":"https://registry.npmjs.org/email-setup/-/email-setup-1.1.0-beta.1.tgz","fileCount":8,"integrity":"sha512-70ySA6tZoauD8SN1DuswuaAZPqkmX2bHldK4H3qVFE/ySa2qqp3qrkB2aeGvYCYVF2UarPx39NmTPTKBj34WTw==","signatures":[{"sig":"MEUCIDi3Zo1U4by6w7DHq0wVYoRVhkOxFZBX4Ln2g9wVJMl2AiEAwwvqRbwfQPYCxO7ZO9uaxwVSeir7qOke6LZqJwkAWlw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi0WqyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrBfg/5AO/i95njM2ctZQQ5pgYziyn0Ho5fO2c3iPapEmDECxq3k99x\r\nDWb6FuT/T3dnJmSxHrncPggma+LrGWJW/NvPyUC09EPJP3q6kGZz1CzobL46\r\nMufnCe9WRQ1Jc758bca6aFc841Me/Kyx7zTdtLEvhmlPK6/QOYgXRrTqaKSD\r\nvmmiYOTNF/KaLv5kVZVmiHWffPV9muPfqEDPee7HteYWBrJu6tl8ZwQMFFBr\r\n2JfCuCXf0OLcb7opa3zNUIbIHyf7L3yFFe5jF7yboiPxcH3GoKi47+vWr1sA\r\nJhsC0fj877/5dLC1ZN58alMFCnMrhoaNrCznQMaMGb9DbcBXGYdwFF+QBr4D\r\n3VtSSyK4zviP19RuxkcnuD5Sa5USFEoW5LwxSVeb6xNjAmlT2g1WLj/Y/oAb\r\ncTXg9bf9c9igYKsUFjVhTt8g6Wqf6TtO/EZ/4L8nMs59CzkfpEYSGe9gMZ6d\r\nEwogf9kfIprBWRCansqsrd+WlCDYC5o267XB3ZLswi6t8H9/cjkWBHHjugUO\r\neRRrciuitwoJBPTNvzqN6dl5LW/GO+ITK+ctULPrPYNSuLVRCiH2ASw81M2p\r\nRdNymUD0JhpHXNZn1oVH2Mq4flmjQoQ/dWRP2B5TN+7TJWdRzpSNUtzfuXSF\r\nzKFnnrapiXdGE1BEbEmtnz/V9KH9ordujyI=\r\n=O/gH\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"coverageReporters":["text","cobertura"],"collectCoverageFrom":["src/**/*.{js,jsx}","!**/node_modules/**","!**/vendor/**"]},"main":"index.js","engines":{"node":">= 6.9.1"},"gitHead":"e2a35308b1c52909f764afc07930cf7fcf602099","release":{"extends":"@mixmaxhq/semantic-release-config"},"scripts":{"ci":"npm run lint && npm test -- --coverage","lint":"eslint .","test":"jest","babelBuild":"babel src -d dist/node","prepublishOnly":"npm run babelBuild","semantic-release":"SEMANTIC_COMMITLINT_SKIP=1dedf6783b294d7e935971c56f1648274ea39abb semantic-release"},"_npmUser":{"name":"mixmax-codeship","email":"admin+mixmax-codeship-npm@mixmax.com"},"repository":{"url":"git+https://github.com/mixmaxhq/email-setup.git","type":"git"},"_npmVersion":"7.24.2","description":"Collection of utilities for checking email configuration settings.","directories":{},"_nodeVersion":"12.22.12","dependencies":{"semver":"^5.4.1","spf-parse":"^1.0.4","spf-master":"^2.1.2","underscore":"^1.8.3","dmarc-parse":"^1.0.2","promise-callbacks":"^3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.7.0","eslint":"^7.19.0","prettier":"^2.0.5","babel-cli":"^6.26.0","babel-core":"^6.26.0","jest-junit":"^8.0.0","semantic-release":"^17.2.3","eslint-plugin-jest":"^24.7.0","@mixmaxhq/semantic-release-config":"^2.0.0","babel-plugin-transform-async-to-generator":"^6.24.1"},"_npmOperationalInternal":{"tmp":"tmp/email-setup_1.1.0-beta.1_1657891506727_0.583222433189108","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"email-setup","version":"1.1.0","author":{"url":"https://mixmax.com","name":"Trey Tacon","email":"trey@mixmax.com"},"license":"MIT","_id":"email-setup@1.1.0","maintainers":[{"name":"corridonimatias","email":"npm@matias.corridoni.me"},{"name":"mikusd","email":"mikusdominikcz@gmail.com"},{"name":"mixmax_it","email":"it-ops@mixmax.com"},{"name":"andra.lazariuc","email":"andra.lazariuc@yahoo.com"},{"name":"anda.nenu","email":"anda.nenu@gmail.com"},{"name":"danaya","email":"danaya@gmail.com"},{"name":"suretrust","email":"saholadele@gmail.com"},{"name":"jfbarranco","email":"jfbarranco@gmail.com"},{"name":"adborroto","email":"adborroto90@gmail.com"},{"name":"aaavakian","email":"aaavakn@gmail.com"},{"name":"kovalskyi","email":"mykhailo.kovalskyi@gmail.com"},{"name":"dnechay","email":"lelekkofe@gmail.com"},{"name":"raphaelbs","email":"raphael.b.souza@hotmail.com"},{"name":"fzaffarana","email":"fzaffarana@gmail.com"},{"name":"guilhermemj","email":"guilhermem.j@hotmail.com"},{"name":"eduard.borges","email":"eduardborges@me.com"},{"name":"mixmax-codeship","email":"admin+mixmax-codeship-npm@mixmax.com"},{"name":"bradvogel","email":"bradavogel@gmail.com"},{"name":"jessem3","email":"jesse@mixmax.com"},{"name":"jsalvata","email":"jordi@mixmax.com"},{"name":"mdumrauf","email":"matias.dumrauf@gmail.com"},{"name":"leanmarty","email":"leanmarty@gmail.com"},{"name":"gabriel-mixmax","email":"gabriel@mixmax.com"},{"name":"ttacon","email":"ttacon@gmail.com"}],"homepage":"https://github.com/mixmaxhq/email-setup#readme","bugs":{"url":"https://github.com/mixmaxhq/email-setup/issues"},"dist":{"shasum":"f9ec6eed1d2d5380c967d356e83d4cb7768310ff","tarball":"https://registry.npmjs.org/email-setup/-/email-setup-1.1.0.tgz","fileCount":8,"integrity":"sha512-QwbtHDrOZvJN2YI8umxhMhUZWgYFP40Fa5XCkuvjdPHYE6W4z3hg+BXTNhT3mftCgUSKQsbTX8PwJpyqx05LXA==","signatures":[{"sig":"MEUCIC5rcOKW2ICfVxvVnbIBelE1Cb3SPsHjYwcMyr8HZc0bAiEAmMaQNmYosRnJJKUuOP0VPAsNdeJ3hv2uSS2adBuHbyk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35352,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1mA2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJsw//SmwPo1LufVAII73719sHf2lQp7c7tidFn7LpzLxnQonBhAKG\r\nxMLRq4RtAj9S5PvVqMM9w8Au+B0xGi8SoQeAt1xS5xgOkoeyoelp+PH1+czu\r\nQRDQieWQEuksAJ/S0mEX2JHY3OXFyu91NacJpxBKjmeCH08WTz4nHMmAWP6i\r\n3uIcTLpXIp6wkNvIL9o7Im+81fgMcwlblg+d29XjHD0Ra2tYTcITjmE2g2Fq\r\nBjcp9y1B5nMbM2I4J+gH3XTLE8DNgUeU4t5IIITyZXY+MtD1RAPnMRlCjWzQ\r\nXv8OmAkt425acbrfQbwKkZzGk3VonHz5hFJD962FU2/edtL5DAVhOkB7hd0e\r\nNsCUHgD8qQeS/X1tY5MBG+VnsxqUXqDQ6oPd6xnO8GAey+d7IdYZIIQCQMiG\r\nZxjBZFSyaG2tcWP81TDMVmMOGEWxpV/Iv/iqyVOUgxOA1BIR6EUCR0jeZvFM\r\nEkiible7PclADrXgzDCziR9/SJtMdiOzFFkhSUp1oJp1+n0BotEa/V7aCRvH\r\nMFmbTNeLZoPR7sJuS6wgFHH595+caDJJY+f515cBe2gMWNW4lb+yYawKMeZ/\r\nKSQ85eVEWlZtFx/gc9vA4IRZGzg98kHwj+lRYFZmM7s7xWHcT6h0iajnJpj/\r\nWhC/l1jLDDvAYpaUUtaTie3OrNO/mm2Xtjc=\r\n=w0+9\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"coverageReporters":["text","cobertura"],"collectCoverageFrom":["src/**/*.{js,jsx}","!**/node_modules/**","!**/vendor/**"]},"main":"index.js","engines":{"node":">= 6.9.1"},"gitHead":"434cdea6dcf600e6fe946df6ce4ce257a2c17863","release":{"extends":"@mixmaxhq/semantic-release-config"},"scripts":{"ci":"npm run lint && npm test -- --coverage","lint":"eslint .","test":"jest","babelBuild":"babel src -d dist/node","prepublishOnly":"npm run babelBuild","semantic-release":"SEMANTIC_COMMITLINT_SKIP=1dedf6783b294d7e935971c56f1648274ea39abb semantic-release"},"_npmUser":{"name":"mixmax-codeship","email":"admin+mixmax-codeship-npm@mixmax.com"},"repository":{"url":"git+https://github.com/mixmaxhq/email-setup.git","type":"git"},"_npmVersion":"7.24.2","description":"Collection of utilities for checking email configuration settings.","directories":{},"_nodeVersion":"12.22.12","dependencies":{"semver":"^5.4.1","spf-parse":"^1.0.4","spf-master":"^2.1.2","underscore":"^1.8.3","dmarc-parse":"^1.0.2","promise-callbacks":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.7.0","eslint":"^7.19.0","prettier":"^2.0.5","babel-cli":"^6.26.0","babel-core":"^6.26.0","jest-junit":"^8.0.0","semantic-release":"^17.2.3","eslint-plugin-jest":"^24.7.0","@mixmaxhq/semantic-release-config":"^2.0.0","babel-plugin-transform-async-to-generator":"^6.24.1"},"_npmOperationalInternal":{"tmp":"tmp/email-setup_1.1.0_1658216502347_0.9030594650626613","host":"s3://npm-registry-packages"}},"1.1.1-alpha.1":{"name":"email-setup","version":"1.1.1-alpha.1","author":{"url":"https://mixmax.com","name":"Trey Tacon","email":"trey@mixmax.com"},"license":"MIT","_id":"email-setup@1.1.1-alpha.1","maintainers":[{"name":"corridonimatias","email":"npm@matias.corridoni.me"},{"name":"mikusd","email":"mikusdominikcz@gmail.com"},{"name":"mixmax_it","email":"it-ops@mixmax.com"},{"name":"andra.lazariuc","email":"andra.lazariuc@yahoo.com"},{"name":"anda.nenu","email":"anda.nenu@gmail.com"},{"name":"danaya","email":"danaya@gmail.com"},{"name":"suretrust","email":"saholadele@gmail.com"},{"name":"jfbarranco","email":"jfbarranco@gmail.com"},{"name":"adborroto","email":"adborroto90@gmail.com"},{"name":"aaavakian","email":"aaavakn@gmail.com"},{"name":"kovalskyi","email":"mykhailo.kovalskyi@gmail.com"},{"name":"dnechay","email":"lelekkofe@gmail.com"},{"name":"raphaelbs","email":"raphael.b.souza@hotmail.com"},{"name":"fzaffarana","email":"fzaffarana@gmail.com"},{"name":"guilhermemj","email":"guilhermem.j@hotmail.com"},{"name":"eduard.borges","email":"eduardborges@me.com"},{"name":"mixmax-codeship","email":"admin+mixmax-codeship-npm@mixmax.com"},{"name":"bradvogel","email":"bradavogel@gmail.com"},{"name":"jessem3","email":"jesse@mixmax.com"},{"name":"jsalvata","email":"jordi@mixmax.com"},{"name":"mdumrauf","email":"matias.dumrauf@gmail.com"},{"name":"leanmarty","email":"leanmarty@gmail.com"},{"name":"gabriel-mixmax","email":"gabriel@mixmax.com"},{"name":"ttacon","email":"ttacon@gmail.com"}],"homepage":"https://github.com/mixmaxhq/email-setup#readme","bugs":{"url":"https://github.com/mixmaxhq/email-setup/issues"},"dist":{"shasum":"837acc299c5a91168ef26ed75e8a4a68380dc3aa","tarball":"https://registry.npmjs.org/email-setup/-/email-setup-1.1.1-alpha.1.tgz","fileCount":8,"integrity":"sha512-SKI0osI/G+fI8IPutNIgjiljlPlIcnbLLAqVXzOezoz4RYpGlfdlxKTJfyNyeYKrti2gA8K7b+CU3IUZwDaCgQ==","signatures":[{"sig":"MEQCIBAplrVsnakLddEdb4tDBevJ0pgQtnHQswjorthME1PFAiBTyJ0HzXZnXUTwHxpEhmhh3TctTlAKByyPTUAGVBePFw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36314,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1oN9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqdUg//VtRLLZNm88e1ahN8goQ7v66xNl/CJyEQ1gnLBbgZNRPuv8iQ\r\nLfFMob9FPPmQ874V4iXpaFCaWNor8jonYKvsK6nrVtzTkjj/7J11dwXXiA4L\r\n5Lrzyl1iyyUf46EwxG0SjP7jzHdf315HhKYpFlPKTWr45E41CsbhF+xfaOgH\r\nJnlqj7zQV905NhHLZVB4961NokXKiqoGffVreY4PA+zpB7TJf1aQnq2y3b5l\r\nq+bRRC4yG0QSS/btUZQgXwzCnDlmiCy4UCoPwGzakSyZEnjnTBMsaO74Z9He\r\nRztzxpoNJhsrC+Nft0IjPVg2Z5/VFLezW/oQCrhJqk0d58MK70xEsXtL2yfX\r\nuED0zppEwH6wAvOk46ysJH7oyfZ4RhwCV4INNj9KdU0Oft95bwqcEmmXlwPj\r\nHLmyYOvGD6DHoecaDzDJpvPaPP6wzCrhhr/NgHPW1I9a3Z+hL5r5VnJ/G0s3\r\n+EPA2PKx5IkqHeazJYltDi5ufpqKEE3LvmDSlrp0LH1jcWeQxzptf26+SQpM\r\neVeXj4qSBRuirFI978ltifaEBSkaeWIZiP2RIMNKmgvd/R9SUFCSDjnXBGKu\r\nTZEVxyt51OABWTklWwlwylblv5SIPxmvpSCrhG2/gymR/tRbaMjko2DPm77I\r\nBPVcXA4JB+2rMi2xpmgb1Va2KL2H1eZwr6o=\r\n=6x8M\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"reporters":["default","jest-junit"],"coverageReporters":["text","cobertura"],"collectCoverageFrom":["src/**/*.{js,jsx}","!**/node_modules/**","!**/vendor/**"]},"main":"index.js","engines":{"node":">= 6.9.1"},"gitHead":"356fd384c6c8259bb08a08c6a48677dbd6a61fde","release":{"extends":"@mixmaxhq/semantic-release-config"},"scripts":{"ci":"npm run lint && npm test -- --coverage","lint":"eslint .","test":"jest","babelBuild":"babel src -d dist/node","prepublishOnly":"npm run babelBuild","semantic-release":"SEMANTIC_COMMITLINT_SKIP=1dedf6783b294d7e935971c56f1648274ea39abb semantic-release"},"_npmUser":{"name":"mixmax-codeship","email":"admin+mixmax-codeship-npm@mixmax.com"},"repository":{"url":"git+https://github.com/mixmaxhq/email-setup.git","type":"git"},"_npmVersion":"7.24.2","description":"Collection of utilities for checking email configuration settings.","directories":{},"_nodeVersion":"12.22.12","dependencies":{"semver":"^5.4.1","spf-parse":"^1.0.4","spf-master":"^2.1.2","underscore":"^1.8.3","dmarc-parse":"^1.0.2","promise-callbacks":"^3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.7.0","eslint":"^7.19.0","prettier":"^2.0.5","babel-cli":"^6.26.0","babel-core":"^6.26.0","jest-junit":"^8.0.0","semantic-release":"^17.2.3","eslint-plugin-jest":"^24.7.0","@mixmaxhq/semantic-release-config":"^2.0.0","babel-plugin-transform-async-to-generator":"^6.24.1"},"_npmOperationalInternal":{"tmp":"tmp/email-setup_1.1.1-alpha.1_1658225532841_0.14926956797558733","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"email-setup","version":"1.1.1","author":{"url":"https://mixmax.com","name":"Trey Tacon","email":"trey@mixmax.com"},"license":"MIT","_id":"email-setup@1.1.1","maintainers":[{"name":"mikusd","email":"mikusdominikcz@gmail.com"},{"name":"mixmax-codeship","email":"admin+mixmax-codeship-npm@mixmax.com"},{"name":"jessem3","email":"jesse@mixmax.com"},{"name":"ahmed-anas","email":"syed.ahmed.anas@gmail.com"},{"name":"guilhermemj","email":"guilhermem.j@hotmail.com"},{"name":"jsalvata","email":"jordi.salvat.i.alabart@gmail.com"},{"name":"raphaelbs","email":"raphael.b.souza@hotmail.com"},{"name":"mixmax_it","email":"it-ops@mixmax.com"},{"name":"akashbhalla","email":"akashbhalla@gmail.com"},{"name":"jordins","email":"jordi.nistal@gmail.com"},{"name":"aminao","email":"amina@mixmax.com"},{"name":"misterpy","email":"misterpy@gmail.com"},{"name":"mvpia","email":"pialwlc@gmail.com"},{"name":"its-nimo","email":"nirmal@mixmax.com"},{"name":"kohlhofer_mixmax","email":"alexander.k@mixmax.com"},{"name":"jtutaj","email":"jakub@mixmax.com"},{"name":"pedro-mixmax","email":"pedro@mixmax.com"},{"name":"simalexan","email":"alexander.simovic@gmail.com"},{"name":"grahammixmax","email":"graham@mixmax.com"},{"name":"jpdjere","email":"jpdjeredjian@gmail.com"},{"name":"ttacon","email":"ttacon@gmail.com"}],"homepage":"https://github.com/mixmaxhq/email-setup#readme","bugs":{"url":"https://github.com/mixmaxhq/email-setup/issues"},"dist":{"shasum":"41c3ea826e194335bf59f44281b226c695c1034a","tarball":"https://registry.npmjs.org/email-setup/-/email-setup-1.1.1.tgz","fileCount":8,"integrity":"sha512-yVYYVMOcHyRZrt4DzQjxypTfbsAVUnryOAW01oZ1ERIHMmEduDdg60XYbtVIvyGh2uXeon8SaSPGn1UMw26kFA==","signatures":[{"sig":"MEQCIFECcuIrgbOy4v3X2fFL4TkxPCtmxgu89c3ajyX+hdGBAiBdMZL6Z3h1UJWt8fT7E6Nd5xDk6ncbfCidX/t7OG/4hg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63201},"jest":{"reporters":["default","jest-junit"],"coverageReporters":["text","cobertura"],"collectCoverageFrom":["src/**/*.{js,jsx}","!**/node_modules/**","!**/vendor/**"]},"main":"index.js","engines":{"node":">= 6.9.1"},"gitHead":"bf0455d357377f35be32584833932d947b46f5d1","release":{"extends":"@mixmaxhq/semantic-release-config"},"scripts":{"ci":"npm run lint && npm test -- --coverage","lint":"eslint .","test":"jest","babelBuild":"babel src -d dist/node","prepublishOnly":"npm run babelBuild","semantic-release":"SEMANTIC_COMMITLINT_SKIP=1dedf6783b294d7e935971c56f1648274ea39abb semantic-release"},"_npmUser":{"name":"jordins","email":"jordi.nistal@gmail.com"},"repository":{"url":"git+https://github.com/mixmaxhq/email-setup.git","type":"git"},"_npmVersion":"11.16.0","description":"Collection of utilities for checking email configuration settings.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"psl":"^1.1.25","semver":"^5.4.1","spf-parse":"^1.0.4","spf-master":"^2.1.2","underscore":"^1.8.3","dmarc-parse":"^1.0.2","promise-callbacks":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.7.0","eslint":"^7.19.0","prettier":"^2.0.5","babel-cli":"^6.26.0","babel-core":"^6.26.0","jest-junit":"^8.0.0","semantic-release":"^17.2.3","eslint-plugin-jest":"^24.7.0","@mixmaxhq/semantic-release-config":"^2.0.0","babel-plugin-transform-async-to-generator":"^6.24.1"},"_npmOperationalInternal":{"tmp":"tmp/email-setup_1.1.1_1788196766741_0.8367448587947657","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"email-setup","version":"1.1.2","author":{"url":"https://mixmax.com","name":"Trey Tacon","email":"trey@mixmax.com"},"license":"MIT","_id":"email-setup@1.1.2","maintainers":[{"name":"mikusd","email":"mikusdominikcz@gmail.com"},{"name":"mixmax-codeship","email":"admin+mixmax-codeship-npm@mixmax.com"},{"name":"jessem3","email":"jesse@mixmax.com"},{"name":"ahmed-anas","email":"syed.ahmed.anas@gmail.com"},{"name":"guilhermemj","email":"guilhermem.j@hotmail.com"},{"name":"jsalvata","email":"jordi.salvat.i.alabart@gmail.com"},{"name":"raphaelbs","email":"raphael.b.souza@hotmail.com"},{"name":"mixmax_it","email":"it-ops@mixmax.com"},{"name":"akashbhalla","email":"akashbhalla@gmail.com"},{"name":"jordins","email":"jordi.nistal@gmail.com"},{"name":"aminao","email":"amina@mixmax.com"},{"name":"misterpy","email":"misterpy@gmail.com"},{"name":"mvpia","email":"pialwlc@gmail.com"},{"name":"its-nimo","email":"nirmal@mixmax.com"},{"name":"kohlhofer_mixmax","email":"alexander.k@mixmax.com"},{"name":"jtutaj","email":"jakub@mixmax.com"},{"name":"pedro-mixmax","email":"pedro@mixmax.com"},{"name":"simalexan","email":"alexander.simovic@gmail.com"},{"name":"grahammixmax","email":"graham@mixmax.com"},{"name":"jpdjere","email":"jpdjeredjian@gmail.com"},{"name":"ttacon","email":"ttacon@gmail.com"}],"homepage":"https://github.com/mixmaxhq/email-setup#readme","bugs":{"url":"https://github.com/mixmaxhq/email-setup/issues"},"dist":{"shasum":"32a8693f2dd42082ce385b07ffed217091c90184","tarball":"https://registry.npmjs.org/email-setup/-/email-setup-1.1.2.tgz","fileCount":10,"integrity":"sha512-LDMs+hjgM06JZCsHuCGCfcgY8l1j8eFjGahWlcjF0cCY9qlCASxOtj2VzvfD++OoV2HVaJbpmzFueRLk4QcXMw==","signatures":[{"sig":"MEUCIQC6Olnn5PbxORNVDwNNCzln4u3OKlAkiYYPXc8CN1Q6tQIgXSbuXK5HeKi0VTtYlyMVLVjsJP97dDeYrkk0oq2aMyo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67509},"jest":{"reporters":["default","jest-junit"],"coverageReporters":["text","cobertura"],"collectCoverageFrom":["src/**/*.{js,jsx}","!**/node_modules/**","!**/vendor/**"]},"main":"index.js","engines":{"node":">= 6.9.1"},"gitHead":"fc42d2b987719b79b49ae93ac5cad607a800a2e1","release":{"extends":"@mixmaxhq/semantic-release-config"},"scripts":{"ci":"npm run lint && npm test -- --coverage","lint":"eslint .","test":"jest","babelBuild":"babel src -d dist/node","prepublishOnly":"npm run babelBuild","semantic-release":"SEMANTIC_COMMITLINT_SKIP=1dedf6783b294d7e935971c56f1648274ea39abb semantic-release"},"_npmUser":{"name":"jordins","email":"jordi.nistal@gmail.com"},"repository":{"url":"git+https://github.com/mixmaxhq/email-setup.git","type":"git"},"_npmVersion":"11.16.0","description":"Collection of utilities for checking email configuration settings.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"psl":"^1.1.25","semver":"^5.4.1","spf-parse":"^1.0.4","spf-master":"^2.1.2","underscore":"^1.8.3","dmarc-parse":"^1.0.2","promise-callbacks":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.7.0","eslint":"^7.19.0","prettier":"^2.0.5","babel-cli":"^6.26.0","babel-core":"^6.26.0","jest-junit":"^8.0.0","semantic-release":"^17.2.3","eslint-plugin-jest":"^24.7.0","@mixmaxhq/semantic-release-config":"^2.0.0","babel-plugin-transform-async-to-generator":"^6.24.1"},"_npmOperationalInternal":{"tmp":"tmp/email-setup_1.1.2_1788248791335_0.2922582246662264","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2017-08-21T13:57:44.560Z","modified":"2026-09-30T12:52:47.769Z","1.0.0":"2017-08-21T13:57:44.560Z","1.0.1":"2017-08-21T14:59:49.953Z","1.0.2":"2017-08-21T21:11:34.189Z","1.0.3":"2019-03-30T14:11:10.267Z","1.1.0-beta.1":"2022-07-15T13:25:06.862Z","1.1.0":"2022-07-19T07:41:42.483Z","1.1.1-alpha.1":"2022-07-19T10:12:12.982Z","1.1.1":"2026-08-31T17:19:26.900Z","1.1.2":"2026-09-01T07:46:31.464Z"},"bugs":{"url":"https://github.com/mixmaxhq/email-setup/issues"},"author":{"url":"https://mixmax.com","name":"Trey Tacon","email":"trey@mixmax.com"},"license":"MIT","homepage":"https://github.com/mixmaxhq/email-setup#readme","repository":{"url":"git+https://github.com/mixmaxhq/email-setup.git","type":"git"},"description":"Collection of utilities for checking email configuration settings.","maintainers":[{"email":"mikusdominikcz@gmail.com","name":"mikusd"},{"email":"admin+mixmax-codeship-npm@mixmax.com","name":"mixmax-codeship"},{"email":"jesse@mixmax.com","name":"jessem3"},{"email":"syed.ahmed.anas@gmail.com","name":"ahmed-anas"},{"email":"jordi.salvat.i.alabart@gmail.com","name":"jsalvata"},{"email":"raphael.b.souza@hotmail.com","name":"raphaelbs"},{"email":"it-ops@mixmax.com","name":"mixmax_it"},{"email":"akashbhalla@gmail.com","name":"akashbhalla"},{"email":"jordi.nistal@gmail.com","name":"jordins"},{"email":"amina@mixmax.com","name":"aminao"},{"email":"misterpy@gmail.com","name":"misterpy"},{"email":"pialwlc@gmail.com","name":"mvpia"},{"email":"nirmal@mixmax.com","name":"its-nimo"},{"email":"alexander.k@mixmax.com","name":"kohlhofer_mixmax"},{"email":"jakub@mixmax.com","name":"jtutaj"},{"email":"pedro@mixmax.com","name":"pedro-mixmax"},{"email":"alexander.simovic@gmail.com","name":"simalexan"},{"email":"graham@mixmax.com","name":"grahammixmax"},{"email":"jpdjeredjian@gmail.com","name":"jpdjere"},{"email":"ttacon@gmail.com","name":"ttacon"}],"readme":"# email-setup\nCollection of utilities for checking email configuration settings.\n\n## Installation\n```sh\nnpm install email-setup\n```\n\n## Usage\n\n### SPF\n\nSPF records exist as `TXT` records on a sending domain itself. `spfSetup` allows\nus to determine if a domain has a valid SPF record, and `hasSPFSender` allows us\nto detemine if a specific sender is allowed to send for the given domain. Note\nthat `hasSPFSender` currently only support top level `include` detection, it\ndoes not currently resolve the SPF record to determine inclusion at a deeper\nlevel than the top level nor does it support IP based domain resolution querying\nat the moment.\n\n#### spfSetup\n`spfSetup` will return one of `NOT_SETUP`, `INVALID` or `SETUP`.\n```js\nconst { spfSetup } = require('email-setup');\n\nlet isSetup = await spfSetup('foo.com');\n```\n\n#### hasSPFSender\n`hasSPFSender` returns either `true` or `false` depending on whether the\nsender explicitly exists at the top level of the SPF record.\n```js\nconst { hasSPFSender } = require('email-setup');\n\nlet isSetup = await hasSPFSender('foo.com', '_spf.google.com');\n```\n\n### DKIM\n\nDKIM records do not exist at any predetermined location, as such to check if\na DKIM record is setup for a given system, we need to know the selector to look\nfor the record under. Once we know that, we can determine whether a DKIM key\nhas been setup for the given domain at the given selector.\n\n#### hasDKIMRecordForSelector\n`hasDKIMRecordForSelector` will return one of `NOT_SETUP`, `INVALID` or `SETUP`.\n```js\nconst { hasDKIMRecordForSelector } = require('email-setup');\n\nlet isSetup = await hasDKIMRecordForSelector('foo.com', 'google');\n```\n\n\n### DMARC\n\nDMARC records live as `TXT` records under `_dmarc.<domain>`, alongside whatever\nelse a domain owner has published there. Only records that begin with the\n`v=DMARC1` version tag are DMARC records; anything else under `_dmarc` is\nignored.\n\nA subdomain that publishes no record of its own is governed by the policy on\nits organizational domain — its `sp` tag, defaulting to `p`. So when no record\nis found on the domain itself, `dmarcSetup` makes one further lookup on the\norganizational domain, as RFC 7489 §6.6.3 requires. It never walks further up\nthe tree than that.\n\n#### dmarcSetup\n`dmarcSetup` will return one of `NOT_SETUP`, `INVALID` or `SETUP`.\n```js\nconst { dmarcSetup } = require('email-setup');\n\nlet isSetup = await dmarcSetup('foo.com');\n```\n\n## Publishing a new version\n\n```\nGH_TOKEN=xxx npx semantic-release --no-ci\n```\n","readmeFilename":"README.md"}