1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package ses_test 4 5import ( 6 "fmt" 7 "strings" 8 "time" 9 10 "github.com/aws/aws-sdk-go/aws" 11 "github.com/aws/aws-sdk-go/aws/awserr" 12 "github.com/aws/aws-sdk-go/aws/session" 13 "github.com/aws/aws-sdk-go/service/ses" 14) 15 16var _ time.Duration 17var _ strings.Reader 18var _ aws.Config 19 20func parseTime(layout, value string) *time.Time { 21 t, err := time.Parse(layout, value) 22 if err != nil { 23 panic(err) 24 } 25 return &t 26} 27 28// CloneReceiptRuleSet 29// 30// The following example creates a receipt rule set by cloning an existing one: 31func ExampleSES_CloneReceiptRuleSet_shared00() { 32 svc := ses.New(session.New()) 33 input := &ses.CloneReceiptRuleSetInput{ 34 OriginalRuleSetName: aws.String("RuleSetToClone"), 35 RuleSetName: aws.String("RuleSetToCreate"), 36 } 37 38 result, err := svc.CloneReceiptRuleSet(input) 39 if err != nil { 40 if aerr, ok := err.(awserr.Error); ok { 41 switch aerr.Code() { 42 case ses.ErrCodeRuleSetDoesNotExistException: 43 fmt.Println(ses.ErrCodeRuleSetDoesNotExistException, aerr.Error()) 44 case ses.ErrCodeAlreadyExistsException: 45 fmt.Println(ses.ErrCodeAlreadyExistsException, aerr.Error()) 46 case ses.ErrCodeLimitExceededException: 47 fmt.Println(ses.ErrCodeLimitExceededException, aerr.Error()) 48 default: 49 fmt.Println(aerr.Error()) 50 } 51 } else { 52 // Print the error, cast err to awserr.Error to get the Code and 53 // Message from an error. 54 fmt.Println(err.Error()) 55 } 56 return 57 } 58 59 fmt.Println(result) 60} 61 62// CreateReceiptFilter 63// 64// The following example creates a new IP address filter: 65func ExampleSES_CreateReceiptFilter_shared00() { 66 svc := ses.New(session.New()) 67 input := &ses.CreateReceiptFilterInput{ 68 Filter: &ses.ReceiptFilter{ 69 IpFilter: &ses.ReceiptIpFilter{ 70 Cidr: aws.String("1.2.3.4/24"), 71 Policy: aws.String("Allow"), 72 }, 73 Name: aws.String("MyFilter"), 74 }, 75 } 76 77 result, err := svc.CreateReceiptFilter(input) 78 if err != nil { 79 if aerr, ok := err.(awserr.Error); ok { 80 switch aerr.Code() { 81 case ses.ErrCodeLimitExceededException: 82 fmt.Println(ses.ErrCodeLimitExceededException, aerr.Error()) 83 case ses.ErrCodeAlreadyExistsException: 84 fmt.Println(ses.ErrCodeAlreadyExistsException, aerr.Error()) 85 default: 86 fmt.Println(aerr.Error()) 87 } 88 } else { 89 // Print the error, cast err to awserr.Error to get the Code and 90 // Message from an error. 91 fmt.Println(err.Error()) 92 } 93 return 94 } 95 96 fmt.Println(result) 97} 98 99// CreateReceiptRule 100// 101// The following example creates a new receipt rule: 102func ExampleSES_CreateReceiptRule_shared00() { 103 svc := ses.New(session.New()) 104 input := &ses.CreateReceiptRuleInput{ 105 After: aws.String(""), 106 Rule: &ses.ReceiptRule{ 107 Actions: []*ses.ReceiptAction{ 108 { 109 S3Action: &ses.S3Action{ 110 BucketName: aws.String("MyBucket"), 111 ObjectKeyPrefix: aws.String("email"), 112 }, 113 }, 114 }, 115 Enabled: aws.Bool(true), 116 Name: aws.String("MyRule"), 117 ScanEnabled: aws.Bool(true), 118 TlsPolicy: aws.String("Optional"), 119 }, 120 RuleSetName: aws.String("MyRuleSet"), 121 } 122 123 result, err := svc.CreateReceiptRule(input) 124 if err != nil { 125 if aerr, ok := err.(awserr.Error); ok { 126 switch aerr.Code() { 127 case ses.ErrCodeInvalidSnsTopicException: 128 fmt.Println(ses.ErrCodeInvalidSnsTopicException, aerr.Error()) 129 case ses.ErrCodeInvalidS3ConfigurationException: 130 fmt.Println(ses.ErrCodeInvalidS3ConfigurationException, aerr.Error()) 131 case ses.ErrCodeInvalidLambdaFunctionException: 132 fmt.Println(ses.ErrCodeInvalidLambdaFunctionException, aerr.Error()) 133 case ses.ErrCodeAlreadyExistsException: 134 fmt.Println(ses.ErrCodeAlreadyExistsException, aerr.Error()) 135 case ses.ErrCodeRuleDoesNotExistException: 136 fmt.Println(ses.ErrCodeRuleDoesNotExistException, aerr.Error()) 137 case ses.ErrCodeRuleSetDoesNotExistException: 138 fmt.Println(ses.ErrCodeRuleSetDoesNotExistException, aerr.Error()) 139 case ses.ErrCodeLimitExceededException: 140 fmt.Println(ses.ErrCodeLimitExceededException, aerr.Error()) 141 default: 142 fmt.Println(aerr.Error()) 143 } 144 } else { 145 // Print the error, cast err to awserr.Error to get the Code and 146 // Message from an error. 147 fmt.Println(err.Error()) 148 } 149 return 150 } 151 152 fmt.Println(result) 153} 154 155// CreateReceiptRuleSet 156// 157// The following example creates an empty receipt rule set: 158func ExampleSES_CreateReceiptRuleSet_shared00() { 159 svc := ses.New(session.New()) 160 input := &ses.CreateReceiptRuleSetInput{ 161 RuleSetName: aws.String("MyRuleSet"), 162 } 163 164 result, err := svc.CreateReceiptRuleSet(input) 165 if err != nil { 166 if aerr, ok := err.(awserr.Error); ok { 167 switch aerr.Code() { 168 case ses.ErrCodeAlreadyExistsException: 169 fmt.Println(ses.ErrCodeAlreadyExistsException, aerr.Error()) 170 case ses.ErrCodeLimitExceededException: 171 fmt.Println(ses.ErrCodeLimitExceededException, aerr.Error()) 172 default: 173 fmt.Println(aerr.Error()) 174 } 175 } else { 176 // Print the error, cast err to awserr.Error to get the Code and 177 // Message from an error. 178 fmt.Println(err.Error()) 179 } 180 return 181 } 182 183 fmt.Println(result) 184} 185 186// DeleteIdentity 187// 188// The following example deletes an identity from the list of identities that have been 189// submitted for verification with Amazon SES: 190func ExampleSES_DeleteIdentity_shared00() { 191 svc := ses.New(session.New()) 192 input := &ses.DeleteIdentityInput{ 193 Identity: aws.String("user@example.com"), 194 } 195 196 result, err := svc.DeleteIdentity(input) 197 if err != nil { 198 if aerr, ok := err.(awserr.Error); ok { 199 switch aerr.Code() { 200 default: 201 fmt.Println(aerr.Error()) 202 } 203 } else { 204 // Print the error, cast err to awserr.Error to get the Code and 205 // Message from an error. 206 fmt.Println(err.Error()) 207 } 208 return 209 } 210 211 fmt.Println(result) 212} 213 214// DeleteIdentityPolicy 215// 216// The following example deletes a sending authorization policy for an identity: 217func ExampleSES_DeleteIdentityPolicy_shared00() { 218 svc := ses.New(session.New()) 219 input := &ses.DeleteIdentityPolicyInput{ 220 Identity: aws.String("user@example.com"), 221 PolicyName: aws.String("MyPolicy"), 222 } 223 224 result, err := svc.DeleteIdentityPolicy(input) 225 if err != nil { 226 if aerr, ok := err.(awserr.Error); ok { 227 switch aerr.Code() { 228 default: 229 fmt.Println(aerr.Error()) 230 } 231 } else { 232 // Print the error, cast err to awserr.Error to get the Code and 233 // Message from an error. 234 fmt.Println(err.Error()) 235 } 236 return 237 } 238 239 fmt.Println(result) 240} 241 242// DeleteReceiptFilter 243// 244// The following example deletes an IP address filter: 245func ExampleSES_DeleteReceiptFilter_shared00() { 246 svc := ses.New(session.New()) 247 input := &ses.DeleteReceiptFilterInput{ 248 FilterName: aws.String("MyFilter"), 249 } 250 251 result, err := svc.DeleteReceiptFilter(input) 252 if err != nil { 253 if aerr, ok := err.(awserr.Error); ok { 254 switch aerr.Code() { 255 default: 256 fmt.Println(aerr.Error()) 257 } 258 } else { 259 // Print the error, cast err to awserr.Error to get the Code and 260 // Message from an error. 261 fmt.Println(err.Error()) 262 } 263 return 264 } 265 266 fmt.Println(result) 267} 268 269// DeleteReceiptRule 270// 271// The following example deletes a receipt rule: 272func ExampleSES_DeleteReceiptRule_shared00() { 273 svc := ses.New(session.New()) 274 input := &ses.DeleteReceiptRuleInput{ 275 RuleName: aws.String("MyRule"), 276 RuleSetName: aws.String("MyRuleSet"), 277 } 278 279 result, err := svc.DeleteReceiptRule(input) 280 if err != nil { 281 if aerr, ok := err.(awserr.Error); ok { 282 switch aerr.Code() { 283 case ses.ErrCodeRuleSetDoesNotExistException: 284 fmt.Println(ses.ErrCodeRuleSetDoesNotExistException, aerr.Error()) 285 default: 286 fmt.Println(aerr.Error()) 287 } 288 } else { 289 // Print the error, cast err to awserr.Error to get the Code and 290 // Message from an error. 291 fmt.Println(err.Error()) 292 } 293 return 294 } 295 296 fmt.Println(result) 297} 298 299// DeleteReceiptRuleSet 300// 301// The following example deletes a receipt rule set: 302func ExampleSES_DeleteReceiptRuleSet_shared00() { 303 svc := ses.New(session.New()) 304 input := &ses.DeleteReceiptRuleSetInput{ 305 RuleSetName: aws.String("MyRuleSet"), 306 } 307 308 result, err := svc.DeleteReceiptRuleSet(input) 309 if err != nil { 310 if aerr, ok := err.(awserr.Error); ok { 311 switch aerr.Code() { 312 case ses.ErrCodeCannotDeleteException: 313 fmt.Println(ses.ErrCodeCannotDeleteException, aerr.Error()) 314 default: 315 fmt.Println(aerr.Error()) 316 } 317 } else { 318 // Print the error, cast err to awserr.Error to get the Code and 319 // Message from an error. 320 fmt.Println(err.Error()) 321 } 322 return 323 } 324 325 fmt.Println(result) 326} 327 328// DeleteVerifiedEmailAddress 329// 330// The following example deletes an email address from the list of identities that have 331// been submitted for verification with Amazon SES: 332func ExampleSES_DeleteVerifiedEmailAddress_shared00() { 333 svc := ses.New(session.New()) 334 input := &ses.DeleteVerifiedEmailAddressInput{ 335 EmailAddress: aws.String("user@example.com"), 336 } 337 338 result, err := svc.DeleteVerifiedEmailAddress(input) 339 if err != nil { 340 if aerr, ok := err.(awserr.Error); ok { 341 switch aerr.Code() { 342 default: 343 fmt.Println(aerr.Error()) 344 } 345 } else { 346 // Print the error, cast err to awserr.Error to get the Code and 347 // Message from an error. 348 fmt.Println(err.Error()) 349 } 350 return 351 } 352 353 fmt.Println(result) 354} 355 356// DescribeActiveReceiptRuleSet 357// 358// The following example returns the metadata and receipt rules for the receipt rule 359// set that is currently active: 360func ExampleSES_DescribeActiveReceiptRuleSet_shared00() { 361 svc := ses.New(session.New()) 362 input := &ses.DescribeActiveReceiptRuleSetInput{} 363 364 result, err := svc.DescribeActiveReceiptRuleSet(input) 365 if err != nil { 366 if aerr, ok := err.(awserr.Error); ok { 367 switch aerr.Code() { 368 default: 369 fmt.Println(aerr.Error()) 370 } 371 } else { 372 // Print the error, cast err to awserr.Error to get the Code and 373 // Message from an error. 374 fmt.Println(err.Error()) 375 } 376 return 377 } 378 379 fmt.Println(result) 380} 381 382// DescribeReceiptRule 383// 384// The following example returns the details of a receipt rule: 385func ExampleSES_DescribeReceiptRule_shared00() { 386 svc := ses.New(session.New()) 387 input := &ses.DescribeReceiptRuleInput{ 388 RuleName: aws.String("MyRule"), 389 RuleSetName: aws.String("MyRuleSet"), 390 } 391 392 result, err := svc.DescribeReceiptRule(input) 393 if err != nil { 394 if aerr, ok := err.(awserr.Error); ok { 395 switch aerr.Code() { 396 case ses.ErrCodeRuleDoesNotExistException: 397 fmt.Println(ses.ErrCodeRuleDoesNotExistException, aerr.Error()) 398 case ses.ErrCodeRuleSetDoesNotExistException: 399 fmt.Println(ses.ErrCodeRuleSetDoesNotExistException, aerr.Error()) 400 default: 401 fmt.Println(aerr.Error()) 402 } 403 } else { 404 // Print the error, cast err to awserr.Error to get the Code and 405 // Message from an error. 406 fmt.Println(err.Error()) 407 } 408 return 409 } 410 411 fmt.Println(result) 412} 413 414// DescribeReceiptRuleSet 415// 416// The following example returns the metadata and receipt rules of a receipt rule set: 417func ExampleSES_DescribeReceiptRuleSet_shared00() { 418 svc := ses.New(session.New()) 419 input := &ses.DescribeReceiptRuleSetInput{ 420 RuleSetName: aws.String("MyRuleSet"), 421 } 422 423 result, err := svc.DescribeReceiptRuleSet(input) 424 if err != nil { 425 if aerr, ok := err.(awserr.Error); ok { 426 switch aerr.Code() { 427 case ses.ErrCodeRuleSetDoesNotExistException: 428 fmt.Println(ses.ErrCodeRuleSetDoesNotExistException, aerr.Error()) 429 default: 430 fmt.Println(aerr.Error()) 431 } 432 } else { 433 // Print the error, cast err to awserr.Error to get the Code and 434 // Message from an error. 435 fmt.Println(err.Error()) 436 } 437 return 438 } 439 440 fmt.Println(result) 441} 442 443// GetAccountSendingEnabled 444// 445// The following example returns if sending status for an account is enabled. (true 446// / false): 447func ExampleSES_GetAccountSendingEnabled_shared00() { 448 svc := ses.New(session.New()) 449 input := &ses.GetAccountSendingEnabledInput{} 450 451 result, err := svc.GetAccountSendingEnabled(input) 452 if err != nil { 453 if aerr, ok := err.(awserr.Error); ok { 454 switch aerr.Code() { 455 default: 456 fmt.Println(aerr.Error()) 457 } 458 } else { 459 // Print the error, cast err to awserr.Error to get the Code and 460 // Message from an error. 461 fmt.Println(err.Error()) 462 } 463 return 464 } 465 466 fmt.Println(result) 467} 468 469// GetIdentityDkimAttributes 470// 471// The following example retrieves the Amazon SES Easy DKIM attributes for a list of 472// identities: 473func ExampleSES_GetIdentityDkimAttributes_shared00() { 474 svc := ses.New(session.New()) 475 input := &ses.GetIdentityDkimAttributesInput{ 476 Identities: []*string{ 477 aws.String("example.com"), 478 aws.String("user@example.com"), 479 }, 480 } 481 482 result, err := svc.GetIdentityDkimAttributes(input) 483 if err != nil { 484 if aerr, ok := err.(awserr.Error); ok { 485 switch aerr.Code() { 486 default: 487 fmt.Println(aerr.Error()) 488 } 489 } else { 490 // Print the error, cast err to awserr.Error to get the Code and 491 // Message from an error. 492 fmt.Println(err.Error()) 493 } 494 return 495 } 496 497 fmt.Println(result) 498} 499 500// GetIdentityMailFromDomainAttributes 501// 502// The following example returns the custom MAIL FROM attributes for an identity: 503func ExampleSES_GetIdentityMailFromDomainAttributes_shared00() { 504 svc := ses.New(session.New()) 505 input := &ses.GetIdentityMailFromDomainAttributesInput{ 506 Identities: []*string{ 507 aws.String("example.com"), 508 }, 509 } 510 511 result, err := svc.GetIdentityMailFromDomainAttributes(input) 512 if err != nil { 513 if aerr, ok := err.(awserr.Error); ok { 514 switch aerr.Code() { 515 default: 516 fmt.Println(aerr.Error()) 517 } 518 } else { 519 // Print the error, cast err to awserr.Error to get the Code and 520 // Message from an error. 521 fmt.Println(err.Error()) 522 } 523 return 524 } 525 526 fmt.Println(result) 527} 528 529// GetIdentityNotificationAttributes 530// 531// The following example returns the notification attributes for an identity: 532func ExampleSES_GetIdentityNotificationAttributes_shared00() { 533 svc := ses.New(session.New()) 534 input := &ses.GetIdentityNotificationAttributesInput{ 535 Identities: []*string{ 536 aws.String("example.com"), 537 }, 538 } 539 540 result, err := svc.GetIdentityNotificationAttributes(input) 541 if err != nil { 542 if aerr, ok := err.(awserr.Error); ok { 543 switch aerr.Code() { 544 default: 545 fmt.Println(aerr.Error()) 546 } 547 } else { 548 // Print the error, cast err to awserr.Error to get the Code and 549 // Message from an error. 550 fmt.Println(err.Error()) 551 } 552 return 553 } 554 555 fmt.Println(result) 556} 557 558// GetIdentityPolicies 559// 560// The following example returns a sending authorization policy for an identity: 561func ExampleSES_GetIdentityPolicies_shared00() { 562 svc := ses.New(session.New()) 563 input := &ses.GetIdentityPoliciesInput{ 564 Identity: aws.String("example.com"), 565 PolicyNames: []*string{ 566 aws.String("MyPolicy"), 567 }, 568 } 569 570 result, err := svc.GetIdentityPolicies(input) 571 if err != nil { 572 if aerr, ok := err.(awserr.Error); ok { 573 switch aerr.Code() { 574 default: 575 fmt.Println(aerr.Error()) 576 } 577 } else { 578 // Print the error, cast err to awserr.Error to get the Code and 579 // Message from an error. 580 fmt.Println(err.Error()) 581 } 582 return 583 } 584 585 fmt.Println(result) 586} 587 588// GetIdentityVerificationAttributes 589// 590// The following example returns the verification status and the verification token 591// for a domain identity: 592func ExampleSES_GetIdentityVerificationAttributes_shared00() { 593 svc := ses.New(session.New()) 594 input := &ses.GetIdentityVerificationAttributesInput{ 595 Identities: []*string{ 596 aws.String("example.com"), 597 }, 598 } 599 600 result, err := svc.GetIdentityVerificationAttributes(input) 601 if err != nil { 602 if aerr, ok := err.(awserr.Error); ok { 603 switch aerr.Code() { 604 default: 605 fmt.Println(aerr.Error()) 606 } 607 } else { 608 // Print the error, cast err to awserr.Error to get the Code and 609 // Message from an error. 610 fmt.Println(err.Error()) 611 } 612 return 613 } 614 615 fmt.Println(result) 616} 617 618// GetSendQuota 619// 620// The following example returns the Amazon SES sending limits for an AWS account: 621func ExampleSES_GetSendQuota_shared00() { 622 svc := ses.New(session.New()) 623 input := &ses.GetSendQuotaInput{} 624 625 result, err := svc.GetSendQuota(input) 626 if err != nil { 627 if aerr, ok := err.(awserr.Error); ok { 628 switch aerr.Code() { 629 default: 630 fmt.Println(aerr.Error()) 631 } 632 } else { 633 // Print the error, cast err to awserr.Error to get the Code and 634 // Message from an error. 635 fmt.Println(err.Error()) 636 } 637 return 638 } 639 640 fmt.Println(result) 641} 642 643// GetSendStatistics 644// 645// The following example returns Amazon SES sending statistics: 646func ExampleSES_GetSendStatistics_shared00() { 647 svc := ses.New(session.New()) 648 input := &ses.GetSendStatisticsInput{} 649 650 result, err := svc.GetSendStatistics(input) 651 if err != nil { 652 if aerr, ok := err.(awserr.Error); ok { 653 switch aerr.Code() { 654 default: 655 fmt.Println(aerr.Error()) 656 } 657 } else { 658 // Print the error, cast err to awserr.Error to get the Code and 659 // Message from an error. 660 fmt.Println(err.Error()) 661 } 662 return 663 } 664 665 fmt.Println(result) 666} 667 668// ListIdentities 669// 670// The following example lists the email address identities that have been submitted 671// for verification with Amazon SES: 672func ExampleSES_ListIdentities_shared00() { 673 svc := ses.New(session.New()) 674 input := &ses.ListIdentitiesInput{ 675 IdentityType: aws.String("EmailAddress"), 676 MaxItems: aws.Int64(123), 677 NextToken: aws.String(""), 678 } 679 680 result, err := svc.ListIdentities(input) 681 if err != nil { 682 if aerr, ok := err.(awserr.Error); ok { 683 switch aerr.Code() { 684 default: 685 fmt.Println(aerr.Error()) 686 } 687 } else { 688 // Print the error, cast err to awserr.Error to get the Code and 689 // Message from an error. 690 fmt.Println(err.Error()) 691 } 692 return 693 } 694 695 fmt.Println(result) 696} 697 698// ListIdentityPolicies 699// 700// The following example returns a list of sending authorization policies that are attached 701// to an identity: 702func ExampleSES_ListIdentityPolicies_shared00() { 703 svc := ses.New(session.New()) 704 input := &ses.ListIdentityPoliciesInput{ 705 Identity: aws.String("example.com"), 706 } 707 708 result, err := svc.ListIdentityPolicies(input) 709 if err != nil { 710 if aerr, ok := err.(awserr.Error); ok { 711 switch aerr.Code() { 712 default: 713 fmt.Println(aerr.Error()) 714 } 715 } else { 716 // Print the error, cast err to awserr.Error to get the Code and 717 // Message from an error. 718 fmt.Println(err.Error()) 719 } 720 return 721 } 722 723 fmt.Println(result) 724} 725 726// ListReceiptFilters 727// 728// The following example lists the IP address filters that are associated with an AWS 729// account: 730func ExampleSES_ListReceiptFilters_shared00() { 731 svc := ses.New(session.New()) 732 input := &ses.ListReceiptFiltersInput{} 733 734 result, err := svc.ListReceiptFilters(input) 735 if err != nil { 736 if aerr, ok := err.(awserr.Error); ok { 737 switch aerr.Code() { 738 default: 739 fmt.Println(aerr.Error()) 740 } 741 } else { 742 // Print the error, cast err to awserr.Error to get the Code and 743 // Message from an error. 744 fmt.Println(err.Error()) 745 } 746 return 747 } 748 749 fmt.Println(result) 750} 751 752// ListReceiptRuleSets 753// 754// The following example lists the receipt rule sets that exist under an AWS account: 755func ExampleSES_ListReceiptRuleSets_shared00() { 756 svc := ses.New(session.New()) 757 input := &ses.ListReceiptRuleSetsInput{ 758 NextToken: aws.String(""), 759 } 760 761 result, err := svc.ListReceiptRuleSets(input) 762 if err != nil { 763 if aerr, ok := err.(awserr.Error); ok { 764 switch aerr.Code() { 765 default: 766 fmt.Println(aerr.Error()) 767 } 768 } else { 769 // Print the error, cast err to awserr.Error to get the Code and 770 // Message from an error. 771 fmt.Println(err.Error()) 772 } 773 return 774 } 775 776 fmt.Println(result) 777} 778 779// ListVerifiedEmailAddresses 780// 781// The following example lists all email addresses that have been submitted for verification 782// with Amazon SES: 783func ExampleSES_ListVerifiedEmailAddresses_shared00() { 784 svc := ses.New(session.New()) 785 input := &ses.ListVerifiedEmailAddressesInput{} 786 787 result, err := svc.ListVerifiedEmailAddresses(input) 788 if err != nil { 789 if aerr, ok := err.(awserr.Error); ok { 790 switch aerr.Code() { 791 default: 792 fmt.Println(aerr.Error()) 793 } 794 } else { 795 // Print the error, cast err to awserr.Error to get the Code and 796 // Message from an error. 797 fmt.Println(err.Error()) 798 } 799 return 800 } 801 802 fmt.Println(result) 803} 804 805// PutIdentityPolicy 806// 807// The following example adds a sending authorization policy to an identity: 808func ExampleSES_PutIdentityPolicy_shared00() { 809 svc := ses.New(session.New()) 810 input := &ses.PutIdentityPolicyInput{ 811 Identity: aws.String("example.com"), 812 Policy: aws.String("{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"stmt1469123904194\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789012:root\"},\"Action\":[\"ses:SendEmail\",\"ses:SendRawEmail\"],\"Resource\":\"arn:aws:ses:us-east-1:EXAMPLE65304:identity/example.com\"}]}"), 813 PolicyName: aws.String("MyPolicy"), 814 } 815 816 result, err := svc.PutIdentityPolicy(input) 817 if err != nil { 818 if aerr, ok := err.(awserr.Error); ok { 819 switch aerr.Code() { 820 case ses.ErrCodeInvalidPolicyException: 821 fmt.Println(ses.ErrCodeInvalidPolicyException, aerr.Error()) 822 default: 823 fmt.Println(aerr.Error()) 824 } 825 } else { 826 // Print the error, cast err to awserr.Error to get the Code and 827 // Message from an error. 828 fmt.Println(err.Error()) 829 } 830 return 831 } 832 833 fmt.Println(result) 834} 835 836// ReorderReceiptRuleSet 837// 838// The following example reorders the receipt rules within a receipt rule set: 839func ExampleSES_ReorderReceiptRuleSet_shared00() { 840 svc := ses.New(session.New()) 841 input := &ses.ReorderReceiptRuleSetInput{ 842 RuleNames: []*string{ 843 aws.String("MyRule"), 844 aws.String("MyOtherRule"), 845 }, 846 RuleSetName: aws.String("MyRuleSet"), 847 } 848 849 result, err := svc.ReorderReceiptRuleSet(input) 850 if err != nil { 851 if aerr, ok := err.(awserr.Error); ok { 852 switch aerr.Code() { 853 case ses.ErrCodeRuleSetDoesNotExistException: 854 fmt.Println(ses.ErrCodeRuleSetDoesNotExistException, aerr.Error()) 855 case ses.ErrCodeRuleDoesNotExistException: 856 fmt.Println(ses.ErrCodeRuleDoesNotExistException, aerr.Error()) 857 default: 858 fmt.Println(aerr.Error()) 859 } 860 } else { 861 // Print the error, cast err to awserr.Error to get the Code and 862 // Message from an error. 863 fmt.Println(err.Error()) 864 } 865 return 866 } 867 868 fmt.Println(result) 869} 870 871// SendEmail 872// 873// The following example sends a formatted email: 874func ExampleSES_SendEmail_shared00() { 875 svc := ses.New(session.New()) 876 input := &ses.SendEmailInput{ 877 Destination: &ses.Destination{ 878 CcAddresses: []*string{ 879 aws.String("recipient3@example.com"), 880 }, 881 ToAddresses: []*string{ 882 aws.String("recipient1@example.com"), 883 aws.String("recipient2@example.com"), 884 }, 885 }, 886 Message: &ses.Message{ 887 Body: &ses.Body{ 888 Html: &ses.Content{ 889 Charset: aws.String("UTF-8"), 890 Data: aws.String("This message body contains HTML formatting. It can, for example, contain links like this one: <a class=\"ulink\" href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide\" target=\"_blank\">Amazon SES Developer Guide</a>."), 891 }, 892 Text: &ses.Content{ 893 Charset: aws.String("UTF-8"), 894 Data: aws.String("This is the message body in text format."), 895 }, 896 }, 897 Subject: &ses.Content{ 898 Charset: aws.String("UTF-8"), 899 Data: aws.String("Test email"), 900 }, 901 }, 902 ReturnPath: aws.String(""), 903 ReturnPathArn: aws.String(""), 904 Source: aws.String("sender@example.com"), 905 SourceArn: aws.String(""), 906 } 907 908 result, err := svc.SendEmail(input) 909 if err != nil { 910 if aerr, ok := err.(awserr.Error); ok { 911 switch aerr.Code() { 912 case ses.ErrCodeMessageRejected: 913 fmt.Println(ses.ErrCodeMessageRejected, aerr.Error()) 914 case ses.ErrCodeMailFromDomainNotVerifiedException: 915 fmt.Println(ses.ErrCodeMailFromDomainNotVerifiedException, aerr.Error()) 916 case ses.ErrCodeConfigurationSetDoesNotExistException: 917 fmt.Println(ses.ErrCodeConfigurationSetDoesNotExistException, aerr.Error()) 918 case ses.ErrCodeConfigurationSetSendingPausedException: 919 fmt.Println(ses.ErrCodeConfigurationSetSendingPausedException, aerr.Error()) 920 case ses.ErrCodeAccountSendingPausedException: 921 fmt.Println(ses.ErrCodeAccountSendingPausedException, aerr.Error()) 922 default: 923 fmt.Println(aerr.Error()) 924 } 925 } else { 926 // Print the error, cast err to awserr.Error to get the Code and 927 // Message from an error. 928 fmt.Println(err.Error()) 929 } 930 return 931 } 932 933 fmt.Println(result) 934} 935 936// SendRawEmail 937// 938// The following example sends an email with an attachment: 939func ExampleSES_SendRawEmail_shared00() { 940 svc := ses.New(session.New()) 941 input := &ses.SendRawEmailInput{ 942 FromArn: aws.String(""), 943 RawMessage: &ses.RawMessage{ 944 Data: []byte("From: sender@example.com\\nTo: recipient@example.com\\nSubject: Test email (contains an attachment)\\nMIME-Version: 1.0\\nContent-type: Multipart/Mixed; boundary=\"NextPart\"\\n\\n--NextPart\\nContent-Type: text/plain\\n\\nThis is the message body.\\n\\n--NextPart\\nContent-Type: text/plain;\\nContent-Disposition: attachment; filename=\"attachment.txt\"\\n\\nThis is the text in the attachment.\\n\\n--NextPart--"), 945 }, 946 ReturnPathArn: aws.String(""), 947 Source: aws.String(""), 948 SourceArn: aws.String(""), 949 } 950 951 result, err := svc.SendRawEmail(input) 952 if err != nil { 953 if aerr, ok := err.(awserr.Error); ok { 954 switch aerr.Code() { 955 case ses.ErrCodeMessageRejected: 956 fmt.Println(ses.ErrCodeMessageRejected, aerr.Error()) 957 case ses.ErrCodeMailFromDomainNotVerifiedException: 958 fmt.Println(ses.ErrCodeMailFromDomainNotVerifiedException, aerr.Error()) 959 case ses.ErrCodeConfigurationSetDoesNotExistException: 960 fmt.Println(ses.ErrCodeConfigurationSetDoesNotExistException, aerr.Error()) 961 case ses.ErrCodeConfigurationSetSendingPausedException: 962 fmt.Println(ses.ErrCodeConfigurationSetSendingPausedException, aerr.Error()) 963 case ses.ErrCodeAccountSendingPausedException: 964 fmt.Println(ses.ErrCodeAccountSendingPausedException, aerr.Error()) 965 default: 966 fmt.Println(aerr.Error()) 967 } 968 } else { 969 // Print the error, cast err to awserr.Error to get the Code and 970 // Message from an error. 971 fmt.Println(err.Error()) 972 } 973 return 974 } 975 976 fmt.Println(result) 977} 978 979// SetActiveReceiptRuleSet 980// 981// The following example sets the active receipt rule set: 982func ExampleSES_SetActiveReceiptRuleSet_shared00() { 983 svc := ses.New(session.New()) 984 input := &ses.SetActiveReceiptRuleSetInput{ 985 RuleSetName: aws.String("RuleSetToActivate"), 986 } 987 988 result, err := svc.SetActiveReceiptRuleSet(input) 989 if err != nil { 990 if aerr, ok := err.(awserr.Error); ok { 991 switch aerr.Code() { 992 case ses.ErrCodeRuleSetDoesNotExistException: 993 fmt.Println(ses.ErrCodeRuleSetDoesNotExistException, aerr.Error()) 994 default: 995 fmt.Println(aerr.Error()) 996 } 997 } else { 998 // Print the error, cast err to awserr.Error to get the Code and 999 // Message from an error. 1000 fmt.Println(err.Error()) 1001 } 1002 return 1003 } 1004 1005 fmt.Println(result) 1006} 1007 1008// SetIdentityDkimEnabled 1009// 1010// The following example configures Amazon SES to Easy DKIM-sign the email sent from 1011// an identity: 1012func ExampleSES_SetIdentityDkimEnabled_shared00() { 1013 svc := ses.New(session.New()) 1014 input := &ses.SetIdentityDkimEnabledInput{ 1015 DkimEnabled: aws.Bool(true), 1016 Identity: aws.String("user@example.com"), 1017 } 1018 1019 result, err := svc.SetIdentityDkimEnabled(input) 1020 if err != nil { 1021 if aerr, ok := err.(awserr.Error); ok { 1022 switch aerr.Code() { 1023 default: 1024 fmt.Println(aerr.Error()) 1025 } 1026 } else { 1027 // Print the error, cast err to awserr.Error to get the Code and 1028 // Message from an error. 1029 fmt.Println(err.Error()) 1030 } 1031 return 1032 } 1033 1034 fmt.Println(result) 1035} 1036 1037// SetIdentityFeedbackForwardingEnabled 1038// 1039// The following example configures Amazon SES to forward an identity's bounces and 1040// complaints via email: 1041func ExampleSES_SetIdentityFeedbackForwardingEnabled_shared00() { 1042 svc := ses.New(session.New()) 1043 input := &ses.SetIdentityFeedbackForwardingEnabledInput{ 1044 ForwardingEnabled: aws.Bool(true), 1045 Identity: aws.String("user@example.com"), 1046 } 1047 1048 result, err := svc.SetIdentityFeedbackForwardingEnabled(input) 1049 if err != nil { 1050 if aerr, ok := err.(awserr.Error); ok { 1051 switch aerr.Code() { 1052 default: 1053 fmt.Println(aerr.Error()) 1054 } 1055 } else { 1056 // Print the error, cast err to awserr.Error to get the Code and 1057 // Message from an error. 1058 fmt.Println(err.Error()) 1059 } 1060 return 1061 } 1062 1063 fmt.Println(result) 1064} 1065 1066// SetIdentityHeadersInNotificationsEnabled 1067// 1068// The following example configures Amazon SES to include the original email headers 1069// in the Amazon SNS bounce notifications for an identity: 1070func ExampleSES_SetIdentityHeadersInNotificationsEnabled_shared00() { 1071 svc := ses.New(session.New()) 1072 input := &ses.SetIdentityHeadersInNotificationsEnabledInput{ 1073 Enabled: aws.Bool(true), 1074 Identity: aws.String("user@example.com"), 1075 NotificationType: aws.String("Bounce"), 1076 } 1077 1078 result, err := svc.SetIdentityHeadersInNotificationsEnabled(input) 1079 if err != nil { 1080 if aerr, ok := err.(awserr.Error); ok { 1081 switch aerr.Code() { 1082 default: 1083 fmt.Println(aerr.Error()) 1084 } 1085 } else { 1086 // Print the error, cast err to awserr.Error to get the Code and 1087 // Message from an error. 1088 fmt.Println(err.Error()) 1089 } 1090 return 1091 } 1092 1093 fmt.Println(result) 1094} 1095 1096// SetIdentityMailFromDomain 1097// 1098// The following example configures Amazon SES to use a custom MAIL FROM domain for 1099// an identity: 1100func ExampleSES_SetIdentityMailFromDomain_shared00() { 1101 svc := ses.New(session.New()) 1102 input := &ses.SetIdentityMailFromDomainInput{ 1103 BehaviorOnMXFailure: aws.String("UseDefaultValue"), 1104 Identity: aws.String("user@example.com"), 1105 MailFromDomain: aws.String("bounces.example.com"), 1106 } 1107 1108 result, err := svc.SetIdentityMailFromDomain(input) 1109 if err != nil { 1110 if aerr, ok := err.(awserr.Error); ok { 1111 switch aerr.Code() { 1112 default: 1113 fmt.Println(aerr.Error()) 1114 } 1115 } else { 1116 // Print the error, cast err to awserr.Error to get the Code and 1117 // Message from an error. 1118 fmt.Println(err.Error()) 1119 } 1120 return 1121 } 1122 1123 fmt.Println(result) 1124} 1125 1126// SetIdentityNotificationTopic 1127// 1128// The following example sets the Amazon SNS topic to which Amazon SES will publish 1129// bounce, complaint, and/or delivery notifications for emails sent with the specified 1130// identity as the Source: 1131func ExampleSES_SetIdentityNotificationTopic_shared00() { 1132 svc := ses.New(session.New()) 1133 input := &ses.SetIdentityNotificationTopicInput{ 1134 Identity: aws.String("user@example.com"), 1135 NotificationType: aws.String("Bounce"), 1136 SnsTopic: aws.String("arn:aws:sns:us-west-2:111122223333:MyTopic"), 1137 } 1138 1139 result, err := svc.SetIdentityNotificationTopic(input) 1140 if err != nil { 1141 if aerr, ok := err.(awserr.Error); ok { 1142 switch aerr.Code() { 1143 default: 1144 fmt.Println(aerr.Error()) 1145 } 1146 } else { 1147 // Print the error, cast err to awserr.Error to get the Code and 1148 // Message from an error. 1149 fmt.Println(err.Error()) 1150 } 1151 return 1152 } 1153 1154 fmt.Println(result) 1155} 1156 1157// SetReceiptRulePosition 1158// 1159// The following example sets the position of a receipt rule in a receipt rule set: 1160func ExampleSES_SetReceiptRulePosition_shared00() { 1161 svc := ses.New(session.New()) 1162 input := &ses.SetReceiptRulePositionInput{ 1163 After: aws.String("PutRuleAfterThisRule"), 1164 RuleName: aws.String("RuleToReposition"), 1165 RuleSetName: aws.String("MyRuleSet"), 1166 } 1167 1168 result, err := svc.SetReceiptRulePosition(input) 1169 if err != nil { 1170 if aerr, ok := err.(awserr.Error); ok { 1171 switch aerr.Code() { 1172 case ses.ErrCodeRuleSetDoesNotExistException: 1173 fmt.Println(ses.ErrCodeRuleSetDoesNotExistException, aerr.Error()) 1174 case ses.ErrCodeRuleDoesNotExistException: 1175 fmt.Println(ses.ErrCodeRuleDoesNotExistException, aerr.Error()) 1176 default: 1177 fmt.Println(aerr.Error()) 1178 } 1179 } else { 1180 // Print the error, cast err to awserr.Error to get the Code and 1181 // Message from an error. 1182 fmt.Println(err.Error()) 1183 } 1184 return 1185 } 1186 1187 fmt.Println(result) 1188} 1189 1190// UpdateAccountSendingEnabled 1191// 1192// The following example updated the sending status for this account. 1193func ExampleSES_UpdateAccountSendingEnabled_shared00() { 1194 svc := ses.New(session.New()) 1195 input := &ses.UpdateAccountSendingEnabledInput{ 1196 Enabled: aws.Bool(true), 1197 } 1198 1199 result, err := svc.UpdateAccountSendingEnabled(input) 1200 if err != nil { 1201 if aerr, ok := err.(awserr.Error); ok { 1202 switch aerr.Code() { 1203 default: 1204 fmt.Println(aerr.Error()) 1205 } 1206 } else { 1207 // Print the error, cast err to awserr.Error to get the Code and 1208 // Message from an error. 1209 fmt.Println(err.Error()) 1210 } 1211 return 1212 } 1213 1214 fmt.Println(result) 1215} 1216 1217// UpdateConfigurationSetReputationMetricsEnabled 1218// 1219// Set the reputationMetricsEnabled flag for a specific configuration set. 1220func ExampleSES_UpdateConfigurationSetReputationMetricsEnabled_shared00() { 1221 svc := ses.New(session.New()) 1222 input := &ses.UpdateConfigurationSetReputationMetricsEnabledInput{ 1223 ConfigurationSetName: aws.String("foo"), 1224 Enabled: aws.Bool(true), 1225 } 1226 1227 result, err := svc.UpdateConfigurationSetReputationMetricsEnabled(input) 1228 if err != nil { 1229 if aerr, ok := err.(awserr.Error); ok { 1230 switch aerr.Code() { 1231 case ses.ErrCodeConfigurationSetDoesNotExistException: 1232 fmt.Println(ses.ErrCodeConfigurationSetDoesNotExistException, aerr.Error()) 1233 default: 1234 fmt.Println(aerr.Error()) 1235 } 1236 } else { 1237 // Print the error, cast err to awserr.Error to get the Code and 1238 // Message from an error. 1239 fmt.Println(err.Error()) 1240 } 1241 return 1242 } 1243 1244 fmt.Println(result) 1245} 1246 1247// UpdateConfigurationSetReputationMetricsEnabled 1248// 1249// Set the sending enabled flag for a specific configuration set. 1250func ExampleSES_UpdateConfigurationSetSendingEnabled_shared00() { 1251 svc := ses.New(session.New()) 1252 input := &ses.UpdateConfigurationSetSendingEnabledInput{ 1253 ConfigurationSetName: aws.String("foo"), 1254 Enabled: aws.Bool(true), 1255 } 1256 1257 result, err := svc.UpdateConfigurationSetSendingEnabled(input) 1258 if err != nil { 1259 if aerr, ok := err.(awserr.Error); ok { 1260 switch aerr.Code() { 1261 case ses.ErrCodeConfigurationSetDoesNotExistException: 1262 fmt.Println(ses.ErrCodeConfigurationSetDoesNotExistException, aerr.Error()) 1263 default: 1264 fmt.Println(aerr.Error()) 1265 } 1266 } else { 1267 // Print the error, cast err to awserr.Error to get the Code and 1268 // Message from an error. 1269 fmt.Println(err.Error()) 1270 } 1271 return 1272 } 1273 1274 fmt.Println(result) 1275} 1276 1277// UpdateReceiptRule 1278// 1279// The following example updates a receipt rule to use an Amazon S3 action: 1280func ExampleSES_UpdateReceiptRule_shared00() { 1281 svc := ses.New(session.New()) 1282 input := &ses.UpdateReceiptRuleInput{ 1283 Rule: &ses.ReceiptRule{ 1284 Actions: []*ses.ReceiptAction{ 1285 { 1286 S3Action: &ses.S3Action{ 1287 BucketName: aws.String("MyBucket"), 1288 ObjectKeyPrefix: aws.String("email"), 1289 }, 1290 }, 1291 }, 1292 Enabled: aws.Bool(true), 1293 Name: aws.String("MyRule"), 1294 ScanEnabled: aws.Bool(true), 1295 TlsPolicy: aws.String("Optional"), 1296 }, 1297 RuleSetName: aws.String("MyRuleSet"), 1298 } 1299 1300 result, err := svc.UpdateReceiptRule(input) 1301 if err != nil { 1302 if aerr, ok := err.(awserr.Error); ok { 1303 switch aerr.Code() { 1304 case ses.ErrCodeInvalidSnsTopicException: 1305 fmt.Println(ses.ErrCodeInvalidSnsTopicException, aerr.Error()) 1306 case ses.ErrCodeInvalidS3ConfigurationException: 1307 fmt.Println(ses.ErrCodeInvalidS3ConfigurationException, aerr.Error()) 1308 case ses.ErrCodeInvalidLambdaFunctionException: 1309 fmt.Println(ses.ErrCodeInvalidLambdaFunctionException, aerr.Error()) 1310 case ses.ErrCodeRuleSetDoesNotExistException: 1311 fmt.Println(ses.ErrCodeRuleSetDoesNotExistException, aerr.Error()) 1312 case ses.ErrCodeRuleDoesNotExistException: 1313 fmt.Println(ses.ErrCodeRuleDoesNotExistException, aerr.Error()) 1314 case ses.ErrCodeLimitExceededException: 1315 fmt.Println(ses.ErrCodeLimitExceededException, aerr.Error()) 1316 default: 1317 fmt.Println(aerr.Error()) 1318 } 1319 } else { 1320 // Print the error, cast err to awserr.Error to get the Code and 1321 // Message from an error. 1322 fmt.Println(err.Error()) 1323 } 1324 return 1325 } 1326 1327 fmt.Println(result) 1328} 1329 1330// VerifyDomainDkim 1331// 1332// The following example generates DKIM tokens for a domain that has been verified with 1333// Amazon SES: 1334func ExampleSES_VerifyDomainDkim_shared00() { 1335 svc := ses.New(session.New()) 1336 input := &ses.VerifyDomainDkimInput{ 1337 Domain: aws.String("example.com"), 1338 } 1339 1340 result, err := svc.VerifyDomainDkim(input) 1341 if err != nil { 1342 if aerr, ok := err.(awserr.Error); ok { 1343 switch aerr.Code() { 1344 default: 1345 fmt.Println(aerr.Error()) 1346 } 1347 } else { 1348 // Print the error, cast err to awserr.Error to get the Code and 1349 // Message from an error. 1350 fmt.Println(err.Error()) 1351 } 1352 return 1353 } 1354 1355 fmt.Println(result) 1356} 1357 1358// VerifyDomainIdentity 1359// 1360// The following example starts the domain verification process with Amazon SES: 1361func ExampleSES_VerifyDomainIdentity_shared00() { 1362 svc := ses.New(session.New()) 1363 input := &ses.VerifyDomainIdentityInput{ 1364 Domain: aws.String("example.com"), 1365 } 1366 1367 result, err := svc.VerifyDomainIdentity(input) 1368 if err != nil { 1369 if aerr, ok := err.(awserr.Error); ok { 1370 switch aerr.Code() { 1371 default: 1372 fmt.Println(aerr.Error()) 1373 } 1374 } else { 1375 // Print the error, cast err to awserr.Error to get the Code and 1376 // Message from an error. 1377 fmt.Println(err.Error()) 1378 } 1379 return 1380 } 1381 1382 fmt.Println(result) 1383} 1384 1385// VerifyEmailAddress 1386// 1387// The following example starts the email address verification process with Amazon SES: 1388func ExampleSES_VerifyEmailAddress_shared00() { 1389 svc := ses.New(session.New()) 1390 input := &ses.VerifyEmailAddressInput{ 1391 EmailAddress: aws.String("user@example.com"), 1392 } 1393 1394 result, err := svc.VerifyEmailAddress(input) 1395 if err != nil { 1396 if aerr, ok := err.(awserr.Error); ok { 1397 switch aerr.Code() { 1398 default: 1399 fmt.Println(aerr.Error()) 1400 } 1401 } else { 1402 // Print the error, cast err to awserr.Error to get the Code and 1403 // Message from an error. 1404 fmt.Println(err.Error()) 1405 } 1406 return 1407 } 1408 1409 fmt.Println(result) 1410} 1411 1412// VerifyEmailIdentity 1413// 1414// The following example starts the email address verification process with Amazon SES: 1415func ExampleSES_VerifyEmailIdentity_shared00() { 1416 svc := ses.New(session.New()) 1417 input := &ses.VerifyEmailIdentityInput{ 1418 EmailAddress: aws.String("user@example.com"), 1419 } 1420 1421 result, err := svc.VerifyEmailIdentity(input) 1422 if err != nil { 1423 if aerr, ok := err.(awserr.Error); ok { 1424 switch aerr.Code() { 1425 default: 1426 fmt.Println(aerr.Error()) 1427 } 1428 } else { 1429 // Print the error, cast err to awserr.Error to get the Code and 1430 // Message from an error. 1431 fmt.Println(err.Error()) 1432 } 1433 return 1434 } 1435 1436 fmt.Println(result) 1437} 1438