2020-08-04 21:43:02 +08:00
---
name: getConfiguredDomains
2023-01-13 05:59:42 +08:00
ts_is_function: true
ts_return: string[]
2020-08-04 21:43:02 +08:00
---
`getConfiguredDomains` getConfiguredDomains is a helper function that returns the domain names
configured at the time the function is called. Calling this function early or later in
`dnsconfig.js` may return different results. Typical usage is to iterate over all
domains at the end of your configuration file.
Example for adding records to all configured domains:
2023-01-20 20:56:20 +08:00
```javascript
2020-08-04 21:43:02 +08:00
var domains = getConfiguredDomains();
for(i = 0; i < domains.length ; i + + ) {
D_EXTEND(domains[i],
TXT('_important', 'BLA') // I know, not really creative.
)
}
2022-02-18 01:22:31 +08:00
```
2020-08-04 21:43:02 +08:00
2022-08-21 08:59:02 +08:00
This will end up in following modifications: (All output assumes the `--verbose` flag)
2022-02-18 01:22:31 +08:00
```text
2020-08-04 21:43:02 +08:00
******************** Domain: domain1.tld
----- Getting nameservers from: registrar
----- DNS Provider: registrar...2 corrections
#1: CREATE TXT _important.domain1.tld "BLA" ttl=43200
#2: REFRESH zone domain1.tld
******************** Domain: domain2.tld
----- Getting nameservers from: registrar
----- DNS Provider: registrar...2 corrections
#1: CREATE TXT _important.domain2.tld "BLA" ttl=43200
#2: REFRESH zone domain2.tld
```
Example for adding DMARC report records:
2023-01-20 20:56:20 +08:00
This example might be more useful, specially for configuring the DMARC report records. According to DMARC RFC you need to specify `domain2.tld._report.dmarc.domain1.tld` to allow `domain2.tld` to send aggregate/forensic email reports to `domain1.tld` . This can be used to do this in an easy way, without using the wildcard from the RFC.
```javascript
2020-08-04 21:43:02 +08:00
var domains = getConfiguredDomains();
for(i = 0; i < domains.length ; i + + ) {
2022-10-28 04:17:19 +08:00
D_EXTEND("domain1.tld",
TXT(domains[i] + '._report._dmarc', 'v=DMARC1')
);
2020-08-04 21:43:02 +08:00
}
2022-02-18 01:22:31 +08:00
```
2020-08-04 21:43:02 +08:00
This will end up in following modifications:
2022-02-18 01:22:31 +08:00
```text
2020-08-04 21:43:02 +08:00
******************** Domain: domain2.tld
----- Getting nameservers from: registrar
----- DNS Provider: registrar...4 corrections
#1: CREATE TXT domain1.tld._report._dmarc.domain2.tld "v=DMARC1" ttl=43200
#2: CREATE TXT domain3.tld._report._dmarc.domain2.tld "v=DMARC1" ttl=43200
#3: CREATE TXT domain4.tld._report._dmarc.domain2.tld "v=DMARC1" ttl=43200
#4: REFRESH zone domain2.tld
```