本教程介绍如何在阿里云服务器上设置电子邮件托管。我们将逐步完成设置电子邮件托管所涉及的所有步骤,以便您可以通过链接到已购买域名的地址发送和接收电子邮件。
先决条件
要学习本教程,您需要一个阿里云账号。如果您还没有,请前往 www.87cloud.com 并注册。为了帮助您试用这些设施,您将在那里找到一系列免费试用版。
背景
在线获得新业务或任何其他企业被广泛理解为意味着为其创建一个网站。涉及许多关键步骤,可以总结如下:
- 注册域名,例如 my-new-venture.com
- 使用基于云的提供商(如阿里云)设置服务器来托管网站。
- 在您注册域名的公司提供的控制面板上,设置您网站的DNS条目(域名系统)。这将在您注册的域名和 Web 服务器的 IP 地址之间创建链接。它确保当有人在浏览器中键入 www.my-new-venture.com 时,Web服务器将接收请求并可以向其发送网页。
- 在服务器上构建网站。您通常通过安装Web服务器程序(例如Apache)然后安装内容管理系统(CMS)(例如WordPress)来执行此操作,该系统允许您登录并创建站点的页面。
但是,通过仅建立网站为新企业创建在线业务会省略一个关键项目:电子邮件呢?当有人在浏览器中键入 www.my-new-venture.com 时,他们会看到您的网站。但是,如果有人向 sales@my-new-venture.com 消息最终会在哪里结束?默认情况下,答案通常是“无处可去”。传入的电子邮件将被退回,这意味着发件人将收到一条错误消息,指出无法传递其邮件。同样,您也无法从新域发送电子邮件。
在您设置电子邮件之前,您的企业并没有真正完全在线。显然,这是您需要纠正的问题。
当然,您可以注册免费的基于Web的电子邮件服务。但是,如果您的营销材料将您的网站列为 www.my-new-venture.com 但您的电子邮件地址 john.smith.6472@some-free-email-provider.com,则看起来不专业。如果您的电子邮件地址可以 john.smith@my-new-venture.com,那就更好了。
一旦您的网站托管启动并运行,您确实需要设置您的电子邮件托管。这将允许您通过您的域名发送和接收电子邮件。您可以根据需要设置任意数量的电子邮件帐户(也称为邮箱)。您可以为每个用户名和密码设置单独的用户名和密码,以便不同的团队成员或员工可以使用其公司电子邮件帐户,而不会对其他任何人可见。
一种选择是与商业电子邮件托管服务提供商注册。但是,这可能会证明是昂贵的,因为您通常必须为每个用户的邮箱支付月费,而较大的邮箱(能够容纳更多邮件)则更昂贵。但是,通过设置自己的电子邮件服务器,您可以根据需要拥有任意数量的邮箱或电子邮件帐户,并且只要您的服务器有足够的磁盘空间,每个邮箱或电子邮件帐户都可以根据需要大小。
电子邮件托管的工作原理
如上所述,Web托管包括三个主要组件:域名,用于托管内容的Web服务器以及将两者链接在一起的DNS条目。当有人(世界上任何地方的任何人)在他们的浏览器中键入您网站的地址时,该过程就开始了。浏览器首先连接到全球 DNS 数据库,以查找与该域名关联的 Web 服务器的 IP 地址。接下来,浏览器与该IP地址建立连接,并向Web服务器发送命令,要求提供特定页面。然后,Web服务器将请求的页面发送到浏览器,并显示在屏幕上。
电子邮件托管,以便能够接收传入的消息,以类似的方式工作。当有人向 john.smith@my-new-venture.com 发送电子邮件时,他们的电子邮件程序会查阅 DNS 数据库,以找出电子邮件服务器 my-new-venture.com IP 地址(可能与同一域名的 Web 服务器相同,也可能不同)。然后,电子邮件程序连接到电子邮件服务器并发送邮件,以及它适用于哪个服务器用户的详细信息(在本例中为John Smith)。电子邮件服务器存储邮件。后来,当 John 想要阅读他的电子邮件时,他使用他的电子邮件程序使用他分配的用户名和密码登录到电子邮件服务器。然后,服务器将显示为他收到的所有传入消息。
如您所见,DNS系统不仅用于将域名与Web服务器链接。它还为电子邮件服务器创建链接,以便它们可以接收域的传入邮件。它之所以有效,是因为存在多种记录类型。所谓的“A”记录(代表地址)是您指定与域名对应的Web服务器的地址的方式。同样,“MX”记录(代表邮件交换)指定域邮件服务器的地址。
如果您希望将电子邮件托管和网络托管在同一台服务器上,只需将域的A记录(在本例中为 www.my-new-venture.com 的A记录)和MX记录设置为相同的IP地址即可。如果要将电子邮件托管在其他地方,只需更改 MX 记录即可。
除了能够接收您的域的传入电子邮件外,您还需要能够发送邮件。我们通过SMTP或简单邮件传输协议执行此操作。发送电子邮件时,您的电子邮件程序将连接到您的电子邮件服务器配置为使用的 SMTP 服务。除了使用服务器接收传入邮件之外,您还可以在邮件服务器上运行自己的 SMTP 服务。或者,您可以将邮件服务器配置为连接到第三方 SMTP 服务,并通过该第三方系统发送传出邮件。
运行自己的 SMTP 服务通常不是一个好主意。世界上的反垃圾邮件系统需要很长时间才能建立足够的信任级别,以便接受来自新系统的邮件。将电子邮件服务器指向商业 SMTP 中继服务可缩短此过程,并使您从域发送的邮件更有可能立即传递给收件人,而不是被标记为可能的垃圾邮件。
立即开始
现在我们已经介绍了如何发送和接收电子邮件的基础知识,让我们继续进行设置。我们将为我们的新企业注册一个域名,并配置其发送和接收电子邮件的能力。我们不会为我们的新企业创建一个网站,但如果你也想这样做,你可以参考本教程。
我们将使用名为hMailServer的免费电子邮件服务器软件,该软件在Windows下运行。我们首先需要在阿里云上创建一个 Windows 服务器实例来托管它。hMailServer程序将直接处理传入的邮件(一旦我们将域名的MX记录设置为指向它)。为了发送消息,我们不会在我们的Windows服务器上安装SMTP,而是将hMailServer指向第三方SMTP服务。
注册域名
首先,我们需要一个域名来为我们的新企业。登录您的阿里云账号,前往域名注册部分,搜索合适的域名。我们看到 my-new-venture.com 可用,因此我们将注册它以用于本教程。您可能已经拥有公司的域名。
我们点击付款,购买成功。
我们现在拥有域名,因此我们可以继续创建为其发送和接收邮件的功能。
安装 hMailServer
我们将在这个项目中使用hMailServer,它需要一个Windows服务器。因此,下一步是创建一个。
登录您的阿里云账号,进入控制台和弹性计算服务菜单,点击创建实例。
为简单起见,请单击屏幕顶部的“基本购买”按钮,从有限但非常经济高效的服务器选项中进行选择,这足以满足我们的特定目的。
我们将在法兰克福地区选择一台具有 2 个 CPU、4GB 或 RAM 和一个 40GB 磁盘的服务器。
向下滚动并选择操作系统。我们将使用Windows Server 2016。
选择一些带宽。不要将此数字保留为零,否则不会为服务器分配公共 IP 地址。
对于这个项目,我们只需要一个月的服务器,所以我们不会勾选自动续订框。
单击“立即购买”,检查您的详细信息,然后单击“创建订单”。
单击随后出现的“付款”按钮,然后返回到主机。状态将在实例列表中显示为“正在启动”。几分钟后,服务器将准备就绪并列为“正在运行”。
域名解析设置
现在,我们的服务器已创建,并且我们知道其 IP 地址(在本例中为 47.254.155.79)。在登录之前,我们将为其设置必要的DNS条目。我们需要为服务器指定一个名称,以便在互联网上知道它,然后我们需要告诉Internet上的其他邮件服务器,该服务器是处理我们域的电子邮件(传入和传出)的服务器。这两件事都是用DNS完成的。
在控制台的阿里云 DNS 下,选择域名,然后选择配置。我们将创建一个“A”记录,并将 mail.my-new-venture.com 地址设置为正确的 IP 地址,如下所示:
除了可以通过其IP地址在互联网上访问之外,我们的新服务器现在还可以作为 mail.my-new-venture.com 进行访问。更友好!
现在,我们将创建一个 Mail Exchange 或 MX 记录,以指定需要将域的邮件传递到新命名的 mail.my-new-venture.com 服务器。具体如下:
连接到服务器
现在,我们可以使用其新名称登录到服务器。我们还需要在那里配置一些设置。
在控制台的弹性计算服务实例列表下,找到我们之前设置的服务器实例。在屏幕右侧的“更多”链接下,单击“密码/密钥对”,然后单击“重置密码”。
现在为您的服务器选择管理员密码。
然后,从“更多”链接中,单击“实例状态”并选择“重新启动”。等待服务器显示它正在再次运行。
我们还无法通过 Windows 远程桌面进行远程连接,因为服务器的默认安全和防火墙设置不允许这样做。但是,我们可以从阿里云控制台通过浏览器进行连接。
单击实例列表右侧的“连接”链接。请仔细记下显示的VNC密码,因为它不会再次显示给您。
您应该会看到服务器的锁定屏幕,要求您按 Ctrl-Alt-Delete 将其解锁。使用浏览器左上角的“发送远程呼叫”按钮发送组合键,然后使用您之前选择的管理员密码登录。
配置服务器安全性
如果您愿意,您可以继续通过浏览器登录服务器。或者,如果你更喜欢从另一台电脑使用 Windows 远程桌面,请确保启用远程桌面,并且还创建 Windows 防火墙规则以允许 TCP 端口 3389 上的入站连接。
此外,在 Windows 防火墙中,创建规则以允许 TCP 端口 25、110、143 和 587 上的传入和传出连接。这很重要,否则我们的邮件服务器将无法正常工作。我们使用端口 25 接受传入邮件。端口 110 和 143 由某些电子邮件程序在连接到服务器时使用。端口 587 用于发送邮件。
您还需要为服务器配置安全组。在阿里云控制台中,单击服务器详细信息的管理链接,然后选择安全组,并为传入端口 3389 创建新规则。“授权对象”字段允许您指定一个或多个允许连接的 IP 地址。在本教程中,我们将选择允许任何 IP 地址的 0.0.0.0/0,但当您在生产环境中设置服务器时,您可能更喜欢较窄的范围。
您还需要为 TCP 端口 25、110、143 和 587 创建安全组规则。无论您是否选择打开端口 3389,这些都是必需的。
现在,我们可以通过远程桌面从任何其他PC连接到我们的Windows服务器,并且不再需要使用浏览器和阿里云控制台即可登录。您应该能够通过指定服务器的名称 (mail.my-new-venture.com) 而不是其 IP 地址来连接到服务器。
注意:如果您输入用户名和密码以通过远程桌面登录服务器,但随后收到提及“CredSSP 加密 oracle 修正”的错误消息,请编辑服务器上的远程桌面设置,然后取消选中“仅允许从运行具有网络级别身份验证的远程桌面的计算机进行连接”框。
安装 hMailServer
随着我们的Windows服务器正确配置,保护和命名,让我们安装hMailServer。通过浏览器或远程桌面登录到服务器,打开Web浏览器,前往 www.hmailserver.com 并下载最新版本。然后双击以开始安装。
在完成安装屏幕时接受默认选项。
选择同时安装服务器和管理工具。
选择暂时使用内置数据库。对于生产环境,您可能更喜欢使用已安装在邮件服务器或其他位置的外部数据库引擎。或者,您可以使用阿里云阿里云数据库 RDS,但目前我们将使用内置数据库。
当系统询问时,请为hMailServer创建一个管理密码,并仔细记下它。
安装完成后,运行 hMailServer 管理员。首次执行此操作时,系统将询问您要连接到哪个数据库。选择唯一提供的一个,选择“启动时自动连接”,然后点按“连接”。
将出现邮件服务器管理面板。
首先,单击“添加域”。输入 my-new-venture.com,然后点击保存。
现在,我们已准备好为域上的用户创建一个实际的电子邮件帐户,以便接收传入邮件(我们稍后将设置传出邮件)。在屏幕左侧的域名下,单击“帐户”,然后单击“添加”。
在常规选项卡上,我们将创建一个名为 hello@my-new-venture.com 的电子邮件地址,并将其密码设置为“p@ssw0rd”。
如果您愿意,可以为您的邮箱指定配额,以避免用户通过省略定期清除旧邮件来填满服务器的磁盘空间。
在“高级”选项卡上,设置用户的名字和姓氏。我们会选择约翰·史密斯。然后点击保存。
打开正常的电子邮件程序或网站,然后向 hello@my-new-venture.com 发送邮件。
片刻之后,检查服务器。
在驱动器 C 上:在程序文件 (x86)hMailServerData 中,出现了一个名为 my-new-venture.com 的文件夹。里面有一个名为 hello 的文件夹。看来我们的新服务器已成功接受传入邮件,并已为新帐户创建了一个文件夹。因此,让我们继续阅读消息。(如果消息未到达,请检查阿里云控制台中的安全组和服务器本身的 Windows 防火墙,以确保端口 25 已打开)。
设置雷鸟
在本教程中,我们将使用一个名为Thunderbird的免费电子邮件程序来阅读我们的电子邮件。但是,任何电子邮件客户端程序都可以正常工作,因此您可以使用您喜欢的任何程序。
如果您还没有,请从 www.thunderbird.net 下载最新版本的Thunderbird,然后双击开始安装,然后运行它。从“设置”菜单中的“帐户操作”下,单击“添加邮件帐户”。
输入您的姓名、电子邮件地址(hello@my-new-venture.com)和邮箱密码(在本例中为p@ssw0rd)。Thunderbird正确地推断出它需要连接到 mail.my-new-venture.com 来检索电子邮件。单击“完成”,然后单击“确定”以完成设置过程。
请注意,您可能会收到来自 Thunderbird 的警告,指出邮件服务器未使用加密。出于本教程的目的,我们尚未在服务器上购买或安装安全证书。对于生产用途,您应该这样做。
现在检查您的邮件,邮件正在等待。
传入电子邮件现已完全设置并正常工作,因此您可以继续为需要电子邮件帐户的每个人创建电子邮件帐户。
外发邮件
到目前为止,我们已经成功地从头开始设置了一个邮件服务器,能够在 my-new-venture.com 接受新域的传入邮件。我们已经在服务器上创建了一个电子邮件帐户(hello@),并且可以轻松地重复该过程以创建所需的更多电子邮件帐户。由于我们托管自己的传入电子邮件服务器,因此创建其他电子邮件帐户是免费的,并且不受限制。
现在我们需要配置服务器以便能够发送传出邮件。我们通过一种名为SMTP(简单邮件传输协议)的服务来做到这一点,这是邮件服务器通过Internet相互通信以传递邮件的方式。
阿里云提供一种名为 DirectMail 的 SMTP 服务,旨在发送批量消息,如营销材料和新闻通讯。它被世界各地的客户用来每天发送数千万条消息。但是,由于它专为发送批量营销邮件而设计,因此它最多支持 10 个发件人帐户,因此不适合我们在此实例中使用。
另一种选择是在我们的服务器上安装SMTP,并将hMailServer配置为使用它。但是,不建议设置自己的 SMTP 服务,因为新服务需要时间才能在 Internet 上获得足够的声誉和信任。在此之前,从该服务发送的邮件更有可能被接收端的邮件服务器标记为可能的垃圾邮件。
我们将通过注册第三方SMTP中继服务来解决这两个问题。互联网上有很多这样的公司提供这样的产品,所以货比三家,找到最适合你的产品。在本教程中,我们将使用 SendGrid,它提供了一个永久免费的帐户,可让您每天发送多达 100 条消息。如果您需要更多,可以升级到付费帐户。
要使用SendGrid的SMTP服务,我们将注册一个SendGrid帐户,然后将帐户设置配置到hMailServer中,以便它知道使用我们的帐户发送传出邮件。
我们首先创建一个 SendGrid 帐户,然后单击相关选项以开始通过 SMTP 中继发送电子邮件。
然后,我们被问及如何发送邮件。
选择“SMTP 中继”选项。
接下来,系统将要求您创建 API 密钥。
输入密钥的名称,然后单击创建密钥。
现在,您可以看到通过 SendGrid 发送邮件所需的配置设置,所有这些设置都已准备好键入 hMailServer。
将 API 密钥(显示为密码)复制到剪贴板或其他文档文件,并确保其安全。出于安全原因,SendGrid 不会再次向您显示它。如果您忘记了它,您可以随时创建另一个并相应地更新您的hMailServer配置。
注销 SendGrid 的网站并登录到您的 Windows 服务器。前往 hMailServer 管理面板。
在“设置”下,选择“协议”,然后选择“SMTP”。单击“电子邮件传递”选项卡。
对于本地主机名,请输入 my-new-venture.com
在 SMTP 中继器下,此实例中的远程主机名 smtp.sendgrid.net,就像我们在上面创建 SendGrid 帐户时给出的那样。
将远程 TCP/IP 端口设置为 587。虽然默认端口号是 25,但由于安全原因,阿里云禁止端口 25 上的传出连接,因此我们无法使用此功能。正如我们在上面看到的,SendGrid 在端口 587 上接受与其 SMTP 服务的传入连接,我们之前在 Windows 防火墙和阿里云安全组中都打开了端口 587,以便为发送邮件做好准备。
勾选“服务器需要身份验证”框。按照 SendGrid 的指示,输入 apikey 的用户名,然后输入完整的 API 密钥作为密码。将“连接安全性”设置为“无”,因为我们当前未在服务器上使用加密证书。
点击保存。
请注意,SMTP 配置数据是整个公司(在此实例中以 @my-new-venture.com 结尾的任何电子邮件帐户)的一次性设置。无需为创建的每个新邮箱创建新的传出设置。
现在我们可以尝试发送电子邮件。返回到您的电子邮件客户端程序(我们在本教程中使用 Thunderbird)并创建新消息。
几秒钟后,邮件将传递给收件人。
现在一切都在工作。我们可以发送和接收电子邮件。
总结
在本教程中,我们在阿里云上设置了一个Windows云服务器,并用它来托管我们公司的电子邮件。我们使用免费的hMailServer程序来做到这一点。我们设置一个邮箱(hello@my-new-venture.com),并可以根据需要轻松设置多个邮箱。我们验证了邮箱可以接受传入的邮件,并使用 Thunderbird 读取它。
我们注册了第三方SMTP提供商来处理传出邮件,并将hMailServer配置为在发送电子邮件时使用此服务。这比在我们自己的服务器上安装SMTP设施更可取,因为它增加了我们的外发邮件被接受为正版而不是标记为垃圾邮件的可能性。在此示例中,我们使用了 SendGrid,但其他提供程序也可用。
要亲自尝试所有这些,只需前往 www.alibabacloud.com。如果您还没有帐户,则可以免费注册,并且有许多免费试用优惠,可让您评估大多数服务,包括创建Windows服务器,而不会产生任何费用。