在 Ubuntu 上使用 Gmail 配置 Sendmail
Sendmail 是一种流行的邮件传输代理,用于在计算机之间发送电子邮件。它可能默认安装在 Ubuntu 上,这使得它成为从服务器发送电子邮件的便捷选择。如果您使用 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,您需要创建一个应用密码。这是一个唯一的密码,您将使用它来对您的电子邮件帐户进行身份验证,并与 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 服务器发送电子邮件的便捷方式。您可以从命令行发送电子邮件,或使用脚本自动执行电子邮件任务。
低成本 - 使用 Sendmail 和 Gmail 是从 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 服务器向任何其他电子邮件地址发送电子邮件,使其成为电子邮件通信的便捷工具。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP