npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mailkite-ploi

v0.1.0

Published

Wire MailKite into a Ploi-managed Laravel site in one command — set the site's mail env (SMTP relay or the native mailer) and optionally create an inbound webhook route.

Readme

Read-only mirror. This repo is a generated, release-time mirror of the MailKite monorepo (the private source of truth) — development doesn't happen here. Install from npm and open issues against the MailKite docs.

What it does

Ploi is where a lot of Laravel/PHP devs provision and manage their own VPS sites — a clean, affordable alternative to Forge. Ploi has no built-in email story, but it does expose a site's whole .env over its API. This CLI uses that to add MailKite in one command: it reads the site's .env, splices in the mail configuration, and writes it back. No dashboard clicking, no copy-paste.

Two paths, smtp is the default:

  • --mode smtp (default) — universal SMTP relay, zero code change. Points Laravel's mailer at smtp.mailkite.dev.
  • --mode api — the native mailkite/laravel mailer (MAIL_MAILER=mailkite).

Add --inbound <url> to also create a MailKite inbound webhook route and set MAILKITE_WEBHOOK_SECRET.

Use it

npx mailkite-ploi \
  --token <ploi-api-token> \
  --server <serverId> --site <siteId> \
  --mailkite-key mk_live_... \
  --from [email protected] \
  [--mode smtp|api] \
  [--inbound https://yoursite.com/api/inbound] \
  [--dry-run]
  • --token — a Ploi API token from ploi.io/profile/api-keys (or set PLOI_API_TOKEN).
  • --mailkite-key — a MailKite API key mk_live_… from the dashboard (or set MAILKITE_API_KEY).
  • --dry-run — print the .env diff (and the route that would be created) without writing anything.

Start with --dry-run to preview the change. The --from domain must be verified on your MailKite account (outbound = SPF + DKIM; inbound routing = MX) — this recipe configures the app; the DNS is set on MailKite.

--mode smtp (default)

Upserts, into the site .env:

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailkite.dev
MAIL_PORT=587
MAIL_USERNAME=apikey
MAIL_PASSWORD=mk_live_…
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME=${APP_NAME}

Every existing Mail::send() now delivers through MailKite — no code change, no package to install.

--mode api

Upserts MAIL_MAILER=mailkite, MAILKITE_API_KEY, and MAIL_FROM_*, then triggers a Ploi deploy. The native mailer needs the Laravel package installed — add this line to the site's Deploy Script (Manage Site → Deploy Script) so it runs on every deploy:

composer require mailkite/laravel

(Ploi's deploy-script content isn't editable over the API, so this one step is manual; the CLI triggers the deploy for you once the line is in place.)

Receive inbound email

With --inbound https://yoursite.com/api/inbound, the CLI creates a MailKite route (*@yourdomain.com → webhook) and writes MAILKITE_WEBHOOK_SECRET into the .env. Verify the signature in your app with the mailkite/laravel package (verifyWebhook). Full inbound guide: https://mailkite.dev/docs.

All MailKite libraries

Same contract, every language (full list: https://mailkite.dev/docs/libraries):

| Library | Repo | Distribution | | --- | --- | --- | | MailKite for Ploi (this repo) | ploi | npm | | MailKite for Laravel | laravel | Packagist | | MailKite for PHP | mailkite-php | Packagist | | MailKite for Node.js | mailkite-node | npm | | MailKite for Python | mailkite-python | PyPI | | MailKite for Ruby | mailkite-ruby | RubyGems | | MailKite for Java | mailkite-java | Maven Central | | MailKite for Go | mailkite-go | Go modules | | @mailkite/cli | mailkite-cli | npm |

Docs & links

  • 📚 Documentation: https://mailkite.dev/docs
  • 📦 This library's guide: https://mailkite.dev/docs/libraries
  • 🤖 AI agents (MCP + inbox agents): https://mailkite.dev/docs/ai-agents
  • 🌐 Website: https://mailkite.dev

MIT licensed. © MailKite.