Documentation ¶
Index ¶
- Constants
- type Body
- type Bounce
- type BouncedRecipient
- type CheckVerdict
- type CommonHeaders
- type ComplainedRecipient
- type Complaint
- type Content
- type Delivery
- type Destination
- type Error
- type ErrorResponse
- type Mail
- type MailHeader
- type Message
- type Receipt
- type ReceiptAction
- type ResponseMetadata
- type SES
- type SNSNotification
- type SendEmailResponse
- type SendEmailResult
- type SendRawEmailResponse
- type SendRawEmailResult
Constants ¶
const ( NOTIFICATION_TYPE_BOUNCE = "Bounce" NOTIFICATION_TYPE_COMPLAINT = "Complaint" NOTIFICATION_TYPE_DELIVERY = "Delivery" NOTIFICATION_TYPE_RECEIVED = "Received" //http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#bounce-types BOUNCE_TYPE_UNDETERMINED = "Undetermined" BOUNCE_TYPE_PERMANENT = "Permanent" BOUNCE_TYPE_TRANSIENT = "Transient" BOUNCE_SUBTYPE_UNDETERMINED = "Undetermined" BOUNCE_SUBTYPE_GENERAL = "General" BOUNCE_SUBTYPE_NO_EMAIL = "NoEmail" BOUNCE_SUBTYPE_SUPPRESSED = "Suppressed" BOUNCE_SUBTYPE_MAILBOX_FULL = "MailboxFull" BOUNCE_SUBTYPE_MESSAGE_TOO_LARGE = "MessageTooLarge" BOUNCE_SUBTYPE_CONTENT_REJECTED = "ContentRejected" BOUNCE_SUBTYPE_ATTACHMENT_REJECTED = "AttachmentRejected" // http://www.iana.org/assignments/marf-parameters/marf-parameters.xml#marf-parameters-2 COMPLAINT_FEEDBACK_TYPE_ABUSE = "abuse" COMPLAINT_FEEDBACK_TYPE_AUTH_FAILURE = "auth-failure" COMPLAINT_FEEDBACK_TYPE_FRAUD = "fraud" COMPLAINT_FEEDBACK_TYPE_NOT_SPAM = "not-spam" COMPLAINT_FEEDBACK_TYPE_OTHER = "other" COMPLAINT_FEEDBACK_TYPE_VIRUS = "virus" // http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-notifications-contents.html#receiving-email-notifications-contents-dkimverdict-object VERDICT_STATUS_PASS = "PASS" VERDICT_STATUS_FAIL = "FAIL" VERDICT_STATUS_GRAY = "GRAY" VERDICT_STATUS_PROCESSING_FAILED = "PROCESSING_FAILED" RECEIPT_ACTION_S3 = "S3" RECEIPT_ACTION_SNS = "SNS" RECEIPT_ACTION_BOUNCE = "Bounce" RECEIPT_ACTION_LAMBDA = "Lambda" RECEIPT_ACTION_STOP = "Stop" RECEIPT_ACTION_WORK_MAIL = "WorkMail" )
http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#top-level-json-object http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-notifications-contents.html
const MAX_RECIPIENTS_PER_REQUEST = 50
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Body ¶
Represents the body of the message. You can specify text, HTML, or both. If you use both, then the message should display correctly in the widest variety of email clients.
type Bounce ¶
type Bounce struct { BounceType string `json:"bounceType"` BounceSubType string `json:"bounceSubType"` BouncedRecipients []*BouncedRecipient `json:"bouncedRecipients"` ReportingMTA string `json:"reportingMTA"` Timestamp time.Time `json:"timestamp"` FeedbackId string `json:"feedbackId"` }
A bounce notifiction object http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#bounce-object
type BouncedRecipient ¶
type BouncedRecipient struct { EmailAddress string `json:"emailAddress"` Action string `json:"action"` Status string `json:"status"` DiagnosticCode string `json:"diagnosticCode"` }
A bounced recipient http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#bounced-recipients
type CheckVerdict ¶
type CheckVerdict struct {
Status string `json:"status"`
}
type CommonHeaders ¶
type ComplainedRecipient ¶
type ComplainedRecipient struct {
EmailAddress string `json:"emailAddress"`
}
A receipient which complained http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#complained-recipients
type Complaint ¶
type Complaint struct { UserAgent string `json:"userAgent"` ComplainedRecipients []*ComplainedRecipient `json:"complainedRecipients"` ComplaintFeedbackType string `json:"complaintFeedbackType"` ArrivalDate time.Time `json:"arrivalDate"` Timestamp time.Time `json:"timestamp"` FeedbackId string `json:"feedbackId"` }
A complain notification object http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#complaint-object
type Content ¶
Represents textual data, plus an optional character set specification. By default, the text must be 7-bit ASCII, due to the constraints of the SMTP protocol. If the text must contain any other characters, then you must also specify a character set. Examples include UTF-8, ISO-8859-1, and Shift_JIS.
type Delivery ¶
type Delivery struct { Timestamp time.Time `json:"timestamp"` ProcessingTimeMillis int64 `json:"processingTimeMillis"` Recipients []string `json:"recipients"` SmtpResponse string `json:"smtpResponse"` ReportingMTA string `json:"reportingMTA"` }
A successful delivery http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#delivery-object
type Destination ¶
Represents the destination of the message, consisting of To:, CC:, and BCC: fields.
func NewDestination ¶
func NewDestination(toAddresses, ccAddresses, bccAddresses []string) *Destination
Creates a new destination TODO: specify address encoding
type Error ¶
type ErrorResponse ¶
type Mail ¶
type Mail struct { Timestamp time.Time `json:"timestamp"` MessageId string `json:"messageId"` Source string `json:"source"` Destination []string `json:"destination"` Headers []MailHeader `json:"headers,omitempty"` CommonHeaders *CommonHeaders `json:"commonHeaders,omitempty"` HeadersTruncated bool `json:"headersTruncated,omitempty"` }
Represent the delivery of an email
type MailHeader ¶
type Message ¶
Represents the message to be sent, composed of a subject and a body.
func NewMessage ¶
Creates a new message with UTF-8 encoding
type Receipt ¶
type Receipt struct { Action ReceiptAction `json:"action"` Timestamp time.Time `json:"timestamp"` ProcessingTimeMillis int64 `json:"processingTimeMillis"` Recipients []string `json:"recipients"` DkimVerdict CheckVerdict `json:"dkimVerdict"` SpamVerdict CheckVerdict `json:"spamVerdict"` SpfVerdict CheckVerdict `json:"spfVerdict"` VirusVerdict CheckVerdict `json:"virusVerdict"` }
type ReceiptAction ¶
type ReceiptAction struct { Type string `json:"type"` TopicArn string `json:"topicArn"` BucketName string `json:"bucketName,omitempty"` ObjectKey string `json:"objectKey,omitempty"` SmtpReplyCode string `json:"smtpReplyCode,omitempty"` StatusCode string `json:"statusCode,omitempty"` Message string `json:"message,omitempty"` Sender string `json:"sender,omitempty"` FunctionArn string `json:"functionArn,omitempty"` InvocationType string `json:"invocationType,omitempty"` OrganizationArn string `json:"organizationArn,omitempty"` }
type ResponseMetadata ¶
type ResponseMetadata struct {
MessageId string `xml:"RequestId"`
}
type SES ¶
func (*SES) SendEmail ¶
func (s *SES) SendEmail( fromAddress string, destination *Destination, message *Message, ) (*SendEmailResponse, error)
Composes an email message and sends it. See http://docs.aws.amazon.com/ses/latest/APIReference/API_SendEmail.html
func (*SES) SendRawEmail ¶
func (s *SES) SendRawEmail( destinations []string, rawMessage []byte, ) (*SendRawEmailResponse, error)
Sends a raw email message as is. See http://docs.aws.amazon.com/ses/latest/APIReference/API_SendRawEmail.html
func (*SES) SimulateDelivery ¶
func (s *SES) SimulateDelivery(from string) (*SendEmailResponse, error)
This is an helper function to send emails to the mailbox simulator. http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mailbox-simulator.html
from: the source email address registered in your SES account
type SNSNotification ¶
type SNSNotification struct { NotificationType string `json:"notificationType"` Bounce *Bounce `json:"bounce,omitempty"` Complaint *Complaint `json:"complaint,omitempty"` Delivery *Delivery `json:"delivery,omitempty"` Receipt *Receipt `json:"receipt,omitempty"` Content *string `json:"content,omitempty"` Mail *Mail `json:"mail"` }
type SendEmailResponse ¶
type SendEmailResponse struct { XMLName xml.Name `xml:"SendEmailResponse"` SendEmailResult SendEmailResult `xml:"SendEmailResult"` ResponseMetadata ResponseMetadata `xml:"ResponseMetadata"` }
Represents a unique message ID returned from a successful SendEmail request.
type SendEmailResult ¶
type SendEmailResult struct {
MessageId string `xml:"MessageId"`
}
type SendRawEmailResponse ¶
type SendRawEmailResponse struct { XMLName xml.Name `xml:"SendRawEmailResponse"` SendRawEmailResult SendRawEmailResult `xml:"SendRawEmailResult"` ResponseMetadata ResponseMetadata `xml:"ResponseMetadata"` }
type SendRawEmailResult ¶
type SendRawEmailResult struct {
MessageId string `xml:"MessageId"`
}