Linux 上使用 Gmail SMTP 服务器发送邮件通知

假定你想配置一个Linux应用程序从你的服务器或桌面客户端发送邮件信息。邮件信息可能是邮件简报、状态更新(如 Cachet)、监控警报(如 Monit)、磁盘时间(如 RAID mdadm)等等。当你要将自己的邮件发送到服务器发送受保护的信息时,你可以替代使用免费的 SMTP 服务器,免去建立公共维护之苦。


谷歌的服务就是最可靠的免费 SMTP 服务器。想要从应用中发送邮件通知,你在应用中的某个应用中添加 Gmail 的 SMTP 地址和身份验证即可。

使用 Gmail 的 SMTP 服务器会遇到一些限制,这些限制主要用于阻止那些经常使用和使用 10 个服务器来发送邮件的营销的地址。同样,如果你不想被标为垃圾邮件发送者,你不能发送过多的不可投递的邮件。简单来说,Gmail 的 SMTP 服务器对于你个人的使用非常棒,但不适合商业的群体。

说了这么多,是时候向你们下如何在Linux环境下使用Gmail的SMTP服务器展示了。

Google Gmail SMTP 服务器设置

如果你想通过你的应用使用 Gmail 的 SMTP 服务器发送邮件,请牢记下面的详细说明。
邮件发送服务器(SMTP 服务器): smtp.gmail.com
使用认证:
使用安全连接:
••用户名:你的 Gmail 账户 ID (“alice”,如果你的邮箱为 [email protected]
密码:你的 Gmail 密码
587具体 的配置根据应用会有所不同。剩下的部分,我将向你展示一些在 Linux 上使用 Gmail SMTP 服务器的应用示例。

从贴心发送邮件

作为一个服务员,让我们的所有邮件示例:使用 Gmail SMTP从第一次尝试发送邮件给 Debian。为此,我将使用一个名为 mut 的邮件邮件客户端。 先安装 Debian基于系统:
 

$ sudo apt-get install mutt

基于 Red Hat 的系统:

$ sudo yum install mutt

创建一个配置文件(~/.muttrc 下面一样,在中指定Gmail SMTP服务器信息。将替换成自己的和Gmail ID。要注意配置邮件(并用于接收邮件)。

$ vi ~/.muttrc
从 = "@gmail.com" 设置
set realname = "丹南妮"
设置 smtp_url = "smtp://@smtp.gmail.com:587/"
设置 smtp_pass = ""

发送邮件,使用邮件:

$ echo "这是一个电子邮件正文。" | mutt -s "这是一个电子邮件主题" [email protected]

想在邮件中添加附件,使用“-a”选项

$ echo "这是一个电子邮件正文。" | mutt -s "这是一个电子邮件主题" [email protected] -a ~/test_attachment.jpg

扫描二维码关注公众号,回复: 14490218 查看本文章


使用 SMTP 服务器将希望是从使用自己的域名邮件发送给 Gmail 的邮箱。需要使用 Gmail SMTP 转发服务。

当服务器重启时发送邮件通知

如果你在虚拟服务器(VPS)上专注跑了一些重要的网站,监控 VPS 的重启行为。作为一个更实用的建议的例子,让我们研究如何在你的 VPS 上为每一次重启事件建立邮件通知。这里是你的 V 使用系统提供的,由你提供给 PS 展示如何为自动通知使用的系统,用于创建自定义的系统服务。首先创建下面的脚本
reboot_notify.sh ,负责邮件通知。

$ sudo vi /usr/local/bin/reboot_notify.sh
#!/bin/sh
echo "`hostname` 于 `date` 重新启动" | mutt -F /etc/muttrc -s "关于`主机名`的通知" [email protected]
$ sudo chmod +x /usr/local/bin/reboot_notify.sh

在这个脚本中,我使用 "-F" 选项,用于指定系统级的 mutt 配置文件位置。因此不要把信息描述创建 /etc/mutt 文件,并如前面的那样进入 Gmail SMTP 填写。

现在让我们创建一个自定义的 systemd 服务。

$ sudo mkdir -p /usr/local/lib/systemd/system
$ sudo vi /usr/local/lib/systemd/system/reboot-task.service
[单元]
描述=服务器重新启动时发送通知电子邮件
默认依赖=否
之前=reboot.target
[服务]
类型=oneshot
ExecStart=/usr/local/bin/reboot_notify.sh
[安装]
WantedBy=reboot.target

在创建服务之后,添加并启动该服务。

$ sudo systemctl 启用重启任务
$ sudo systemctl 开始重启任务

从现在起,在每次 VPS 重启的时候,你就会收到一封邮件通知。

通过服务器使用监控发送邮件通知

作为一个例子,我让一个应用程序应用程序,Monit,是一个应用程序应用程序中的应用程序。它全面的 VPS 监控生活能力(如 CPU、内存、进程、文件)和邮件通知功能。

如果你希望接收 VPS 上由 Monit 产生的任何事件的邮件通知,你可以在 Monit 配置文件中添加以下 SMTP 信息。

设置邮件服务器 smtp.gmail.com 端口 587
    用户名密码 ””
    使用 tlsv12
设置邮件格式{
 来自:@gmail.com
 主题:$DATE $HOST $SERVICE $EVENT
 消息:在 $HOST 的 $DATE 监控 $ACTION $SERVICE $EVENT:$DESCRIPTION。
       此致,
          监控
  }
# 接收通知邮件的人
设置警报 [email protected]

这是一个因为 CPU 负载率超载而由 Monit 发送的邮件通知的例子。

总结

如你所见,无论 Gmail 这样免费的 SMTP 服务器使用多少,类似的用途都有很多不同的项目使用。但无论是哪款,都很好地免费使用了 SMTP Gmail SMTP 服务器,欢迎自由分享你的用例。

猜你喜欢

转载自blog.csdn.net/yaxuan88521/article/details/126379751
今日推荐