Skip to content

Instantly share code, notes, and snippets.

@h3ct0rjs
Created May 2, 2022 00:48
Show Gist options
  • Save h3ct0rjs/e99429e35ca9ffaa5afa771fbf5a035d to your computer and use it in GitHub Desktop.
Save h3ct0rjs/e99429e35ca9ffaa5afa771fbf5a035d to your computer and use it in GitHub Desktop.
variable "hosted_zone_domain"{
type = string
}
variable "domain"{
type = string
}
data "aws_route53_zone" "main" {
name = var.hosted_zone_domain
private_zone = false
}
resource "aws_ses_domain_identity" "ses_domain" {
domain = var.domain
}
resource "aws_ses_domain_mail_from" "main" {
domain = aws_ses_domain_identity.ses_domain.domain
mail_from_domain = "mail.${var.domain}"
}
resource "aws_route53_record" "amazonses_verification_record" {
zone_id = data.aws_route53_zone.main.zone_id
name = "_amazonses.${var.domain}"
type = "TXT"
ttl = "600"
records = [join("", aws_ses_domain_identity.ses_domain.*.verification_token)]
}
resource "aws_ses_domain_dkim" "ses_domain_dkim" {
domain = join("", aws_ses_domain_identity.ses_domain.*.domain)
}
resource "aws_route53_record" "amazonses_dkim_record" {
count = 3
zone_id = data.aws_route53_zone.main.zone_id
name = "${element(aws_ses_domain_dkim.ses_domain_dkim.dkim_tokens, count.index)}._domainkey.${var.domain}"
type = "CNAME"
ttl = "600"
records = ["${element(aws_ses_domain_dkim.ses_domain_dkim.dkim_tokens, count.index)}.dkim.amazonses.com"]
}
resource "aws_route53_record" "spf_mail_from" {
zone_id = data.aws_route53_zone.main.zone_id
name = aws_ses_domain_mail_from.main.mail_from_domain
type = "TXT"
ttl = "600"
records = ["v=spf1 include:amazonses.com -all"]
}
resource "aws_route53_record" "spf_domain" {
zone_id = data.aws_route53_zone.main.zone_id
name = var.domain
type = "TXT"
ttl = "600"
records = ["v=spf1 include:amazonses.com -all"]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment