在 Ubuntu 上配置 Gmail 的 sendmail 功能
Sendmail 是一款流行的邮件传输代理,用于在计算机之间发送电子邮件。Ubuntu 默认安装了 Sendmail,这使得它成为从服务器发送电子邮件的便捷选择。如果您使用 Gmail,则可以配置 sendmail 以通过 Gmail 帐户发送电子邮件。
在本文中,我们将向您展示在 Ubuntu 上配置 Gmail 和 sendmail 的过程。
要求
开始之前,在 Ubuntu 上配置 Gmail 和 sendmail 需要满足一些要求 -
一个 Gmail 帐户
一台 Ubuntu 服务器
在您的 Ubuntu 服务器上安装 Sendmail
在您的 Ubuntu 服务器上安装 OpenSSL
如果您尚未安装 OpenSSL,可以通过运行以下命令进行安装 -
sudo apt-get install openssl
步骤 1:创建 Gmail 应用密码
配置使用 Gmail 发送邮件时,您需要创建一个应用程序密码。这是您将用于通过 sendmail 验证电子邮件帐户的唯一密码。
要创建应用密码,请按照以下步骤操作 -
登录您的 Gmail 帐户。
点击右上角的个人资料图片,然后选择"Google 帐户"。
点击左侧菜单中的"安全"。
向下滚动到"登录其他网站"部分,然后点击"应用密码"。
选择"邮件"作为应用,并选择"其他(自定义名称)"作为设备。
输入设备的自定义名称,然后点击"生成"。
记下生成的 16 位密码。
步骤 2:配置Sendmail
现在您已经为 Gmail 帐户创建了应用密码,您可以配置 Sendmail 以使用它发送电子邮件。请按照以下步骤配置 Sendmail -
运行以下命令打开 Sendmail 配置文件 -
sudo nano /etc/mail/sendmail.mc
在文件末尾添加以下几行 -
define(SMART_HOST',[smtp.gmail.com]')dnl define(RELAY_MAILER_ARGS', TCP $h 587')dnl define(ESMTP_MAILER_ARGS', TCP $h 587')dnl define(confAUTH_OPTIONS', A p')dnl TRUST_AUTH_MECH(EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(confAUTH_MECHANISMS', EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl FEATURE(authinfo',`hash /etc/mail/auth/client-info')dnl
保存并关闭文件。
运行以下命令重新生成 sendmail 配置 -
sudo make -C /etc/mail
运行以下命令重启 sendmail 服务 -
sudo service sendmail restart
步骤 3:创建身份验证文件
接下来,您需要创建一个身份验证文件,其中包含您在步骤 1 中生成的应用密码。请按照以下步骤创建身份验证文件 -
运行以下命令在 /etc/mail/auth 目录中创建一个新文件 -
sudo nano /etc/mail/auth/client-info
在文件中添加以下行 -
AuthInfo:smtp.gmail.com "U:user@gmail.com" "P:16-digit-app-password"
将 "user@gmail.com" 替换为您的 Gmail 地址,并将 "16-digit-app-password" 替换为您在步骤 1 中生成的应用密码。
保存并关闭文件。
通过运行以下命令设置身份验证文件的权限 -
sudo chmod 600 /etc/mail/auth/client-info
运行以下命令重新生成身份验证数据库 -
sudo makemap hash /etc/mail/auth/client-info < /etc/mail/auth/client-info
步骤 4:测试 Sendmail
最后,您可以通过发送电子邮件来测试 Sendmail 是否配置正确。请按照以下步骤使用 Sendmail 发送电子邮件 -
在您的 Ubuntu 服务器上打开一个终端窗口。
输入以下命令创建新电子邮件 -
echo "Subject: Test email" | sendmail -v recipient@email.com
将 "recipient@email.com" 替换为您要发送电子邮件的电子邮件地址。
按 Enter 键,然后输入电子邮件正文。
按 Ctrl+D 发送电子邮件。
检查您发送电子邮件的电子邮件地址,并确认您已收到电子邮件。
如果您收到了电子邮件,则表示 sendmail 工作正常,并且已配置为使用您的 Gmail 帐户发送电子邮件。
使用 Gmail 配置 Sendmail 的优势
在 Ubuntu 上使用 Gmail 配置 Sendmail 有几个优势。其中包括:-
可靠投递 - 当您使用 Gmail 配置 sendmail 时,您可以依靠 Gmail 服务器的稳定性和可靠性来确保您的电子邮件成功投递。
更高的安全性 - 通过使用应用密码而不是常规的 Gmail 密码,您可以提高 Gmail 帐户的安全性并防止未经授权的访问。
便捷性 - 使用 Gmail 配置 sendmail 是从 Ubuntu 服务器发送电子邮件的便捷方式。您可以从命令行发送电子邮件,也可以使用脚本自动执行电子邮件任务。
低成本 - 使用 Gmail 配置 sendmail 是从 Ubuntu 服务器发送电子邮件的低成本解决方案。您无需设置自己的邮件服务器或支付外部电子邮件服务费用。
常见问题及故障排除
虽然使用 Gmail 配置 Sendmail 的过程相对简单,但您可能会遇到一些常见问题。以下是一些常见问题及其解决方案 -
"拒绝中继" - 如果您收到"拒绝中继"错误消息,则表示您的 Gmail 帐户未获得通过 Sendmail 发送电子邮件的授权。要解决此问题,您需要为您的 Gmail 帐户创建应用密码,并将其添加到 Sendmail 配置文件中。
身份验证失败 - 如果您收到"身份验证失败"错误消息,则表示您使用的应用密码不正确。请仔细检查您输入的应用密码是否正确,然后重试。
SSL 证书验证 − 如果您收到"SSL 证书验证失败"的错误消息,则表示 sendmail 无法验证 Gmail 服务器的 SSL 证书。要解决此问题,您需要运行以下命令安装 ca-certificates 软件包:
sudo apt-get install ca-certificates
端口 587 被阻止 − 如果您收到"连接被拒绝"或"连接超时"的错误消息,则可能是因为您的服务器的端口 587 被阻止了。您可以通过运行以下命令检查 587 端口是否已打开 -
telnet smtp.gmail.com 587
如果连接被拒绝或超时,您可能需要检查防火墙设置或联系您的主机提供商。
结论
在 Ubuntu 上配置 Gmail 的 sendmail 非常简单,只需几个简单的步骤即可完成。按照本文概述的步骤,您可以轻松设置 sendmail 以通过您的 Gmail 帐户发送电子邮件。设置完成后,您可以使用 sendmail 从 Ubuntu 服务器向任何其他电子邮件服务器发送电子邮件,使其成为便捷的电子邮件通信工具。
相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

