Terraform module to send emails using SMTP server by calling an external mutt
command.
First install the mutt
cli tool:
sudo apt install mutt
module "terraform-null-mailer" {
source = "KamranBiglari/mailer/null"
version = "1.0.0"
smtp_url = "smtp://[email protected]@smtp.office365.com:587/"
password = "password"
from = "[email protected]"
to = ["[email protected]","[email protected]"]
subject = "Hello $${user}"
body = <<EOT
Your username has been created.
Link: $${link}
EOT
attachments = ["./file.txt"]
vars = {
user = "John Doe"
link = "https://example.com"
}
}
No requirements.
Name | Version |
---|---|
local | n/a |
null | n/a |
random | n/a |
template | n/a |
No modules.
Name | Type |
---|---|
local_file.body | resource |
local_file.default | resource |
null_resource.default | resource |
random_uuid.body_file | resource |
template_file.body | data source |
template_file.subject | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
attachments | Attachments | list |
[] |
no |
body | Email body template | any |
n/a | yes |
enabled | Flag to enable or disable the sending of emails | string |
"true" |
no |
fqdn | FQDN | string |
"" |
no |
from | From address for email | any |
n/a | yes |
mail_command | Command to execute | string |
"mutt" |
no |
password | Password to authenticate with the SMTP server | string |
n/a | yes |
smtp_url | SMTP URL | string |
"smtp://[email protected]:587/" |
no |
subject | Email subject template | any |
n/a | yes |
to | Email recipients | list |
n/a | yes |
vars | Parameters to pass to the body template | map |
{} |
no |
Name | Description |
---|---|
body | Rendered body of the email |
subject | Rendered subject of the email |