{"id":21076047,"url":"https://github.com/loggi/edwiges","last_synced_at":"2025-05-16T06:31:56.901Z","repository":{"id":23042702,"uuid":"97882167","full_name":"loggi/edwiges","owner":"loggi","description":"A stupidly simple REST mail service","archived":false,"fork":false,"pushed_at":"2022-03-21T22:16:51.000Z","size":147,"stargazers_count":12,"open_issues_count":4,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-10-14T03:19:14.482Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/loggi.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-20T22:10:25.000Z","updated_at":"2024-02-23T12:22:52.000Z","dependencies_parsed_at":"2022-07-27T03:47:14.287Z","dependency_job_id":null,"html_url":"https://github.com/loggi/edwiges","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loggi%2Fedwiges","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loggi%2Fedwiges/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loggi%2Fedwiges/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loggi%2Fedwiges/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/loggi","download_url":"https://codeload.github.com/loggi/edwiges/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225028960,"owners_count":17409615,"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-11-19T19:26:13.587Z","updated_at":"2024-11-19T19:26:14.815Z","avatar_url":"https://github.com/loggi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Edwiges\n=======\n\n**Under development!**\n\n|travis|\n\n.. |travis| image:: https://travis-ci.org/loggi/edwiges.svg?branch=master\n    :target: https://travis-ci.org/loggi/edwiges\n\nEdwiges is a simple service written in Python/Pyramid/Cornice\nthat can take a REST JSON request and use it to send emails using SMTP.\nIt does supports attachments and metainfo.\n\nThe basic premise is that on a microservice architecture we don't want\nall services to be able to send e-mails directly.\nSMTP seems easy at first-glance, but it can get very tricky as you\ninclude more complex features.\nREST is idiomatic and easy to use in most languages, plus, by having\na separated service, you can get zero-cost monitoring and metrics.\n\n*As long term goals we want Edwiges to be able to handle everything\nrelated to an email flow, such as consumable metrics, warnings,\nrendering templates, scheduling, retrying and so on.*\n\n.. image:: https://pbs.twimg.com/profile_images/1361293504/coruja.jpg\n   :scale: 50 %\n   :align: right\n\nRunning locally:\n----------------\n\nClone this repository and run:\n\n.. code-block::\n\n    export EDWIGES_PROVIDER_HOST=YOUR_HOST\n    export EDWIGES_PROVIDER_USERNAME=YOUR_USER\n    export EDWIGES_PROVIDER_PASSWORD=YOUR_PASSWORD\n\n    python setup.py develop\n    pserve edwiges.ini  --reload\n\n.. note::\n\n    You can also set the provider information on your .ini file.\n\nWith docker:\n------------\n\n.. code-block::\n\n    export EDWIGES_PROVIDER_HOST=YOUR_HOST\n    export EDWIGES_PROVIDER_USERNAME=YOUR_USER\n    export EDWIGES_PROVIDER_PASSWORD=YOUR_PASSWORD\n\n    docker-compose up\n\n\nAPI Quick Reference\n-------------------\n\n*Note: these examples were performed using GMail, responses can change\naccording to the provider. You may need to enable\nhttps://myaccount.google.com/lesssecureapps to use Edwiges with Gmail.*\n\n\n**GET /  -  Server Test**\n\nRequest:\n\n.. code-block:: json\n\n   $ http -v get localhost:10085\n   GET / HTTP/1.1\n   Accept: */*\n   Accept-Encoding: gzip, deflate\n   Connection: keep-alive\n   Host: localhost:10085\n   User-Agent: HTTPie/0.9.9\n\nResponse:\n\n.. code-block:: json\n\n   HTTP/1.1 200 OK\n   Content-Length: 62\n   Content-Type: application/json\n   Date: Sat, 22 Jul 2017 05:05:47 GMT\n   Server: waitress\n   X-Content-Type-Options: nosniff\n\n   {\n       \"errors\": [],\n       \"status\": \"2.0.0 OK s6sm4499738qki.44 - gsmtp\"\n   }\n\n**POST /mail  -  Send Email**\n\nRequest:\n\n.. code-block:: json\n\n   $ echo '{\"sender\": \"gabsurita@gmail.com\", \\\n            \"recipients\": [\"gabsurita@gmail.com\"], \\\n            \"subject\": \"Grrr\", \\\n            \"body\": \"Hello from edwiges\"}' | http -v post localhost:10085/mail\n   POST /mail HTTP/1.1\n   Accept: application/json, */*\n   Accept-Encoding: gzip, deflate\n   Connection: keep-alive\n   Content-Length: 122\n   Content-Type: application/json\n   Host: localhost:10085\n   User-Agent: HTTPie/0.9.9\n\n   {\n       \"body\": \"Hello from edwiges\",\n       \"recipients\": [\n           \"gabsurita@gmail.com\"\n       ],\n       \"sender\": \"gabsurita@gmail.com\",\n       \"subject\": \"Grrr\"\n   }\n\nResponse:\n\n.. code-block:: json\n\n   HTTP/1.1 200 OK\n   Content-Length: 139\n   Content-Type: application/json\n   Date: Sat, 22 Jul 2017 05:04:22 GMT\n   Server: waitress\n   X-Content-Type-Options: nosniff\n\n   {\n       \"body\": \"Hello from edwiges\",\n       \"recipients\": [\n           \"gabsurita@gmail.com\"\n       ],\n       \"sender\": \"gabsurita@gmail.com\",\n       \"status\": \"sent\",\n       \"subject\": \"Grrr\"\n   }\n\n.. note::\n   Authentication has not been implemented yet, at Loggi we currently\n   protect the service API in production using a firewall, but pull requests\n   are very welcome. :)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floggi%2Fedwiges","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Floggi%2Fedwiges","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floggi%2Fedwiges/lists"}