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