如何在单个服务器上使用具有多个域名的 OpenDKIM?
我拥有 3 个域名,并且我有一台运行 postfix 的服务器来发送电子邮件。如何使用 OpenDKIM?
我可以对所有 3 个域名使用相同的密钥文件吗?我是否必须为每个域名创建一个 TXT 记录?
我正在尝试_acme-challenge.www
在 Google Domains 上创建一个带有名称的 TXT DNS 记录,以允许我验证我的 DNS(即通过_acme-challenge.www.example.com
)。我已经验证了域本身;但想要验证www
子域,以便我可以在证书的主题备用名称中提供它。尝试此操作时,页面给出错误:Failed to save changes to domain settings for example.com
。
我正在尝试的内容是否有效/如果是这样,有人可以建议我可能遗漏了什么吗?
domain-name-system subdomain txt-record lets-encrypt google-domains
我正在创建一个带有主名称服务器和多个域的服务器。我是否需要为所有域制作 TXT 记录,它们都有自己的电子邮件,但使用主服务器的邮件服务器。
编辑:
我目前在运行 CentOS 和 Plesk 的服务器上。我可以选择的一种选择是使用域密钥”
如果我启用域密钥,则会创建 2 个 TXT 字段,一个是长密钥,一个是 ao=- 值。
如果我启用此功能,我仍然需要拥有 SPF 记录,或者就垃圾邮件而言,这是否不如 SPF 记录。
我已经与其他 DNS 提供商完成了此操作,但我被困在 UltraDNS 的 DNS 管理界面上。我需要在条目中输入多个值,TXT
以便它们解析为单个字符串,每个值都在“标记中并用空格分隔。
我们希望 TXT 记录返回的示例如下(使用 dig for Linux 来测试这些):
;; ANSWER SECTION:
name._avaya-ep-config._tcp.example.com. 119 IN TXT "txtvers=1" "proto=https" "path=/acs/resources/configurations"
Run Code Online (Sandbox Code Playgroud)
然而,UltraDNS 支持人员表示,我们必须将它们作为单独的TXT
记录输入 - 当我们这样做时,它会返回以下内容,并且正在查找该TXT
值的软件无法识别它并且无法工作:
;; ANSWER SECTION:
name._avaya-ep-config._tcp.example.com. 218 IN TXT "proto=https"
name._avaya-ep-config._tcp.example.com. 218 IN TXT "txtvers=1"
name._avaya-ep-config._tcp.example.com. 218 IN TXT "path=/acs/resources/configurations"
Run Code Online (Sandbox Code Playgroud)
我们尝试使用双引号,用于\
按 RFC 引用,也使用按 RFC - 基于此处的 RFC: https ://www.rfc-editor.org/rfc/rfc1464
当我们尝试 RFC 示例中的一些建议时,UltraDNS 的 Web 界面不允许我们输入它,说我们必须只输入 ASCII 字符(都是如此,但它们也是其他 ASCII 字符集的代码)。
输入无效:注释仅支持 ASCII 字符
例如,输入时:
\txtvers=1\"<sp>\"proto=https\"<sp>\"path=/acs/resources/configurations\
Run Code Online (Sandbox Code Playgroud)
该软件还使用SRV …
domain-name-system dns-hosting ptr-record srv-record txt-record
编辑我想我或多或少了解语法,无论如何,谷歌在下面的链接中提供了所需的语法。
我的问题是把这些东西放在哪里。我应该引用每个字段吗?全线?:)
我已经为我的域设置了 Google 应用程序:我已经通过添加 Google 要求的 CNAME 向 Google 注册了域,而且我显然已经成功设置了 MX Google 邮件服务器。
到目前为止,我还没有专用服务器:我只是在注册商处拥有一个域。
现在我想激活 SPF,我很困惑。在以下简短网页中:
http://www.google.com/support/a/bin/answer.py?answer=178723
据说我必须添加一个包含以下内容的 TXT 记录:
v=spf1 include:_spf.google.com ~all
Run Code Online (Sandbox Code Playgroud)
我应该在哪里输入这个?这是否应该放在区域 (?) 文件中,就像我对 CNAME 和 MX 记录所做的那样?
到目前为止,我有这样的事情:
@ 10800 IN A 217.42.42.42
@ 10800 IN MX 5 ASPMX3.GOOGLEMAIL.COM.
@ 10800 IN MX 5 ASPMX2.GOOGLEMAIL.COM.
@ 10800 IN MX 3 ALT2.ASPMX.L.GOOGLE.COM.
@ 10800 IN MX 3 ALT1.ASPMX.L.GOOGLE.COM.
@ 10800 IN MX 1 ASPMX.L.GOOGLE.COM.
google8a70835987f31e34 10800 IN CNAME google.com.
Run Code Online (Sandbox Code Playgroud)
添加 SPF TXT 记录是否意味着我应该有类似的东西:
@ …
Run Code Online (Sandbox Code Playgroud) 我想通过使用 DNS 验证来使用 google 应用程序验证我的域名。这涉及使用谷歌生成的值制作 TXT 记录。
但是,我有“mydomain.com”的 CNAME 记录。如果我使用 nslookup 来查询 TXT 记录,它会告诉我我创建的这个 CNAME 并为我提供 CNAME 的 DNS 条目的 TXT 记录。
这是我的 DNS 注册商的问题还是正常行为?
我正在使用 certbot 为第三方 Web 应用程序生成 ssl 证书。因为我无法进入源代码或文件夹结构,所以我使用了 DNS 验证。更复杂的是,我的 DNS 提供商没有明确说明更改何时应用和传播。我必须开始这个过程,获取值,将它们发布到 DNS,等待很长时间,然后按 ENTER 完成验证。如果我等待的时间不够长,或者与服务器的终端会话终止,我必须重新开始——这会生成要放入 DNS 的新值。
我想查询我的 DNS 名称服务器以查看我的_acme_challenge
值是否以及何时传播。Let's Encrypt 有一种方法可以检查这个值,但我似乎无法弄清楚这个。我找到的所有在线论坛都用于查询用于 SPF 的默认 TXT 记录。
certbot 验证过程的输出
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name
_acme-challenge.app.mydomain.com with …
Run Code Online (Sandbox Code Playgroud) 我目前正在尝试在 Amazon 的 SES 上验证我的域并运行一个谷歌搜索没有帮助我更接近解决的问题。
根据 SES,我必须在我的 DNS 中为我尝试验证的域创建一个 TXT 记录。亚马逊为您提供以下信息(出于安全目的更改了值);
TYPE: TXT
NAME: _amazonses.somedomain.com
VALUE: M2sXTycXkgZXXuMuWI8TczngaPIDDMToPefzGhZ3uYA=
Run Code Online (Sandbox Code Playgroud)
我在我的注册商的 DNS 管理器中尝试了许多条目,但 SES 仍然无法找到它正在寻找的内容。我不是 DNS 专家,因此,我试图从非常稀疏的示例中构建 TXT 记录,充其量是为了做到这一点。
我现在的 TXT 记录是这样的;
"v=DKIM1 s=_domainkey d=_amazonses.somedomain.com p=M2sXTycXkgZXXuMuWI8TczngaPIDDMToPefzGhZ3uYA="
Run Code Online (Sandbox Code Playgroud)
这是您正确制作TXT记录的方式吗?我做错了什么吗?
谢谢
根据RFC4408 3.1.3,可以用引号将 TXT 记录拆分并正确重新组合 - 这是绕过记录大小 255 个字符限制的一种方法。
IN TXT "v=spf1 .... first" "second string..."
Run Code Online (Sandbox Code Playgroud)
必须被视为等同于
IN TXT "v=spf1 .... firstsecond string..."
Run Code Online (Sandbox Code Playgroud)
如果一个记录有 3 个或更多部分,什么决定了记录连接的顺序?
我们目前正在尝试从使用“本地”邮件(交换)服务器转向基于云的所有自动化电子邮件服务。问题是我们每天发送和接收数千封电子邮件,其正常运行时间非常关键,因此企业不想将所有鸡蛋放在一个篮子里,所以如果我们想使用基于云的产品(mailgun),他们会如果出现故障,就像备份一样。所以我的问题是:
是否可以将多个 A、TXT 和 CNAME 记录设置为多个 IP 地址,这样如果一个邮件服务器出现故障,我们可以自动从失败转移开始发送电子邮件(不会阻止它们进行反向 DNS 查找)?我知道我们仍然需要调整传入电子邮件的 MX 记录,但在短时间内(1-2 小时)不接收电子邮件是可以接受的。
这有意义吗?
Google Search Console 要求我向我的域名添加 TXT 记录,例如
google-site-verification=EQZs1xbCh8hu90LwVGhWEcYUYCGH6BDSBE68
Run Code Online (Sandbox Code Playgroud)
但是我已经有 SPF 的 TXT 记录,例如
v=spf1 +a +mx +ip4:68.66.123.12 include:spf.myhosting.com ~all
Run Code Online (Sandbox Code Playgroud)
那么如何将这两条记录相加呢?
foo.org 1 IN TXT "v=spf1 include:_spf.google.com include:_spf.bar.com ~all"
foo.org 1 IN TXT "v-spf1 ip4:99.99.99.99 包括:_spf.google.com ~all"
还是因为对谷歌的两次引用而需要将它们合并为一个记录?
这可能是一个奇怪的问题,但我正在寻找一劳永逸的明确答案。
我一直在对 TXT 记录及其工作原理进行一些研究,但我无法确定。我读到的所有内容都表明 TXT 记录的存在永远不会干扰联系表单的邮件传递,但有人可以帮我确认这一点吗?
是否有任何类型的 TXT 记录会阻止联系表单正常工作?或者在任何情况下 TXT 记录的存在会阻止联系表单发挥作用?
提前致谢!
编辑:感谢您的回复!我将添加一些背景信息,因为这是一个相当模糊的问题。TXT 记录已添加到域中以验证所有权。它以 DZC 作为主机,以随机字符作为值。网站开发者现在表示该 TXT 记录破坏了联系表单。据我所知,这样的 TXT 记录不会干扰任何事情,因为它的唯一目的是验证所有权。我现在正试图确定他所说的是不是真的。
联系表单问题似乎更有可能是由其他原因引起的,但我想肯定排除这种可能性。不过我理解,如果不可能肯定地做到这一点。
txt-record ×13
spf ×3
dkim ×2
domainkeys ×2
g-suite ×2
a-record ×1
amazon-ses ×1
certbot ×1
cname-record ×1
dns-hosting ×1
dns-zone ×1
domain-name ×1
email ×1
email-server ×1
lets-encrypt ×1
mx-record ×1
ptr-record ×1
reverse-dns ×1
srv-record ×1
subdomain ×1