Skip to content

📩 Microservice which provides API for sending emails.

License

Notifications You must be signed in to change notification settings

Mikroservices/Emails

Repository files navigation

📩 Mikroservices - Emails

Build Status Swift 5.2 Vapor 4 Swift Package Manager Platforms OS X | Linux

Microservice which provides API for sending emails. Application is written in Swift and Vapor 4.

API

Service provides simple RESTful API. Below there is a description of each endpoint.

Endpoint for sending emails.

Request

METHOD: POST
URL: /emails/send
BODY:
{
    "to: {
        "address": "[email protected]",
        "name": "John Doe"
    },
    "subject": "Email subject",
    "body": "Email content",
    "from": {
        "address": "[email protected]",
        "name": "Emily Doe"
    },
    "replyTo": {
        "address": "[email protected]",
        "name": "Viki Doe"
    }
}

Response

STATUS: 200 (Ok)
BODY:
{
    "result": true
}

Errors

STATUS: 400 (BadRequest)
BODY: 
{
    "error": true,
    "code": "validationError",
    "reason": "Validation errors occurs.",
    "failures": [
        {
            "field": "[FIELD]",
            "failure": "[VALIDATION MESSAGE]"
        }
    ]
}

Getting started

First you need to have Swift installed on your computer. Next you should run following commands:

$ git clone https://github.com/Mikroservices/Emails.git
$ cd Emails
$ swift package update
$ swift build

Now you can run the application:

$ .build/debug/Run serve --port 8000

If application starts open following link in your browser: http://localhost:8000. You should see blank page with text: Service is up and running!. Now you can use API which is described above.

Configuration

You can define application settings in appsettings.json file or by setting suitable environment variables:

  • smtp.fromName
  • smtp.fromEmail
  • smtp.hostname
  • smtp.port
  • smtp.username
  • smtp.password
  • smtp.secure

Deployment

You can deploy application as service in the Kubernates cluster or as a single service in Linux.

Users service in Linux

You must modify and copy file users.service to your Linux server (folder /lib/systemd/system). Then you can start service using below command:

$ systemctl start users.service

If you want start service at system boot you must run following command:

$ systemctl enable users.service

About

📩 Microservice which provides API for sending emails.

Resources

License

Stars

Watchers

Forks

Packages

No packages published