通过验证几个域进行修改,发现手动过程相当于tedius。我的DNS控制器提供API访问,所以我想为什么不编写整个脚本。
Trick是我无法弄清楚如何访问所需的TXT&当我打入
时,来自boto的DKIMS验证的CNAME记录dkims = conn.verify_domain_dkim('DOMAIN.COM')
它将DOMAIN.COM添加到等待验证的域列表中,但不提供所需的记录,dkims的返回值为
{'VerifyDomainDkimResponse': {
'ResponseMetadata': {'RequestId': 'REQUEST_ID_STRING'},
'VerifyDomainDkimResult': {'DkimTokens': {
'member': 'DKIMS_TOKEN_STRING'}}}}
是否有一些未记录的方法来获取REQUEST_ID或TOKEN_STRING来提取这些记录?
更新
如果你有一个aws帐户,你可以看到我在
之后的记录https://console.aws.amazon.com/ses/home?region=us-west-2#verified-senders:domain
tab:Details :: Record Type:TXT(Text)
标签:DKIM :: DNS记录1,2,3
这些是添加到DNS控制器以验证&允许DKIM签名发生
答案 0 :(得分:1)
这就是我用python做的方式。
DOMINIO = 'mydomain.com'
from boto3 import Session
session = Session(
aws_access_key_id=MY_AWS_ACCESS_KEY_ID,
aws_secret_access_key=MY_AWS_SECRET_ACCESS_KEY,
region_name=MY_AWS_REGION_NAME)
client = session.client('ses')
# gets VerificationToken for the domain, that will be used to add a TXT record to the DNS
result = client.verify_domain_identity(Domain=DOMINIO)
txt = result.get('VerificationToken')
# gets DKIM tokens that will be used to add 3 CNAME records
result = client.verify_domain_dkim(Domain=DOMINIO)
dkim_tokens = result.get('DkimTokens') # this is a list
在代码的最后,您将拥有" txt"和" dkim_tokens"变量,字符串和列表。
您需要在dns中添加TXT记录,其中主机名为" _amazonses"并且值是" txt"变量
此外,您还需要在dns中添加3条CNAME记录,其中一条记录位于" dkim_tokens"列表,其中每条记录的主机名的格式为 [dkimtoken] ._ domainkey ,目标为 [dkimtoken] .dkim.amazonses.com
添加dns记录后,几分钟后(可能需要几个小时),亚马逊将检测并验证域名,并向您发送电子邮件通知。之后,您可以通过此调用启用Dkim签名:
client.set_identity_dkim_enabled(Identity=DOMINIO, DkimEnabled=True)
此处使用的方法是verify_domain_identity,verify_domain_dkim和set_identity_dkim_enabled。 您可能还想查看get_identity_verification_attributes和get_identity_dkim_attributes。
答案 1 :(得分:0)
我认为get_identity_dkim_attributes方法会返回您要查找的信息。您传入您感兴趣的域名,并返回该身份以及DKIM令牌的状态。