| Requires any of the roles: | Client, Admin, Partner |
| POST | /communication/sendmail | Sends an email |
|---|
import Foundation
import ServiceStack
public class SendMailRequest : Codable
{
/**
* Email address of sender. If it is not set the a default address will be used.
*/
// @ApiMember(Description="Email address of sender. If it is not set the a default address will be used.")
public var fromAddress:String
/**
* List of recipient email addresses
*/
// @ApiMember(Description="List of recipient email addresses", IsRequired=true)
public var recipients:[String]
/**
* Email subject
*/
// @ApiMember(Description="Email subject", IsRequired=true)
public var subject:String
/**
* Plain text body. Either this or HtmlBody is required
*/
// @ApiMember(Description="Plain text body. Either this or HtmlBody is required")
public var body:String
/**
* Html body. Either this or Body is required
*/
// @ApiMember(Description="Html body. Either this or Body is required")
public var htmlBody:String
/**
* Email attachments
*/
// @ApiMember(Description="Email attachments")
public var attachments:[String]
/**
* Email attachments
*/
// @ApiMember(Description="Email attachments")
public var attachmentsObject:[Attachment]
/**
* Attachment streams
*/
// @ApiMember(Description="Attachment streams")
public var attachmentStreams:[AttachmentStream]
/**
* Template substitutions
*/
// @ApiMember(Description="Template substitutions")
public var templateSubstitutions:[String:String]
/**
* Template Id
*/
// @ApiMember(Description="Template Id")
public var templateId:String
/**
* List of BCC email addresses
*/
// @ApiMember(Description="List of BCC email addresses")
public var bcc:[String]
/**
* List of CC email addresses
*/
// @ApiMember(Description="List of CC email addresses")
public var cc:[String]
required public init(){}
}
public class Attachment : Codable
{
public var content:String
public var type:String
public var filename:String
public var disposition:String
public var contentId:String
required public init(){}
}
public class AttachmentStream : Codable
{
public var stream:Data
public var name:String
public var type:String
public var disposition:String
public var contentid:String
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /communication/sendmail HTTP/1.1
Host: duengageapi.uat.scadsoftware.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
FromAddress: String,
Subject: String,
Body: String,
HtmlBody: String,
Attachments:
[
String
],
AttachmentsObject:
[
{
Content: String,
Type: String,
Filename: String,
Disposition: String,
ContentId: String
}
],
AttachmentStreams:
[
{
Name: String,
Type: String,
Disposition: String,
Contentid: String
}
],
TemplateSubstitutions:
{
String: String
},
TemplateId: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
}