我们希望使用smtp.example.com
,而不是将客户服务器名称(如beta.example.com
作为IMAP / SMTP服务器。
我们有一个所有域/电子邮件服务器和相应的邮件服务器的数据库。 有没有办法使用nginx(或其他服务器/服务)作为反向代理? 然后nginx应该将请求转发到正确的服务器。
非常感谢你
没有必要把nginx
或任何其他forms的负载均衡器放在你的边界SMTP服务器前面。 如果你没有正确的configuration,这很可能会影响你成功发送邮件的能力。 把你的服务器放在你的DMZ中。
传入的stream量将会通过一个对话的一部分,然后才能适当地路由它。 IMAP用户将尝试login。 SMTP服务器将位于RCPT TO
命令中,并可能试图将相同的消息发送到您列为MX的不同域。
在服务器场中使用像smtp01.example.com
这样的名称是很常见的。 对于每个这些服务器。 您用于邮件服务器的域很less与服务器名称匹配。 对于像SMTP,Web,IMAP,POP和其他通用服务,通常会发布和使用服务名称(或代替主机名称)。 通过以相同的优先级发布它们来负载平衡MX服务器。
A
logging。 还要为邮件服务器的IPv6 IP添加AAAA
logging。 如果你想支持IPv6。 (如果您正在configurationIPv4和IPv6支持,您将需要两个PTRlogging。) PTR
logging返回服务器的服务(SMTP)名称。 这将使反向DNS(rDNS)validation工作。 HELO
或EHLO
命令上工作。 考虑将SPFlogging(如v=spf1 a -all
到每个SMTP服务器的DNS条目。 这将允许收件人validation此服务器是否打算发送邮件。 (SPF可以用来validation服务器以及发件人。)
MX服务器通常也是出站邮件服务器,这是没有必要的。 在SPFlogging中列出电子邮件地址中使用的域(通常是example.com
而不是george.example.com
)中的出站SMTP服务器。
您的SMTP服务器应该属于一个域。 域的MX服务器不必位于同一个域中。 如果您正在configuration多个域,请select一个用于邮件服务器,并将其用于所有域。
在较大的安装中,边界(面向外部的)SMTP服务器通常会转发到内部邮件服务器,以最终传递收到的邮件。 所有的外发邮件都应该发送到边界服务器进行传送。 如果您将传入的MX(邮件交换)服务器与传出MTA(邮件传输代理)服务器分开,则传出的邮件应通过传出MTA而不是MX服务器发送。 无论如何,将MX
包含在SPFlogging中是一个好主意。 这将允许您的MX服务器发送延迟传送通知,而不会将该邮件视为垃圾邮件。
对于漫游用户,您可能需要经过身份validation的SMTP访问才能允许用户发送电子邮件。 这最好在提交端口(587)而不是SMTP端口(25)上完成。 连接后,应使用startTLS
命令使用TLS(SSL)进行startTLS
。 身份validation只能在encryption的连接上进行。 这可以在上面configuration的服务器上提供,也可以在提供IMAP访问的服务器上提供。
根据您的需要,您可以使用支持代理连接的IMAP服务器,或者只允许用户连接到服务器的域。 为此目的使用服务域通常是imap.example.com
或mail.example.com
。 这些可以在DNS中configuration为A
logging或CNAMES
。 许多邮件客户端将自动configuration到该域的通用服务帐户。 如果在configuration期间以用户身份input[email protected]
,则软件可能会find像mail.example.com
, imap.example.com
, pop.example.com
和smtp.example.com.
这样的服务域smtp.example.com.
为IMAP和STMPstream量使用不同的服务名称是比较常见的。