Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "Statement": [
- {
- "Effect": "Allow",
- "Action": "*",
- "Resource": "*"
- }
- ]
- }
- #!/usr/bin/env python
- from __future__ import print_function
- import base64
- import hashlib
- import hmac
- import json
- import struct
- import urllib2
- METADATA_BASE = 'http://169.254.169.254/2012-01-12/meta-data'
- def main():
- access_key_id, secret_access_key = get_access_creds()
- username, password = get_smtp_creds(access_key_id, secret_access_key)
- print('SMTP Username: %s' % username)
- print('SMTP Password: %s' % password)
- def get_access_creds():
- url_handle = urllib2.urlopen('%s/iam/security-credentials' %
- (METADATA_BASE,))
- role_name = url_handle.read()
- url_handle.close()
- url_handle = urllib2.urlopen('%s/iam/security-credentials/%s' %
- (METADATA_BASE, role_name))
- sec_cred_doc = url_handle.read()
- url_handle.close()
- sec_cred_data = json.loads(sec_cred_doc)
- access_key_id = buffer(sec_cred_data['AccessKeyId'])
- secret_access_key = buffer(sec_cred_data['SecretAccessKey'])
- return access_key_id, secret_access_key
- def get_smtp_creds(access_key_id, secret_access_key):
- message = 'SendRawEmail'
- version = 0x02
- sig= hmac.new(
- secret_access_key,
- msg=message,
- digestmod=hashlib.sha256)
- sig_bytes = sig.digest()
- sig_and_version_bytes = (struct.pack('B', version) + sig_bytes)
- smtp_password = base64.b64encode(sig_and_version_bytes)
- return access_key_id, smtp_password
- if __name__ == '__main__':
- main()
- swaks -s email-smtp.us-east-1.amazonaws.com --from wt@example.com --to wt@example.com --auth-user <smtp username from script above> --auth-password <smtp password from script above> --tls
- {
- "Version": "2012-10-17",
- "Statement": [
- {
- "Effect": "Allow",
- "Action": "ses:SendRawEmail",
- "Resource": "*"
- }
- ]
- }
- {
- "Version": "2012-10-17",
- "Statement":[{
- "Effect": "Allow",
- "Action": ["ses:*"],
- "Resource":"*"
- }
- ]
- }
Add Comment
Please, Sign In to add comment