| 12345678910111213141516171819202122232425262728293031323334 |
- package setup
- import (
- "fmt"
- "pmail/i18n"
- "pmail/services/auth"
- "pmail/utils/context"
- "pmail/utils/errors"
- "pmail/utils/ip"
- )
- type DNSItem struct {
- Type string `json:"type"`
- Host string `json:"host"`
- Value string `json:"value"`
- TTL int `json:"ttl"`
- Tips string `json:"tips"`
- }
- func GetDNSSettings(ctx *context.Context) ([]*DNSItem, error) {
- configData, err := ReadConfig()
- if err != nil {
- return nil, errors.Wrap(err)
- }
- ret := []*DNSItem{
- {Type: "A", Host: "smtp", Value: ip.GetIp(), TTL: 3600, Tips: i18n.GetText(ctx.Lang, "ip_taps")},
- {Type: "A", Host: "pop", Value: ip.GetIp(), TTL: 3600, Tips: i18n.GetText(ctx.Lang, "ip_taps")},
- {Type: "MX", Host: "-", Value: fmt.Sprintf("smtp.%s", configData.Domain), TTL: 3600},
- {Type: "TXT", Host: "-", Value: "v=spf1 a mx ~all", TTL: 3600},
- {Type: "TXT", Host: "default._domainkey", Value: auth.DkimGen(), TTL: 3600},
- }
- return ret, nil
- }
|