{"id":14063302,"url":"https://github.com/karser/spamtest","last_synced_at":"2025-06-16T08:03:24.947Z","repository":{"id":148329190,"uuid":"529826695","full_name":"karser/spamtest","owner":"karser","description":"Test your Email Deliverability by schedule and receive email reports.","archived":false,"fork":false,"pushed_at":"2023-05-23T07:24:03.000Z","size":51,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-03T03:51:16.297Z","etag":null,"topics":["deliverability","deliverability-tools","email","email-deliverability","email-testing","smtp","spam-checker","spam-test"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/karser.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-28T10:15:41.000Z","updated_at":"2024-09-08T09:56:03.000Z","dependencies_parsed_at":"2024-08-13T07:14:29.965Z","dependency_job_id":null,"html_url":"https://github.com/karser/spamtest","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/karser/spamtest","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karser%2Fspamtest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karser%2Fspamtest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karser%2Fspamtest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karser%2Fspamtest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karser","download_url":"https://codeload.github.com/karser/spamtest/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karser%2Fspamtest/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260123967,"owners_count":22962197,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deliverability","deliverability-tools","email","email-deliverability","email-testing","smtp","spam-checker","spam-test"],"created_at":"2024-08-13T07:03:15.465Z","updated_at":"2025-06-16T08:03:24.900Z","avatar_url":"https://github.com/karser.png","language":"PHP","funding_links":[],"categories":["PHP"],"sub_categories":[],"readme":"# spamtest\n\n- Check your Email Deliverability (test if your emails are being delivered to Inbox or Spam folder at Gmail, Outlook and etc).\n- Check your Sender Score of your Email Server (IP reputation)\n- Supports multiple accounts\n- Run tests by schedule\n- Receive email reports\n\n### Here is how email report looks like:\n![](docs/spamtest-report.png)\n\n## Prepare files\n\n#### accounts.json\nDefine your SMTP accounts here in the following format:\n```\n[\n  {\n    \"note\": \"gsuite my email\",\n    \"dsn\": \"smtp://my@email.com:pA$$wOrD@smtp.gmail.com:587\",\n    \"fromName\": \"Sender name\",\n    \"fromEmail\": \"my@email.com\"\n  }\n]\n```\nThe password must be urlencoded (%2B instead of +, %20 instead of space and etc).\n\n#### body.html\n\nPut your email contents into this file.\n\n## Getting started with docker-compose\n\nThis setup runs a glockapps tests with email report by a cron schedule once a week.\nCreate a file called docker-compose.yml with the content below:\n```\nversion: \"3.2\"\n\nservices:\n  spamtest:\n    image: karser/spamtest:latest\n    restart: unless-stopped\n    environment:\n      GLOCKAPPS_KEY: 'XXXXXXXXX'\n      ACCOUNTS_PATH: '/accounts.json'\n      SUBJECT: 'Your test email subject'\n      BODY_PATH: '/body.html'\n      REPORT_DSN: 'smtp://my@email.com:pA$$wOrD@smtp.gmail.com:587'\n      REPORT_FROM_EMAIL: 'my@email.com'\n      REPORT_FROM_NAME: 'Spamtest'\n      RECIPIENT_EMAIL: 'your@email.com,your-second@email.com'\n      CRON_CONFIG: |\n        0 0 * * 1 /var/app/bin/console app:spamtest \u003e\u003e /var/log/cron.log 2\u003e\u00261\n        0 8 * * 1 /var/app/bin/console app:report \u003e\u003e /var/log/cron.log 2\u003e\u00261\n    volumes:\n      - ./body.html:/body.html:ro\n      - ./accounts.json:/accounts.json:ro\n    command: ['/usr/local/bin/cron-entrypoint']\n```\n\n#### Run this and get into the container:\n```\ndocker-compose up -d\ndocker exec -it spamtest_spamtest_1 sh\n```\n\n#### Verify accounts without creating a glockapps test\nFirst you want to make sure that your accounts config is correct and emailable.\n```\nbin/console app:spamtest --validate-only\n```\n\n#### Then let's run a spam test:\n```\nbin/console app:spamtest\n```\n\n#### Send email report\nAfter a while run the report script\n```\nbin/console app:report\n```\n\n## Getting started without docker\n\n#### Clone the repo and install dependencies\n```\ngit clone\ncomposer install\n```\n\n#### Verify accounts without creating a glockapps test\nFirst you want to make sure that your accounts config is correct and emailable.\n```\nbin/console app:spamtest \\\n  --verify --recipient-email=your@email.com \\\n  --accounts-path=/path/to/accounts.json \\\n  --subject='Your test email subject' \\\n  --body-path=/path/to/body.html\n```\n\n#### Run a glockapps test\n```\nbin/console app:spamtest \\\n  --glockapps-key=XXXXXXXXX\n  --accounts-path=/path/to/accounts.json \\\n  --subject='Your test email subject' \\\n  --body-path=/path/to/body.html\n```\n\n#### Send email report\n```\nbin/console app:spamtest \\\n  --glockapps-key=XXXXXXXXX\n  --accounts-path=/path/to/accounts.json \\\n  --report-dsn='smtp://my@email.com:pA$$wOrD@smtp.gmail.com:587' \\\n  --report-from-email=my@email.com \\\n  --report-from-name=Spamtest \\\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarser%2Fspamtest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarser%2Fspamtest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarser%2Fspamtest/lists"}