{ "info": { "author": "Christopher Davies", "author_email": "christopherdavies553@gmail.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "[![Netlify Status](https://api.netlify.com/api/v1/badges/9d67273a-a51d-417b-bbad-291c237e5d8a/deploy-status)](https://app.netlify.com/sites/adoring-newton-752f36/deploys)\n![MIT license](https://img.shields.io/github/license/chris104957/maildown.svg)\n[![Coverage Status](https://coveralls.io/repos/github/chris104957/maildown/badge.svg?branch=master)](https://coveralls.io/github/chris104957/maildown?branch=master)\n[![Build Status](https://travis-ci.org/chris104957/maildown.svg?branch=master)](https://travis-ci.org/chris104957/maildown)\n[![GitSpo Mentions](https://gitspo.com/badges/mentions/chris104957/maildown?style=flat-square)](https://gitspo.com/mentions/chris104957/maildown)\n\n# Maildown\n\nA super simple CLI for sending emails\n\n## Introduction\n\nMaildown is a command line interface that lets you send emails with a minimum of fuss. It currently supports the AWS SES (default)\nand Sendgrid as email backends. Support for more email providers will be added in the future\n\n### Why can't I just use `boto3`/the SendGrid API?\n\nMaildown makes it easier to add structure and style to your email content. It supports **Markdown syntax** out of the box, meaning that you can just send Markdown files as emails with no additional effort.\n\n### How much does it cost?\n\nMaildown is open source and therefore completely free. However, it relies on third party services (e.g. AWS, SendGrid) to actually send your emails - these services aren't free,\nalhough they do have free limits depending on the number of emails you need to send\n\n## Installation and usage\n\n### Pre requisites\n\nIn order to use Maildown, you first need to create an account with one of the supported backend email providers:\n\n- **[AWS](https://aws.amazon.com)**\n\n For AWS, you'll also realistically need to [take your AWS SES account out of the sandbox](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html)\n \n- **[SendGrid](https://sendgrid.com/)**\n\n\n### Install with `pip`\n\nYou can install maildown as follows:\n```bash\npip install maildown\n```\n\n### Authenticating Maildown\n\nMaildown stores your credentials locally for convenience. Before you can use Maildown's features, you should run the `maildown init` command. By default, \n`maildown` uses the AWS backend:\n\n```bash\nmaildown init access_key=AWS_ACCESS_KEY_ID secret_key=AWS_SECRET_ACCESS_KEY\n```\n\nTo use the SendGrid API, you'll need to pass the `--backend=sendgrid` option with all commands:\n```bash\nmaildown init api_key=SENDGRID_API_KEY --backend=sendgrid\n```\n\n> If you have previously used the `aws cli` and have already run `aws configure`, or if you have set the environment variables `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` in your environment, you can just use `maildown init` with no arguments to store your credentials\n\n### Verify email addresses\n\nAmazon only lets you send emails from verified email addresses - In other words, you need to verify that you own your email address before you can send mails from it. You can either do this from the [SES console](https://console.aws.amazon.com/ses/home), or by using Maildown:\n\n```bash\n$ maildown verify christopherdavies553@gmail.com\nEmail sent to christopherdavies553@gmail.com. You must click the link in this email to verify ownership before you can send any emails\n```\n\nWhen you use the above command, AWS will send an email to the email address you provided. You'll need to click on the link to verify your ownership of the account. Once you've done this, you can repeat the previous command to check the status\n\n```bash\n$ maildown verify christopherdavies553@gmail.com\nThis email address has already been verified\n```\n\nYou are now ready to start sending emails!\n\n.. note:\n This command is AWS-specific - The SendGrid backend does not implement this feature\n\n## Sending emails\n\nYou can now send emails with the following command\n```bash\nmaildown send christopherdavies553@gmail.com \"my email subject\" -f \"email.md\" recipient1@gmail.com recipient2@gmail.com\n```\nThe above arguments, in order, are:\n- The sending email address (which must have been verified)\n- The subject line of your email\n- A markdown file containing some content to send. Note that you can also use the `-c` flag to pass string content to be sent directly to the email, e.g. `-c \"hello\"`\n- A list of email addresses to send the content to\n\n## Styling emails\n\nBy default, Maildown bakes in its own default style sheet when sending emails. This looks something like this (the below email is the content of this readme):\n\n![screenshot](https://raw.githubusercontent.com/chris104957/maildown/master/Screen%20Shot%202019-05-08%20at%2023.26.45.png)\n\nYou can apply your own styles by simply using the `--theme` flag when sending mails, like this:\n\n```bash\nmaildown send christopherdavies553@gmail.com \"my email subject\" -f \"email.md\" --theme \"my-style.css\" recipient1@gmail.com recipient2@gmail.com\n```\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "Christopher Davies", "maintainer_email": "christopherdavies553@gmail.com", "name": "maildown", "package_url": "https://pypi.org/project/maildown/", "platform": "", "project_url": "https://pypi.org/project/maildown/", "project_urls": null, "release_url": "https://pypi.org/project/maildown/1.2.0/", "requires_dist": [ "cleo (>=0.7.2,<0.8.0)", "requests (>=2.21,<3.0)", "boto3 (>=1.9,<2.0)", "toml (>=0.10.0,<0.11.0)", "jinja2 (>=2.10,<3.0)", "mistune (>=0.8.4,<0.9.0)", "pygments (>=2.3,<3.0)", "premailer (>=3.4,<4.0)", "coverage (>=4.5,<5.0)", "mock (>=3.0,<4.0)", "mypy (>=0.701.0,<0.702.0)", "pytest-cov (>=2.7,<3.0)", "flake8 (>=3.7,<4.0)", "sendgrid (>=6.0,<7.0)" ], "requires_python": ">=3.6,<4.0", "summary": "A super simple CLI for sending emails", "version": "1.2.0" }, "last_serial": 5404943, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "b8394cb99cc2176729d65c2fd685b3e0", "sha256": "1fbcfa97a7af8dd252fcbee05c8bf5a55d0ad22044ca46e2c5b7ed96a4648187" }, "downloads": -1, "filename": "maildown-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b8394cb99cc2176729d65c2fd685b3e0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 14945, "upload_time": "2019-05-08T22:19:47", "url": "https://files.pythonhosted.org/packages/83/f8/cfc1681eac8f1d37099e184ed7a331eee1c8302f2fbeb1b1f66ac58158ed/maildown-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5738e600518254e0f02352ea7942c267", "sha256": "a145961abb629de6c7bfb7574394e16ed0fc2d9f4e9f252c7cef9a8e8b13cf7d" }, "downloads": -1, "filename": "maildown-1.0.0.tar.gz", "has_sig": false, "md5_digest": "5738e600518254e0f02352ea7942c267", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 5645, "upload_time": "2019-05-08T22:19:49", "url": "https://files.pythonhosted.org/packages/89/d6/2dd3eecad72965ea7b6bb5b5416d97da6f6efc70e974e4f07366ea1d448d/maildown-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "f593c826ff9a23a16a83c4e566c46046", "sha256": "a79ef06068fbef1022da9bdc764c3ab9ec251ba73293fbc8e3c3b92458eac5d8" }, "downloads": -1, "filename": "maildown-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f593c826ff9a23a16a83c4e566c46046", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 12104, "upload_time": "2019-05-11T19:42:38", "url": "https://files.pythonhosted.org/packages/02/03/df712cde5302e46732e2e87f307a56c112dd3adcbcfa51e1b14c9d579e25/maildown-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a2ebc208b06e3efff2827204b52cbb54", "sha256": "20f5261e3051092ca8d459becf70df600904f7f3cac88217a83035003e35dda6" }, "downloads": -1, "filename": "maildown-1.0.1.tar.gz", "has_sig": false, "md5_digest": "a2ebc208b06e3efff2827204b52cbb54", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 11482, "upload_time": "2019-05-11T19:42:39", "url": "https://files.pythonhosted.org/packages/d8/8d/867ab3c655c09e03229b5c383026a6e9be766b10f6fcbdb10fc72b2bd793/maildown-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "5edeefcb3d82e0e1734b1ecd0097d33a", "sha256": "2ed8303fc55d8d7a61dbc3ae5b3545a49a8214d1f7c6580c7c66d8b7f39f9afa" }, "downloads": -1, "filename": "maildown-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "5edeefcb3d82e0e1734b1ecd0097d33a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 12204, "upload_time": "2019-05-11T21:27:41", "url": "https://files.pythonhosted.org/packages/bd/7a/0b7edfc5b2caa42b1265b715c342bfeb80d3348669b3daa8a0e7a97f46d7/maildown-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1c41d674bb79c82b4b5a7f0c52287615", "sha256": "1cd614071726e41727607e1d26498f2af81f9ae2d7f2f4267ce719bc74413edc" }, "downloads": -1, "filename": "maildown-1.1.0.tar.gz", "has_sig": false, "md5_digest": "1c41d674bb79c82b4b5a7f0c52287615", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 11552, "upload_time": "2019-05-11T21:27:42", "url": "https://files.pythonhosted.org/packages/e1/74/c53ed8c226abc8c0ff3c0bdf01d3990af1a933ab0bac0fbaae74e2348a87/maildown-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "188aeec52ece8d59cc183e07ef5f6422", "sha256": "0d32ab3e2dc8166a0983e055598536349f50ee80cecc90027b9d3e5bce0884c5" }, "downloads": -1, "filename": "maildown-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "188aeec52ece8d59cc183e07ef5f6422", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 13298, "upload_time": "2019-06-15T21:29:45", "url": "https://files.pythonhosted.org/packages/6e/50/326cd7a716d9f2daf4129091606eb4735af869f7a77a9c8fe86561da3ed8/maildown-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db6825f58485bbdc5d8a6efe768b4a1b", "sha256": "563a007ed54a4713908c01f1564f8fbaa8bfaeec6a64675c6f95a9e1bb5bf794" }, "downloads": -1, "filename": "maildown-1.2.0.tar.gz", "has_sig": false, "md5_digest": "db6825f58485bbdc5d8a6efe768b4a1b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 12115, "upload_time": "2019-06-15T21:29:46", "url": "https://files.pythonhosted.org/packages/e6/0f/d5d9f71a3500497afe6c5d564a2689398607c3946a8660b49e47926d8a34/maildown-1.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "188aeec52ece8d59cc183e07ef5f6422", "sha256": "0d32ab3e2dc8166a0983e055598536349f50ee80cecc90027b9d3e5bce0884c5" }, "downloads": -1, "filename": "maildown-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "188aeec52ece8d59cc183e07ef5f6422", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 13298, "upload_time": "2019-06-15T21:29:45", "url": "https://files.pythonhosted.org/packages/6e/50/326cd7a716d9f2daf4129091606eb4735af869f7a77a9c8fe86561da3ed8/maildown-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db6825f58485bbdc5d8a6efe768b4a1b", "sha256": "563a007ed54a4713908c01f1564f8fbaa8bfaeec6a64675c6f95a9e1bb5bf794" }, "downloads": -1, "filename": "maildown-1.2.0.tar.gz", "has_sig": false, "md5_digest": "db6825f58485bbdc5d8a6efe768b4a1b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 12115, "upload_time": "2019-06-15T21:29:46", "url": "https://files.pythonhosted.org/packages/e6/0f/d5d9f71a3500497afe6c5d564a2689398607c3946a8660b49e47926d8a34/maildown-1.2.0.tar.gz" } ] }