https://github.com/issyl0/terraform-provider-improvmx
A Terraform provider for configuring ImprovMX email forwards
https://github.com/issyl0/terraform-provider-improvmx
emails improvmx terraform terraform-provider
Last synced: about 1 year ago
JSON representation
A Terraform provider for configuring ImprovMX email forwards
- Host: GitHub
- URL: https://github.com/issyl0/terraform-provider-improvmx
- Owner: issyl0
- License: mit
- Created: 2021-06-27T15:08:20.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-03-13T01:18:04.000Z (over 1 year ago)
- Last Synced: 2025-03-18T22:07:26.448Z (about 1 year ago)
- Topics: emails, improvmx, terraform, terraform-provider
- Language: Go
- Homepage:
- Size: 115 KB
- Stars: 7
- Watchers: 2
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# terraform-provider-improvmx
A very nascent Terraform provider for configuring [ImprovMX](https://improvmx.com) email forwards. Uses my [ImprovMX Golang API client](https://github.com/issyl0/go-improvmx). Download from the [Terraform Registry](https://registry.terraform.io/providers/issyl0/improvmx/latest).
## Features
- Create a domain (ImprovMX creates a wildcard forward for a domain by default).
- Update a domain (to add/remove whitelabel (Enterprise plans only) and notification email settings).
- Delete a domain.
- Import a domain.
- Create an email forward.
- Delete an email forward.
- Import an email forward.
- Update an email forward (ImprovMX allows updating an email forward to send to more than one address, ie `alice@example.com,bob@example.com`).
- Create, update and delete a domain's SMTP credentials.
## Usage
```hcl
terraform {
required_providers {
improvmx = {
source = "issyl0/improvmx"
}
}
}
provider "improvmx" {
// Set the `IMPROVMX_API_TOKEN` environment variable.
}
resource "improvmx_domain" "example" {
domain = "example.com"
}
resource "improvmx_email_forward" "hello" {
domain = "example.com"
alias_name = "hello"
destination_email = "me@realdomain.com"
depends_on = [improvmx_domain.example]
}
resource "improvmx_email_forward" "wildcard" {
domain = "example.com"
alias_name = "*"
destination_email = "joe@realdomain.com"
depends_on = [improvmx_domain.example]
}
```