1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// When included in a receipt rule, this action adds a header to the received
10// email. For information about adding a header using a receipt rule, see the
11// Amazon SES Developer Guide
12// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-add-header.html).
13type AddHeaderAction struct {
14
15	// The name of the header to add. Must be between 1 and 50 characters, inclusive,
16	// and consist of alphanumeric (a-z, A-Z, 0-9) characters and dashes only.
17	//
18	// This member is required.
19	HeaderName *string
20
21	// Must be less than 2048 characters, and must not contain newline characters ("\r"
22	// or "\n").
23	//
24	// This member is required.
25	HeaderValue *string
26}
27
28// Represents the body of the message. You can specify text, HTML, or both. If you
29// use both, then the message should display correctly in the widest variety of
30// email clients.
31type Body struct {
32
33	// The content of the message, in HTML format. Use this for email clients that can
34	// process HTML. You can include clickable links, formatted text, and much more in
35	// an HTML message.
36	Html *Content
37
38	// The content of the message, in text format. Use this for text-based email
39	// clients, or clients on high-latency networks (such as mobile devices).
40	Text *Content
41}
42
43// When included in a receipt rule, this action rejects the received email by
44// returning a bounce response to the sender and, optionally, publishes a
45// notification to Amazon Simple Notification Service (Amazon SNS). For information
46// about sending a bounce message in response to a received email, see the Amazon
47// SES Developer Guide
48// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-bounce.html).
49type BounceAction struct {
50
51	// Human-readable text to include in the bounce message.
52	//
53	// This member is required.
54	Message *string
55
56	// The email address of the sender of the bounced email. This is the address from
57	// which the bounce message will be sent.
58	//
59	// This member is required.
60	Sender *string
61
62	// The SMTP reply code, as defined by RFC 5321
63	// (https://tools.ietf.org/html/rfc5321).
64	//
65	// This member is required.
66	SmtpReplyCode *string
67
68	// The SMTP enhanced status code, as defined by RFC 3463
69	// (https://tools.ietf.org/html/rfc3463).
70	StatusCode *string
71
72	// The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the bounce
73	// action is taken. An example of an Amazon SNS topic ARN is
74	// arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon
75	// SNS topics, see the Amazon SNS Developer Guide
76	// (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
77	TopicArn *string
78}
79
80// Recipient-related information to include in the Delivery Status Notification
81// (DSN) when an email that Amazon SES receives on your behalf bounces. For
82// information about receiving email through Amazon SES, see the Amazon SES
83// Developer Guide
84// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html).
85type BouncedRecipientInfo struct {
86
87	// The email address of the recipient of the bounced email.
88	//
89	// This member is required.
90	Recipient *string
91
92	// The reason for the bounce. You must provide either this parameter or
93	// RecipientDsnFields.
94	BounceType BounceType
95
96	// This parameter is used only for sending authorization. It is the ARN of the
97	// identity that is associated with the sending authorization policy that permits
98	// you to receive email for the recipient of the bounced email. For more
99	// information about sending authorization, see the Amazon SES Developer Guide
100	// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).
101	RecipientArn *string
102
103	// Recipient-related DSN fields, most of which would normally be filled in
104	// automatically when provided with a BounceType. You must provide either this
105	// parameter or BounceType.
106	RecipientDsnFields *RecipientDsnFields
107}
108
109// An array that contains one or more Destinations, as well as the tags and
110// replacement data associated with each of those Destinations.
111type BulkEmailDestination struct {
112
113	// Represents the destination of the message, consisting of To:, CC:, and BCC:
114	// fields. Amazon SES does not support the SMTPUTF8 extension, as described in
115	// RFC6531 (https://tools.ietf.org/html/rfc6531). For this reason, the local part
116	// of a destination email address (the part of the email address that precedes the
117	// @ sign) may only contain 7-bit ASCII characters
118	// (https://en.wikipedia.org/wiki/Email_address#Local-part). If the domain part of
119	// an address (the part after the @ sign) contains non-ASCII characters, they must
120	// be encoded using Punycode, as described in RFC3492
121	// (https://tools.ietf.org/html/rfc3492.html).
122	//
123	// This member is required.
124	Destination *Destination
125
126	// A list of tags, in the form of name/value pairs, to apply to an email that you
127	// send using SendBulkTemplatedEmail. Tags correspond to characteristics of the
128	// email that you define, so that you can publish email sending events.
129	ReplacementTags []MessageTag
130
131	// A list of replacement values to apply to the template. This parameter is a JSON
132	// object, typically consisting of key-value pairs in which the keys correspond to
133	// replacement tags in the email template.
134	ReplacementTemplateData *string
135}
136
137// An object that contains the response from the SendBulkTemplatedEmail operation.
138type BulkEmailDestinationStatus struct {
139
140	// A description of an error that prevented a message being sent using the
141	// SendBulkTemplatedEmail operation.
142	Error *string
143
144	// The unique message identifier returned from the SendBulkTemplatedEmail
145	// operation.
146	MessageId *string
147
148	// The status of a message sent using the SendBulkTemplatedEmail operation.
149	// Possible values for this parameter include:
150	//
151	// * Success: Amazon SES accepted the
152	// message, and will attempt to deliver it to the recipients.
153	//
154	// * MessageRejected:
155	// The message was rejected because it contained a virus.
156	//
157	// *
158	// MailFromDomainNotVerified: The sender's email address or domain was not
159	// verified.
160	//
161	// * ConfigurationSetDoesNotExist: The configuration set you specified
162	// does not exist.
163	//
164	// * TemplateDoesNotExist: The template you specified does not
165	// exist.
166	//
167	// * AccountSuspended: Your account has been shut down because of issues
168	// related to your email sending practices.
169	//
170	// * AccountThrottled: The number of
171	// emails you can send has been reduced because your account has exceeded its
172	// allocated sending limit.
173	//
174	// * AccountDailyQuotaExceeded: You have reached or
175	// exceeded the maximum number of emails you can send from your account in a
176	// 24-hour period.
177	//
178	// * InvalidSendingPoolName: The configuration set you specified
179	// refers to an IP pool that does not exist.
180	//
181	// * AccountSendingPaused: Email sending
182	// for the Amazon SES account was disabled using the UpdateAccountSendingEnabled
183	// operation.
184	//
185	// * ConfigurationSetSendingPaused: Email sending for this
186	// configuration set was disabled using the UpdateConfigurationSetSendingEnabled
187	// operation.
188	//
189	// * InvalidParameterValue: One or more of the parameters you specified
190	// when calling this operation was invalid. See the error message for additional
191	// information.
192	//
193	// * TransientFailure: Amazon SES was unable to process your request
194	// because of a temporary issue.
195	//
196	// * Failed: Amazon SES was unable to process your
197	// request. See the error message for additional information.
198	Status BulkEmailStatus
199}
200
201// Contains information associated with an Amazon CloudWatch event destination to
202// which email sending events are published. Event destinations, such as Amazon
203// CloudWatch, are associated with configuration sets, which enable you to publish
204// email sending events. For information about using configuration sets, see the
205// Amazon SES Developer Guide
206// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
207type CloudWatchDestination struct {
208
209	// A list of dimensions upon which to categorize your emails when you publish email
210	// sending events to Amazon CloudWatch.
211	//
212	// This member is required.
213	DimensionConfigurations []CloudWatchDimensionConfiguration
214}
215
216// Contains the dimension configuration to use when you publish email sending
217// events to Amazon CloudWatch. For information about publishing email sending
218// events to Amazon CloudWatch, see the Amazon SES Developer Guide
219// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
220type CloudWatchDimensionConfiguration struct {
221
222	// The default value of the dimension that is published to Amazon CloudWatch if you
223	// do not provide the value of the dimension when you send an email. The default
224	// value must:
225	//
226	// * This value can only contain ASCII letters (a-z, A-Z), numbers
227	// (0-9), underscores (_), or dashes (-).
228	//
229	// * Contain less than 256 characters.
230	//
231	// This member is required.
232	DefaultDimensionValue *string
233
234	// The name of an Amazon CloudWatch dimension associated with an email sending
235	// metric. The name must:
236	//
237	// * This value can only contain ASCII letters (a-z, A-Z),
238	// numbers (0-9), underscores (_), or dashes (-).
239	//
240	// * Contain less than 256
241	// characters.
242	//
243	// This member is required.
244	DimensionName *string
245
246	// The place where Amazon SES finds the value of a dimension to publish to Amazon
247	// CloudWatch. If you want Amazon SES to use the message tags that you specify
248	// using an X-SES-MESSAGE-TAGS header or a parameter to the SendEmail/SendRawEmail
249	// API, choose messageTag. If you want Amazon SES to use your own email headers,
250	// choose emailHeader.
251	//
252	// This member is required.
253	DimensionValueSource DimensionValueSource
254}
255
256// The name of the configuration set. Configuration sets let you create groups of
257// rules that you can apply to the emails you send using Amazon SES. For more
258// information about using configuration sets, see Using Amazon SES Configuration
259// Sets
260// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/using-configuration-sets.html)
261// in the Amazon SES Developer Guide
262// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/).
263type ConfigurationSet struct {
264
265	// The name of the configuration set. The name must meet the following
266	// requirements:
267	//
268	// * Contain only letters (a-z, A-Z), numbers (0-9), underscores
269	// (_), or dashes (-).
270	//
271	// * Contain 64 characters or fewer.
272	//
273	// This member is required.
274	Name *string
275}
276
277// Represents textual data, plus an optional character set specification. By
278// default, the text must be 7-bit ASCII, due to the constraints of the SMTP
279// protocol. If the text must contain any other characters, then you must also
280// specify a character set. Examples include UTF-8, ISO-8859-1, and Shift_JIS.
281type Content struct {
282
283	// The textual data of the content.
284	//
285	// This member is required.
286	Data *string
287
288	// The character set of the content.
289	Charset *string
290}
291
292// Contains information about a custom verification email template.
293type CustomVerificationEmailTemplate struct {
294
295	// The URL that the recipient of the verification email is sent to if his or her
296	// address is not successfully verified.
297	FailureRedirectionURL *string
298
299	// The email address that the custom verification email is sent from.
300	FromEmailAddress *string
301
302	// The URL that the recipient of the verification email is sent to if his or her
303	// address is successfully verified.
304	SuccessRedirectionURL *string
305
306	// The name of the custom verification email template.
307	TemplateName *string
308
309	// The subject line of the custom verification email.
310	TemplateSubject *string
311}
312
313// Specifies whether messages that use the configuration set are required to use
314// Transport Layer Security (TLS).
315type DeliveryOptions struct {
316
317	// Specifies whether messages that use the configuration set are required to use
318	// Transport Layer Security (TLS). If the value is Require, messages are only
319	// delivered if a TLS connection can be established. If the value is Optional,
320	// messages can be delivered in plain text if a TLS connection can't be
321	// established.
322	TlsPolicy TlsPolicy
323}
324
325// Represents the destination of the message, consisting of To:, CC:, and BCC:
326// fields. Amazon SES does not support the SMTPUTF8 extension, as described in
327// RFC6531 (https://tools.ietf.org/html/rfc6531). For this reason, the local part
328// of a destination email address (the part of the email address that precedes the
329// @ sign) may only contain 7-bit ASCII characters
330// (https://en.wikipedia.org/wiki/Email_address#Local-part). If the domain part of
331// an address (the part after the @ sign) contains non-ASCII characters, they must
332// be encoded using Punycode, as described in RFC3492
333// (https://tools.ietf.org/html/rfc3492.html).
334type Destination struct {
335
336	// The recipients to place on the BCC: line of the message.
337	BccAddresses []string
338
339	// The recipients to place on the CC: line of the message.
340	CcAddresses []string
341
342	// The recipients to place on the To: line of the message.
343	ToAddresses []string
344}
345
346// Contains information about the event destination that the specified email
347// sending events will be published to. When you create or update an event
348// destination, you must provide one, and only one, destination. The destination
349// can be Amazon CloudWatch, Amazon Kinesis Firehose or Amazon Simple Notification
350// Service (Amazon SNS). Event destinations are associated with configuration sets,
351// which enable you to publish email sending events to Amazon CloudWatch, Amazon
352// Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS). For
353// information about using configuration sets, see the Amazon SES Developer Guide
354// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
355type EventDestination struct {
356
357	// The type of email sending events to publish to the event destination.
358	//
359	// This member is required.
360	MatchingEventTypes []EventType
361
362	// The name of the event destination. The name must:
363	//
364	// * This value can only contain
365	// ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).
366	//
367	// *
368	// Contain less than 64 characters.
369	//
370	// This member is required.
371	Name *string
372
373	// An object that contains the names, default values, and sources of the dimensions
374	// associated with an Amazon CloudWatch event destination.
375	CloudWatchDestination *CloudWatchDestination
376
377	// Sets whether Amazon SES publishes events to this destination when you send an
378	// email with the associated configuration set. Set to true to enable publishing to
379	// this destination; set to false to prevent publishing to this destination. The
380	// default value is false.
381	Enabled bool
382
383	// An object that contains the delivery stream ARN and the IAM role ARN associated
384	// with an Amazon Kinesis Firehose event destination.
385	KinesisFirehoseDestination *KinesisFirehoseDestination
386
387	// An object that contains the topic ARN associated with an Amazon Simple
388	// Notification Service (Amazon SNS) event destination.
389	SNSDestination *SNSDestination
390}
391
392// Additional X-headers to include in the Delivery Status Notification (DSN) when
393// an email that Amazon SES receives on your behalf bounces. For information about
394// receiving email through Amazon SES, see the Amazon SES Developer Guide
395// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html).
396type ExtensionField struct {
397
398	// The name of the header to add. Must be between 1 and 50 characters, inclusive,
399	// and consist of alphanumeric (a-z, A-Z, 0-9) characters and dashes only.
400	//
401	// This member is required.
402	Name *string
403
404	// The value of the header to add. Must be less than 2048 characters, and must not
405	// contain newline characters ("\r" or "\n").
406	//
407	// This member is required.
408	Value *string
409}
410
411// Represents the DKIM attributes of a verified email address or a domain.
412type IdentityDkimAttributes struct {
413
414	// Is true if DKIM signing is enabled for email sent from the identity. It's false
415	// otherwise. The default value is true.
416	//
417	// This member is required.
418	DkimEnabled bool
419
420	// Describes whether Amazon SES has successfully verified the DKIM DNS records
421	// (tokens) published in the domain name's DNS. (This only applies to domain
422	// identities, not email address identities.)
423	//
424	// This member is required.
425	DkimVerificationStatus VerificationStatus
426
427	// A set of character strings that represent the domain's identity. Using these
428	// tokens, you need to create DNS CNAME records that point to DKIM public keys that
429	// are hosted by Amazon SES. Amazon Web Services eventually detects that you've
430	// updated your DNS records. This detection process might take up to 72 hours.
431	// After successful detection, Amazon SES is able to DKIM-sign email originating
432	// from that domain. (This only applies to domain identities, not email address
433	// identities.) For more information about creating DNS records using DKIM tokens,
434	// see the Amazon SES Developer Guide
435	// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html).
436	DkimTokens []string
437}
438
439// Represents the custom MAIL FROM domain attributes of a verified identity (email
440// address or domain).
441type IdentityMailFromDomainAttributes struct {
442
443	// The action that Amazon SES takes if it cannot successfully read the required MX
444	// record when you send an email. A value of UseDefaultValue indicates that if
445	// Amazon SES cannot read the required MX record, it uses amazonses.com (or a
446	// subdomain of that) as the MAIL FROM domain. A value of RejectMessage indicates
447	// that if Amazon SES cannot read the required MX record, Amazon SES returns a
448	// MailFromDomainNotVerified error and does not send the email. The custom MAIL
449	// FROM setup states that result in this behavior are Pending, Failed, and
450	// TemporaryFailure.
451	//
452	// This member is required.
453	BehaviorOnMXFailure BehaviorOnMXFailure
454
455	// The custom MAIL FROM domain that the identity is configured to use.
456	//
457	// This member is required.
458	MailFromDomain *string
459
460	// The state that indicates whether Amazon SES has successfully read the MX record
461	// required for custom MAIL FROM domain setup. If the state is Success, Amazon SES
462	// uses the specified custom MAIL FROM domain when the verified identity sends an
463	// email. All other states indicate that Amazon SES takes the action described by
464	// BehaviorOnMXFailure.
465	//
466	// This member is required.
467	MailFromDomainStatus CustomMailFromStatus
468}
469
470// Represents the notification attributes of an identity, including whether an
471// identity has Amazon Simple Notification Service (Amazon SNS) topics set for
472// bounce, complaint, and/or delivery notifications, and whether feedback
473// forwarding is enabled for bounce and complaint notifications.
474type IdentityNotificationAttributes struct {
475
476	// The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will
477	// publish bounce notifications.
478	//
479	// This member is required.
480	BounceTopic *string
481
482	// The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will
483	// publish complaint notifications.
484	//
485	// This member is required.
486	ComplaintTopic *string
487
488	// The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will
489	// publish delivery notifications.
490	//
491	// This member is required.
492	DeliveryTopic *string
493
494	// Describes whether Amazon SES will forward bounce and complaint notifications as
495	// email. true indicates that Amazon SES will forward bounce and complaint
496	// notifications as email, while false indicates that bounce and complaint
497	// notifications will be published only to the specified bounce and complaint
498	// Amazon SNS topics.
499	//
500	// This member is required.
501	ForwardingEnabled bool
502
503	// Describes whether Amazon SES includes the original email headers in Amazon SNS
504	// notifications of type Bounce. A value of true specifies that Amazon SES will
505	// include headers in bounce notifications, and a value of false specifies that
506	// Amazon SES will not include headers in bounce notifications.
507	HeadersInBounceNotificationsEnabled bool
508
509	// Describes whether Amazon SES includes the original email headers in Amazon SNS
510	// notifications of type Complaint. A value of true specifies that Amazon SES will
511	// include headers in complaint notifications, and a value of false specifies that
512	// Amazon SES will not include headers in complaint notifications.
513	HeadersInComplaintNotificationsEnabled bool
514
515	// Describes whether Amazon SES includes the original email headers in Amazon SNS
516	// notifications of type Delivery. A value of true specifies that Amazon SES will
517	// include headers in delivery notifications, and a value of false specifies that
518	// Amazon SES will not include headers in delivery notifications.
519	HeadersInDeliveryNotificationsEnabled bool
520}
521
522// Represents the verification attributes of a single identity.
523type IdentityVerificationAttributes struct {
524
525	// The verification status of the identity: "Pending", "Success", "Failed", or
526	// "TemporaryFailure".
527	//
528	// This member is required.
529	VerificationStatus VerificationStatus
530
531	// The verification token for a domain identity. Null for email address identities.
532	VerificationToken *string
533}
534
535// Contains the delivery stream ARN and the IAM role ARN associated with an Amazon
536// Kinesis Firehose event destination. Event destinations, such as Amazon Kinesis
537// Firehose, are associated with configuration sets, which enable you to publish
538// email sending events. For information about using configuration sets, see the
539// Amazon SES Developer Guide
540// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
541type KinesisFirehoseDestination struct {
542
543	// The ARN of the Amazon Kinesis Firehose stream that email sending events should
544	// be published to.
545	//
546	// This member is required.
547	DeliveryStreamARN *string
548
549	// The ARN of the IAM role under which Amazon SES publishes email sending events to
550	// the Amazon Kinesis Firehose stream.
551	//
552	// This member is required.
553	IAMRoleARN *string
554}
555
556// When included in a receipt rule, this action calls an AWS Lambda function and,
557// optionally, publishes a notification to Amazon Simple Notification Service
558// (Amazon SNS). To enable Amazon SES to call your AWS Lambda function or to
559// publish to an Amazon SNS topic of another account, Amazon SES must have
560// permission to access those resources. For information about giving permissions,
561// see the Amazon SES Developer Guide
562// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html).
563// For information about using AWS Lambda actions in receipt rules, see the Amazon
564// SES Developer Guide
565// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-lambda.html).
566type LambdaAction struct {
567
568	// The Amazon Resource Name (ARN) of the AWS Lambda function. An example of an AWS
569	// Lambda function ARN is arn:aws:lambda:us-west-2:account-id:function:MyFunction.
570	// For more information about AWS Lambda, see the AWS Lambda Developer Guide
571	// (https://docs.aws.amazon.com/lambda/latest/dg/welcome.html).
572	//
573	// This member is required.
574	FunctionArn *string
575
576	// The invocation type of the AWS Lambda function. An invocation type of
577	// RequestResponse means that the execution of the function will immediately result
578	// in a response, and a value of Event means that the function will be invoked
579	// asynchronously. The default value is Event. For information about AWS Lambda
580	// invocation types, see the AWS Lambda Developer Guide
581	// (https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html). There is a
582	// 30-second timeout on RequestResponse invocations. You should use Event
583	// invocation in most cases. Use RequestResponse only when you want to make a mail
584	// flow decision, such as whether to stop the receipt rule or the receipt rule set.
585	InvocationType InvocationType
586
587	// The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the Lambda
588	// action is taken. An example of an Amazon SNS topic ARN is
589	// arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon
590	// SNS topics, see the Amazon SNS Developer Guide
591	// (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
592	TopicArn *string
593}
594
595// Represents the message to be sent, composed of a subject and a body.
596type Message struct {
597
598	// The message body.
599	//
600	// This member is required.
601	Body *Body
602
603	// The subject of the message: A short summary of the content, which will appear in
604	// the recipient's inbox.
605	//
606	// This member is required.
607	Subject *Content
608}
609
610// Message-related information to include in the Delivery Status Notification (DSN)
611// when an email that Amazon SES receives on your behalf bounces. For information
612// about receiving email through Amazon SES, see the Amazon SES Developer Guide
613// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html).
614type MessageDsn struct {
615
616	// The reporting MTA that attempted to deliver the message, formatted as specified
617	// in RFC 3464 (https://tools.ietf.org/html/rfc3464) (mta-name-type; mta-name). The
618	// default value is dns; inbound-smtp.[region].amazonaws.com.
619	//
620	// This member is required.
621	ReportingMta *string
622
623	// When the message was received by the reporting mail transfer agent (MTA), in RFC
624	// 822 (https://www.ietf.org/rfc/rfc0822.txt) date-time format.
625	ArrivalDate *time.Time
626
627	// Additional X-headers to include in the DSN.
628	ExtensionFields []ExtensionField
629}
630
631// Contains the name and value of a tag that you can provide to SendEmail or
632// SendRawEmail to apply to an email. Message tags, which you use with
633// configuration sets, enable you to publish email sending events. For information
634// about using configuration sets, see the Amazon SES Developer Guide
635// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
636type MessageTag struct {
637
638	// The name of the tag. The name must:
639	//
640	// * This value can only contain ASCII letters
641	// (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).
642	//
643	// * Contain less than
644	// 256 characters.
645	//
646	// This member is required.
647	Name *string
648
649	// The value of the tag. The value must:
650	//
651	// * This value can only contain ASCII
652	// letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).
653	//
654	// * Contain
655	// less than 256 characters.
656	//
657	// This member is required.
658	Value *string
659}
660
661// Represents the raw data of the message.
662type RawMessage struct {
663
664	// The raw data of the message. This data needs to base64-encoded if you are
665	// accessing Amazon SES directly through the HTTPS interface. If you are accessing
666	// Amazon SES using an AWS SDK, the SDK takes care of the base 64-encoding for you.
667	// In all cases, the client must ensure that the message format complies with
668	// Internet email standards regarding email header fields, MIME types, and MIME
669	// encoding. The To:, CC:, and BCC: headers in the raw message can contain a group
670	// list. If you are using SendRawEmail with sending authorization, you can include
671	// X-headers in the raw message to specify the "Source," "From," and "Return-Path"
672	// addresses. For more information, see the documentation for SendRawEmail. Do not
673	// include these X-headers in the DKIM signature, because they are removed by
674	// Amazon SES before sending the email. For more information, go to the Amazon SES
675	// Developer Guide
676	// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html).
677	//
678	// This member is required.
679	Data []byte
680}
681
682// An action that Amazon SES can take when it receives an email on behalf of one or
683// more email addresses or domains that you own. An instance of this data type can
684// represent only one action. For information about setting up receipt rules, see
685// the Amazon SES Developer Guide
686// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html).
687type ReceiptAction struct {
688
689	// Adds a header to the received email.
690	AddHeaderAction *AddHeaderAction
691
692	// Rejects the received email by returning a bounce response to the sender and,
693	// optionally, publishes a notification to Amazon Simple Notification Service
694	// (Amazon SNS).
695	BounceAction *BounceAction
696
697	// Calls an AWS Lambda function, and optionally, publishes a notification to Amazon
698	// SNS.
699	LambdaAction *LambdaAction
700
701	// Saves the received message to an Amazon Simple Storage Service (Amazon S3)
702	// bucket and, optionally, publishes a notification to Amazon SNS.
703	S3Action *S3Action
704
705	// Publishes the email content within a notification to Amazon SNS.
706	SNSAction *SNSAction
707
708	// Terminates the evaluation of the receipt rule set and optionally publishes a
709	// notification to Amazon SNS.
710	StopAction *StopAction
711
712	// Calls Amazon WorkMail and, optionally, publishes a notification to Amazon Amazon
713	// SNS.
714	WorkmailAction *WorkmailAction
715}
716
717// A receipt IP address filter enables you to specify whether to accept or reject
718// mail originating from an IP address or range of IP addresses. For information
719// about setting up IP address filters, see the Amazon SES Developer Guide
720// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-ip-filters.html).
721type ReceiptFilter struct {
722
723	// A structure that provides the IP addresses to block or allow, and whether to
724	// block or allow incoming mail from them.
725	//
726	// This member is required.
727	IpFilter *ReceiptIpFilter
728
729	// The name of the IP address filter. The name must:
730	//
731	// * This value can only contain
732	// ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).
733	//
734	// *
735	// Start and end with a letter or number.
736	//
737	// * Contain less than 64 characters.
738	//
739	// This member is required.
740	Name *string
741}
742
743// A receipt IP address filter enables you to specify whether to accept or reject
744// mail originating from an IP address or range of IP addresses. For information
745// about setting up IP address filters, see the Amazon SES Developer Guide
746// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-ip-filters.html).
747type ReceiptIpFilter struct {
748
749	// A single IP address or a range of IP addresses that you want to block or allow,
750	// specified in Classless Inter-Domain Routing (CIDR) notation. An example of a
751	// single email address is 10.0.0.1. An example of a range of IP addresses is
752	// 10.0.0.1/24. For more information about CIDR notation, see RFC 2317
753	// (https://tools.ietf.org/html/rfc2317).
754	//
755	// This member is required.
756	Cidr *string
757
758	// Indicates whether to block or allow incoming mail from the specified IP
759	// addresses.
760	//
761	// This member is required.
762	Policy ReceiptFilterPolicy
763}
764
765// Receipt rules enable you to specify which actions Amazon SES should take when it
766// receives mail on behalf of one or more email addresses or domains that you own.
767// Each receipt rule defines a set of email addresses or domains that it applies
768// to. If the email addresses or domains match at least one recipient address of
769// the message, Amazon SES executes all of the receipt rule's actions on the
770// message. For information about setting up receipt rules, see the Amazon SES
771// Developer Guide
772// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html).
773type ReceiptRule struct {
774
775	// The name of the receipt rule. The name must:
776	//
777	// * This value can only contain
778	// ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).
779	//
780	// *
781	// Start and end with a letter or number.
782	//
783	// * Contain less than 64 characters.
784	//
785	// This member is required.
786	Name *string
787
788	// An ordered list of actions to perform on messages that match at least one of the
789	// recipient email addresses or domains specified in the receipt rule.
790	Actions []ReceiptAction
791
792	// If true, the receipt rule is active. The default value is false.
793	Enabled bool
794
795	// The recipient domains and email addresses that the receipt rule applies to. If
796	// this field is not specified, this rule will match all recipients under all
797	// verified domains.
798	Recipients []string
799
800	// If true, then messages that this receipt rule applies to are scanned for spam
801	// and viruses. The default value is false.
802	ScanEnabled bool
803
804	// Specifies whether Amazon SES should require that incoming email is delivered
805	// over a connection encrypted with Transport Layer Security (TLS). If this
806	// parameter is set to Require, Amazon SES will bounce emails that are not received
807	// over TLS. The default is Optional.
808	TlsPolicy TlsPolicy
809}
810
811// Information about a receipt rule set. A receipt rule set is a collection of
812// rules that specify what Amazon SES should do with mail it receives on behalf of
813// your account's verified domains. For information about setting up receipt rule
814// sets, see the Amazon SES Developer Guide
815// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html).
816type ReceiptRuleSetMetadata struct {
817
818	// The date and time the receipt rule set was created.
819	CreatedTimestamp *time.Time
820
821	// The name of the receipt rule set. The name must:
822	//
823	// * This value can only contain
824	// ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).
825	//
826	// *
827	// Start and end with a letter or number.
828	//
829	// * Contain less than 64 characters.
830	Name *string
831}
832
833// Recipient-related information to include in the Delivery Status Notification
834// (DSN) when an email that Amazon SES receives on your behalf bounces. For
835// information about receiving email through Amazon SES, see the Amazon SES
836// Developer Guide
837// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html).
838type RecipientDsnFields struct {
839
840	// The action performed by the reporting mail transfer agent (MTA) as a result of
841	// its attempt to deliver the message to the recipient address. This is required by
842	// RFC 3464 (https://tools.ietf.org/html/rfc3464).
843	//
844	// This member is required.
845	Action DsnAction
846
847	// The status code that indicates what went wrong. This is required by RFC 3464
848	// (https://tools.ietf.org/html/rfc3464).
849	//
850	// This member is required.
851	Status *string
852
853	// An extended explanation of what went wrong; this is usually an SMTP response.
854	// See RFC 3463 (https://tools.ietf.org/html/rfc3463) for the correct formatting of
855	// this parameter.
856	DiagnosticCode *string
857
858	// Additional X-headers to include in the DSN.
859	ExtensionFields []ExtensionField
860
861	// The email address that the message was ultimately delivered to. This corresponds
862	// to the Final-Recipient in the DSN. If not specified, FinalRecipient will be set
863	// to the Recipient specified in the BouncedRecipientInfo structure. Either
864	// FinalRecipient or the recipient in BouncedRecipientInfo must be a recipient of
865	// the original bounced message. Do not prepend the FinalRecipient email address
866	// with rfc 822;, as described in RFC 3798 (https://tools.ietf.org/html/rfc3798).
867	FinalRecipient *string
868
869	// The time the final delivery attempt was made, in RFC 822
870	// (https://www.ietf.org/rfc/rfc0822.txt) date-time format.
871	LastAttemptDate *time.Time
872
873	// The MTA to which the remote MTA attempted to deliver the message, formatted as
874	// specified in RFC 3464 (https://tools.ietf.org/html/rfc3464) (mta-name-type;
875	// mta-name). This parameter typically applies only to propagating synchronous
876	// bounces.
877	RemoteMta *string
878}
879
880// Contains information about the reputation settings for a configuration set.
881type ReputationOptions struct {
882
883	// The date and time at which the reputation metrics for the configuration set were
884	// last reset. Resetting these metrics is known as a fresh start. When you disable
885	// email sending for a configuration set using UpdateConfigurationSetSendingEnabled
886	// and later re-enable it, the reputation metrics for the configuration set (but
887	// not for the entire Amazon SES account) are reset. If email sending for the
888	// configuration set has never been disabled and later re-enabled, the value of
889	// this attribute is null.
890	LastFreshStart *time.Time
891
892	// Describes whether or not Amazon SES publishes reputation metrics for the
893	// configuration set, such as bounce and complaint rates, to Amazon CloudWatch. If
894	// the value is true, reputation metrics are published. If the value is false,
895	// reputation metrics are not published. The default value is false.
896	ReputationMetricsEnabled bool
897
898	// Describes whether email sending is enabled or disabled for the configuration
899	// set. If the value is true, then Amazon SES will send emails that use the
900	// configuration set. If the value is false, Amazon SES will not send emails that
901	// use the configuration set. The default value is true. You can change this
902	// setting using UpdateConfigurationSetSendingEnabled.
903	SendingEnabled bool
904}
905
906// When included in a receipt rule, this action saves the received message to an
907// Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes a
908// notification to Amazon Simple Notification Service (Amazon SNS). To enable
909// Amazon SES to write emails to your Amazon S3 bucket, use an AWS KMS key to
910// encrypt your emails, or publish to an Amazon SNS topic of another account,
911// Amazon SES must have permission to access those resources. For information about
912// giving permissions, see the Amazon SES Developer Guide
913// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html).
914// When you save your emails to an Amazon S3 bucket, the maximum email size
915// (including headers) is 30 MB. Emails larger than that will bounce. For
916// information about specifying Amazon S3 actions in receipt rules, see the Amazon
917// SES Developer Guide
918// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-s3.html).
919type S3Action struct {
920
921	// The name of the Amazon S3 bucket that incoming email will be saved to.
922	//
923	// This member is required.
924	BucketName *string
925
926	// The customer master key that Amazon SES should use to encrypt your emails before
927	// saving them to the Amazon S3 bucket. You can use the default master key or a
928	// custom master key you created in AWS KMS as follows:
929	//
930	// * To use the default
931	// master key, provide an ARN in the form of
932	// arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses. For example, if
933	// your AWS account ID is 123456789012 and you want to use the default master key
934	// in the US West (Oregon) region, the ARN of the default master key would be
935	// arn:aws:kms:us-west-2:123456789012:alias/aws/ses. If you use the default master
936	// key, you don't need to perform any extra steps to give Amazon SES permission to
937	// use the key.
938	//
939	// * To use a custom master key you created in AWS KMS, provide the
940	// ARN of the master key and ensure that you add a statement to your key's policy
941	// to give Amazon SES permission to use it. For more information about giving
942	// permissions, see the Amazon SES Developer Guide
943	// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html).
944	//
945	// For
946	// more information about key policies, see the AWS KMS Developer Guide
947	// (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html). If you do
948	// not specify a master key, Amazon SES will not encrypt your emails. Your mail is
949	// encrypted by Amazon SES using the Amazon S3 encryption client before the mail is
950	// submitted to Amazon S3 for storage. It is not encrypted using Amazon S3
951	// server-side encryption. This means that you must use the Amazon S3 encryption
952	// client to decrypt the email after retrieving it from Amazon S3, as the service
953	// has no access to use your AWS KMS keys for decryption. This encryption client is
954	// currently available with the AWS SDK for Java
955	// (http://aws.amazon.com/sdk-for-java/) and AWS SDK for Ruby
956	// (http://aws.amazon.com/sdk-for-ruby/) only. For more information about
957	// client-side encryption using AWS KMS master keys, see the Amazon S3 Developer
958	// Guide
959	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html).
960	KmsKeyArn *string
961
962	// The key prefix of the Amazon S3 bucket. The key prefix is similar to a directory
963	// name that enables you to store similar data under the same directory in a
964	// bucket.
965	ObjectKeyPrefix *string
966
967	// The ARN of the Amazon SNS topic to notify when the message is saved to the
968	// Amazon S3 bucket. An example of an Amazon SNS topic ARN is
969	// arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon
970	// SNS topics, see the Amazon SNS Developer Guide
971	// (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
972	TopicArn *string
973}
974
975// Represents sending statistics data. Each SendDataPoint contains statistics for a
976// 15-minute period of sending activity.
977type SendDataPoint struct {
978
979	// Number of emails that have bounced.
980	Bounces int64
981
982	// Number of unwanted emails that were rejected by recipients.
983	Complaints int64
984
985	// Number of emails that have been sent.
986	DeliveryAttempts int64
987
988	// Number of emails rejected by Amazon SES.
989	Rejects int64
990
991	// Time of the data point.
992	Timestamp *time.Time
993}
994
995// When included in a receipt rule, this action publishes a notification to Amazon
996// Simple Notification Service (Amazon SNS). This action includes a complete copy
997// of the email content in the Amazon SNS notifications. Amazon SNS notifications
998// for all other actions simply provide information about the email. They do not
999// include the email content itself. If you own the Amazon SNS topic, you don't
1000// need to do anything to give Amazon SES permission to publish emails to it.
1001// However, if you don't own the Amazon SNS topic, you need to attach a policy to
1002// the topic to give Amazon SES permissions to access it. For information about
1003// giving permissions, see the Amazon SES Developer Guide
1004// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html).
1005// You can only publish emails that are 150 KB or less (including the header) to
1006// Amazon SNS. Larger emails will bounce. If you anticipate emails larger than 150
1007// KB, use the S3 action instead. For information about using a receipt rule to
1008// publish an Amazon SNS notification, see the Amazon SES Developer Guide
1009// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-sns.html).
1010type SNSAction struct {
1011
1012	// The Amazon Resource Name (ARN) of the Amazon SNS topic to notify. An example of
1013	// an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more
1014	// information about Amazon SNS topics, see the Amazon SNS Developer Guide
1015	// (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
1016	//
1017	// This member is required.
1018	TopicArn *string
1019
1020	// The encoding to use for the email within the Amazon SNS notification. UTF-8 is
1021	// easier to use, but may not preserve all special characters when a message was
1022	// encoded with a different encoding format. Base64 preserves all special
1023	// characters. The default value is UTF-8.
1024	Encoding SNSActionEncoding
1025}
1026
1027// Contains the topic ARN associated with an Amazon Simple Notification Service
1028// (Amazon SNS) event destination. Event destinations, such as Amazon SNS, are
1029// associated with configuration sets, which enable you to publish email sending
1030// events. For information about using configuration sets, see the Amazon SES
1031// Developer Guide
1032// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-sending-activity.html).
1033type SNSDestination struct {
1034
1035	// The ARN of the Amazon SNS topic that email sending events will be published to.
1036	// An example of an Amazon SNS topic ARN is
1037	// arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon
1038	// SNS topics, see the Amazon SNS Developer Guide
1039	// (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
1040	//
1041	// This member is required.
1042	TopicARN *string
1043}
1044
1045// When included in a receipt rule, this action terminates the evaluation of the
1046// receipt rule set and, optionally, publishes a notification to Amazon Simple
1047// Notification Service (Amazon SNS). For information about setting a stop action
1048// in a receipt rule, see the Amazon SES Developer Guide
1049// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-stop.html).
1050type StopAction struct {
1051
1052	// The scope of the StopAction. The only acceptable value is RuleSet.
1053	//
1054	// This member is required.
1055	Scope StopScope
1056
1057	// The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the stop
1058	// action is taken. An example of an Amazon SNS topic ARN is
1059	// arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon
1060	// SNS topics, see the Amazon SNS Developer Guide
1061	// (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
1062	TopicArn *string
1063}
1064
1065// The content of the email, composed of a subject line, an HTML part, and a
1066// text-only part.
1067type Template struct {
1068
1069	// The name of the template. You will refer to this name when you send email using
1070	// the SendTemplatedEmail or SendBulkTemplatedEmail operations.
1071	//
1072	// This member is required.
1073	TemplateName *string
1074
1075	// The HTML body of the email.
1076	HtmlPart *string
1077
1078	// The subject line of the email.
1079	SubjectPart *string
1080
1081	// The email body that will be visible to recipients whose email clients do not
1082	// display HTML.
1083	TextPart *string
1084}
1085
1086// Contains information about an email template.
1087type TemplateMetadata struct {
1088
1089	// The time and date the template was created.
1090	CreatedTimestamp *time.Time
1091
1092	// The name of the template.
1093	Name *string
1094}
1095
1096// A domain that is used to redirect email recipients to an Amazon SES-operated
1097// domain. This domain captures open and click events generated by Amazon SES
1098// emails. For more information, see Configuring Custom Domains to Handle Open and
1099// Click Tracking
1100// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/configure-custom-open-click-domains.html)
1101// in the Amazon SES Developer Guide.
1102type TrackingOptions struct {
1103
1104	// The custom subdomain that will be used to redirect email recipients to the
1105	// Amazon SES event tracking domain.
1106	CustomRedirectDomain *string
1107}
1108
1109// When included in a receipt rule, this action calls Amazon WorkMail and,
1110// optionally, publishes a notification to Amazon Simple Notification Service
1111// (Amazon SNS). You will typically not use this action directly because Amazon
1112// WorkMail adds the rule automatically during its setup procedure. For information
1113// using a receipt rule to call Amazon WorkMail, see the Amazon SES Developer Guide
1114// (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-workmail.html).
1115type WorkmailAction struct {
1116
1117	// The ARN of the Amazon WorkMail organization. An example of an Amazon WorkMail
1118	// organization ARN is
1119	// arn:aws:workmail:us-west-2:123456789012:organization/m-68755160c4cb4e29a2b2f8fb58f359d7.
1120	// For information about Amazon WorkMail organizations, see the Amazon WorkMail
1121	// Administrator Guide
1122	// (https://docs.aws.amazon.com/workmail/latest/adminguide/organizations_overview.html).
1123	//
1124	// This member is required.
1125	OrganizationArn *string
1126
1127	// The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the
1128	// WorkMail action is called. An example of an Amazon SNS topic ARN is
1129	// arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon
1130	// SNS topics, see the Amazon SNS Developer Guide
1131	// (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html).
1132	TopicArn *string
1133}
1134