{"id":16079158,"url":"https://github.com/pat/lipwig","last_synced_at":"2026-01-11T03:31:35.360Z","repository":{"id":56881351,"uuid":"74183561","full_name":"pat/lipwig","owner":"pat","description":"Write group emails in Markdown, send via Postmark or SMTP.","archived":false,"fork":false,"pushed_at":"2017-08-07T06:06:18.000Z","size":15,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-18T01:38:57.786Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pat.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-19T03:06:00.000Z","updated_at":"2022-03-30T09:59:59.000Z","dependencies_parsed_at":"2022-08-20T13:00:14.885Z","dependency_job_id":null,"html_url":"https://github.com/pat/lipwig","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pat%2Flipwig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pat%2Flipwig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pat%2Flipwig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pat%2Flipwig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pat","download_url":"https://codeload.github.com/pat/lipwig/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232951330,"owners_count":18601641,"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":[],"created_at":"2024-10-09T10:41:02.774Z","updated_at":"2025-09-17T16:33:34.135Z","avatar_url":"https://github.com/pat.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lipwig\n\nLipwig is a small tool for sending bulk emails in a slightly more friendly vibe than BCC'ing everyone.\n\n## Why?\n\nI have a habit of inviting friends to various events and shows, but I don't like putting everyone's email address in the _To_ field (it's not nice to disclose so many peoples' email addresses). I also don't like putting everyone in the _BCC_ field (it's nice to keep couples' email addresses together, and make the email feel at least a little more personal).\n\nSo, I'd been writing Ruby scripts to send neatly formatted emails, but Lipwig wraps up that logic and makes it a bit more re-usable.\n\n## Installation\n\n    $ gem install lipwig\n\nAlso, you'll need either the `postmark` gem or the `mail` gem, depending on whether you want to send via Postmark's API or by SMTP.\n\n    $ gem install postmark\n    # or\n    $ gem install mail\n\nLipwig is known to work with Postmark \u003e= 1.9 and Mail \u003e= 2.6.4.\n\n## Usage\n\nSimilar to Jekyll, Lipwig expects email files to be a mixture of YAML and Markdown. Here's an example:\n\n    from: \"Pat Allan \u003cpat@obfuscated.email.com\u003e\"\n    subject: \"Party time\"\n    recipients:\n     - \"rey@obfuscated.email.com\",\n     - - \"finn@obfuscated.email.com\"\n       - \"poe@obfuscated.email.com\"\n     - \"Kylo Ren \u003cben@obfuscated.email.com\u003e\"\n     cc: \"General Organa \u003corgana@obfuscated.email.com\"\n    ---\n    Hi everyone,\n\n    It's time for a **party**. How about next week? Shall I cook pancakes?\n\nAs you can see, the recipients value expects an array, and it can contain arrays to send a single email to more than one person. Everything that follows after the `---` is Markdown, and will be rendered as HTML in the resulting email.\n\nPlease note that the CC list accepts either a single value or an array of strings, and will apply to every email.\n\n### Sending Configuration\n\nIf you're using Postmark's API, then all you need to set is the `LIPWIG_POSTMARK_API_KEY` environment variable.\n\nFor SMTP, there's a handful of required environment variables:\n\n* `LIPWIG_SMTP_ADDRESS`\n* `LIPWIG_SMTP_PORT`\n* `LIPWIG_SMTP_USERNAME`\n* `LIPWIG_SMTP_PASSWORD`\n* `LIPWIG_SMTP_DOMAIN`\n\nIf you're using SMTP and sending many emails, it's recommended you use the persistent connection approach if your provider supports it, by setting `LIPWIG_SMTP_CONNECTION=true`.\n\n### Options\n\nYou can use `LIPWIG_FROM` for your default _From_ setting - though anything specified in your email file will override this. `LIPWIG_RECIPIENTS`, on the otherhand, will override your email file's recipients - useful for a quick test before you fill up everyone's inboxes.\n\n### Commands\n\nYou can review the HTML of the email in your browser (currently built with macOS in mind):\n\n    $ lipwig preview my-email.markdown\n\nYou can clear out the generated preview files:\n\n    $ lipwig clear\n\nAnd you can send the emails:\n\n    $ lipwig send my-email.markdown\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/pat/lipwig. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.\n\n## Licence\n\nCopyright (c) 2016, Lipwig is developed and maintained by Pat Allan, and is\nreleased under the open MIT Licence.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpat%2Flipwig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpat%2Flipwig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpat%2Flipwig/lists"}