mirror of
https://github.com/axllent/mailpit.git
synced 2026-06-28 06:56:06 +00:00
Feature: API endpoint for sending (#278)
This commit is contained in:
@@ -606,6 +606,43 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/v1/send": {
|
||||
"post": {
|
||||
"description": "Send a message via the HTTP API.",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"schemes": [
|
||||
"http",
|
||||
"https"
|
||||
],
|
||||
"tags": [
|
||||
"message"
|
||||
],
|
||||
"summary": "Send a message",
|
||||
"operationId": "SendMessage",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "Body",
|
||||
"in": "body",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/SendRequest"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"$ref": "#/responses/sendMessageResponse"
|
||||
},
|
||||
"default": {
|
||||
"$ref": "#/responses/jsonErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/v1/tags": {
|
||||
"get": {
|
||||
"description": "Returns a JSON array of all unique message tags.",
|
||||
@@ -1083,6 +1120,18 @@
|
||||
"x-go-name": "Warning",
|
||||
"x-go-package": "github.com/axllent/mailpit/internal/htmlcheck"
|
||||
},
|
||||
"JSONErrorMessage": {
|
||||
"description": "JSONErrorMessage struct",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Error": {
|
||||
"description": "Error message",
|
||||
"type": "string",
|
||||
"example": "invalid format"
|
||||
}
|
||||
},
|
||||
"x-go-package": "github.com/axllent/mailpit/server/apiv1"
|
||||
},
|
||||
"Link": {
|
||||
"description": "Link struct",
|
||||
"type": "object",
|
||||
@@ -1375,6 +1424,182 @@
|
||||
},
|
||||
"x-go-package": "github.com/axllent/mailpit/internal/spamassassin"
|
||||
},
|
||||
"SendMessageConfirmation": {
|
||||
"description": "SendMessageConfirmation struct",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"ID": {
|
||||
"description": "Database ID",
|
||||
"type": "string",
|
||||
"example": "iAfZVVe2UQFNSG5BAjgYwa"
|
||||
}
|
||||
},
|
||||
"x-go-package": "github.com/axllent/mailpit/server/apiv1"
|
||||
},
|
||||
"SendRequest": {
|
||||
"description": "SendRequest to send a message via HTTP",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"From"
|
||||
],
|
||||
"properties": {
|
||||
"Attachments": {
|
||||
"description": "Attachments",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"Content",
|
||||
"Filename"
|
||||
],
|
||||
"properties": {
|
||||
"Content": {
|
||||
"description": "Base64-encoded string of the file content",
|
||||
"type": "string",
|
||||
"example": "VGhpcyBpcyBhIHBsYWluIHRleHQgYXR0YWNobWVudA=="
|
||||
},
|
||||
"Filename": {
|
||||
"description": "Filename",
|
||||
"type": "string",
|
||||
"example": "AttachedFile.txt"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Bcc": {
|
||||
"description": "Bcc recipients email addresses only",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"example": [
|
||||
"jack@example.com"
|
||||
]
|
||||
},
|
||||
"Cc": {
|
||||
"description": "Cc recipients",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"Email"
|
||||
],
|
||||
"properties": {
|
||||
"Email": {
|
||||
"description": "Email address",
|
||||
"type": "string",
|
||||
"example": "manager@example.com"
|
||||
},
|
||||
"Name": {
|
||||
"description": "Optional name",
|
||||
"type": "string",
|
||||
"example": "Manager"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"From": {
|
||||
"description": "\"From\" recipient",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"Email"
|
||||
],
|
||||
"properties": {
|
||||
"Email": {
|
||||
"description": "Email address",
|
||||
"type": "string",
|
||||
"example": "john@example.com"
|
||||
},
|
||||
"Name": {
|
||||
"description": "Optional name",
|
||||
"type": "string",
|
||||
"example": "John Doe"
|
||||
}
|
||||
}
|
||||
},
|
||||
"HTML": {
|
||||
"description": "Message body (HTML)",
|
||||
"type": "string",
|
||||
"example": "\u003cp style=\"font-family: arial\"\u003eMailpit is \u003cb\u003eawesome\u003c/b\u003e!\u003c/p\u003e"
|
||||
},
|
||||
"Headers": {
|
||||
"description": "Optional headers in {\"key\":\"value\"} format",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
},
|
||||
"example": {
|
||||
"X-IP": "1.2.3.4"
|
||||
}
|
||||
},
|
||||
"ReplyTo": {
|
||||
"description": "Optional Reply-To recipients",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"Email"
|
||||
],
|
||||
"properties": {
|
||||
"Email": {
|
||||
"description": "Email address",
|
||||
"type": "string",
|
||||
"example": "secretary@example.com"
|
||||
},
|
||||
"Name": {
|
||||
"description": "Optional name",
|
||||
"type": "string",
|
||||
"example": "Secretary"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Subject": {
|
||||
"description": "Subject",
|
||||
"type": "string",
|
||||
"example": "Mailpit message via the HTTP API"
|
||||
},
|
||||
"Tags": {
|
||||
"description": "Mailpit tags",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"example": [
|
||||
"Tag 1",
|
||||
"Tag 2"
|
||||
]
|
||||
},
|
||||
"Text": {
|
||||
"description": "Message body (text)",
|
||||
"type": "string",
|
||||
"example": "This is the text body"
|
||||
},
|
||||
"To": {
|
||||
"description": "\"To\" recipients",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"Email"
|
||||
],
|
||||
"properties": {
|
||||
"Email": {
|
||||
"description": "Email address",
|
||||
"type": "string",
|
||||
"example": "jane@example.com"
|
||||
},
|
||||
"Name": {
|
||||
"description": "Optional name",
|
||||
"type": "string",
|
||||
"example": "Jane Doe"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-go-package": "github.com/axllent/mailpit/server/apiv1"
|
||||
},
|
||||
"SpamAssassinResponse": {
|
||||
"description": "Result is a SpamAssassin result",
|
||||
"type": "object",
|
||||
@@ -1582,6 +1807,18 @@
|
||||
"schema": {
|
||||
"$ref": "#/definitions/WebUIConfiguration"
|
||||
}
|
||||
},
|
||||
"jsonErrorResponse": {
|
||||
"description": "JSON error response",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/JSONErrorMessage"
|
||||
}
|
||||
},
|
||||
"sendMessageResponse": {
|
||||
"description": "Confirmation message for HTTP send API",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/SendMessageConfirmation"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user