Repository navigation
Expand file tree
/
Copy pathSimpleEmail.ps1
More file actions
77 lines (57 loc) · 2.02 KB
/
Copy pathSimpleEmail.ps1
File metadata and controls
77 lines (57 loc) · 2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# This allows you work on the file as a script
$_privateCommand = Get-Command -Name "__MakeWildcard"
if (!$_privateCommand) {
. "$PSScriptRoot\QuotePrivateUnquoteFunctions.ps1"
}
$_PoshAwsSESDomain = "Domain"
$_PoshAwsSESAddress = "EmailAddress"
function Get-SESIdentities {
[CmdletBinding(DefaultParameterSetName = "Fake")]
param(
[string]$Filter,
[Parameter(ParameterSetName = "DomainsOnly")]
[switch]$Domains,
[Parameter(ParameterSetName = "AddressesOnly")]
[switch]$Addresses,
[Amazon.Runtime.AWSCredentials]$Credentials
)
if ($Credentials) {
$_creds = $Credentials
} else {
$_creds = Get-AwsCredentials
}
$_filter = __MakeWildcard $Filter
$_client = New-Object Amazon.SimpleEmail.AmazonSimpleEmailServiceClient -ArgumentList $_creds
$_nextToken = "";
do {
$_req = New-Object Amazon.SimpleEmail.Model.ListIdentitiesRequest
$_req.NextToken = $_nextToken
if ($Domains) {
$_req.IdentityType = $_PoshAwsSESDomain
} elseif ($Addresses) {
$_req.IdentityType = $_PoshAwsSESAddress
}
$_resp = $_client.ListIdentities($_req)
$_nextToken = $_resp.ListIdentitiesResult.NextToken
$_resp.ListIdentitiesResult.Identities `
| Where-Object { $_filter.IsMatch($_) }
} while ($_nextToken)
}
function Get-SESVerifiedAddresses {
[CmdletBinding()]
param(
[string]$Filter,
[Amazon.Runtime.AWSCredentials]$Credentials
)
if ($Credentials) {
$_creds = $Credentials
} else {
$_creds = Get-AwsCredentials
}
$_filter = __MakeWildcard $Filter
$_client = New-Object Amazon.SimpleEmail.AmazonSimpleEmailServiceClient -ArgumentList $_creds
$_req = New-Object Amazon.SimpleEmail.Model.ListVerifiedEmailAddressesRequest
$_resp = $_client.ListVerifiedEmailAddresses($_req)
$_resp.ListVerifiedEmailAddressesResult.VerifiedEmailAddresses `
| Where-Object { $_filter.IsMatch($_) }
}