如何在Linux命令行中通过SMTP服务器发送电子邮件

如何在Linux命令行中通过SMTP服务器发送电子邮件,第1张

假定你想配置一个 Linux 应用,用于从你的服务器或桌面客户端发送邮件信息。邮件信息可能是邮件简报、状态更新(如 Cachet)、监控警报(如 Monit)、磁盘时间(如 RAID mdadm)等等。当你要建立自己的 邮件发送服务器 传递信息时 ,你可以替代使用一个免费的公共 SMTP 服务器,从而避免遭受维护之苦。
谷歌的 Gmail 服务就是最可靠的 免费 SMTP 服务器 之一。想要从应用中发送邮件通知,你仅需在应用中添加 Gmail 的 SMTP 服务器地址和你的身份凭证即可。
使用 Gmail 的 SMTP
服务器会遇到一些限制,这些限制主要用于阻止那些经常滥用服务器来发送垃圾邮件和使用邮件营销的家伙。举个例子,你一次只能给至多 100
个地址发送信息,并且一天不能超过 500
个收件人。同样,如果你不想被标为垃圾邮件发送者,你就不能发送过多的不可投递的邮件。当你达到任何一个限制,你的 Gmail
账户将被暂时的锁定一天。简而言之,Gmail 的 SMTP 服务器对于你个人的使用是非常棒的,但不适合商业的批量邮件。
说了这么多,是时候向你们展示 如何在 Linux 环境下使用 Gmail 的 SMTP 服务器 了。
Google Gmail SMTP 服务器设置
如果你想要通过你的应用使用 Gmail 的 SMTP 服务器发送邮件,请牢记接下来的详细说明。
邮件发送服务器 (SMTP 服务器): smtpgmailcom
使用认证: 是
使用安全连接: 是
用户名: 你的 Gmail 账户 ID (比如 "alice" ,如果你的邮箱为 alice@gmailcom)
密码: 你的 Gmail 密码
端口: 587
确切的配置根据应用会有所不同。在本教程的剩余部分,我将向你展示一些在 Linux 上使用 Gmail SMTP 服务器的应用示例。
从命令行发送邮件
作为第一个例子,让我们尝试最基本的邮件功能:使用 Gmail SMTP 服务器从命令行发送一封邮件。为此,我将使用一个称为 mutt 的命令行邮件客户端。
先安装 mutt:
对于 Debian-based 系统:
$ sudo apt-get install mutt
对于 Red Hat based 系统:
$ sudo yum install mutt
创建一个 mutt 配置文件(~/muttrc),并和下面一样,在文件中指定 Gmail SMTP 服务器信息。将 替换成自己的 Gmail ID。注意该配置只是为了发送邮件而已(而非接收邮件)。
$ vi ~/muttrc
set from = "@gmailcom"set realname = "Dan Nanni"set smtp_url = "smtp://@smtpgmailcom:587/"set smtp_pass = ""
一切就绪,使用 mutt 发送一封邮件:
$ echo "This is an email body" | mutt -s "This is an email subject" alice@yahoocom
想在一封邮件中添加附件,使用 "-a" 选项
$ echo "This is an email body" | mutt -s "This is an email subject" alice@yahoocom -a ~/test_attachmentjpg
使用 Gmail SMTP 服务器意味着邮件将显示是从你 Gmail 账户发出的。换句话说,收件人将视你的 Gmail 地址为发件人地址。如果你想要使用自己的域名作为邮件发送方,你需要使用 Gmail SMTP 转发服务。
当服务器重启时发送邮件通知
如果你在 虚拟专用服务器(VPS)
上跑了些重要的网站,建议监控 VPS 的重启行为。作为一个更为实用的例子,让我们研究如何在你的 VPS
上为每一次重启事件建立邮件通知。这里假设你的 VPS 上使用的是 systemd,并向你展示如何为自动邮件通知创建一个自定义的 systemd
启动服务。
首先创建下面的脚本 reboot_notifysh,用于负责邮件通知。
$ sudo vi /usr/local/bin/reboot_notifysh
#!/bin/sh
echo "`hostname` was rebooted on `date`" | mutt -F /etc/muttrc -s "Notification on `hostname`" alice@yahoocom
$ sudo chmod +x /usr/local/bin/reboot_notifysh
在这个脚本中,我使用 "-F" 选项,用于指定系统级的 mutt 配置文件位置。因此不要忘了创建 /etc/muttrc 文件,并如前面描述的那样填入 Gmail SMTP 信息。
现在让我们创建如下一个自定义的 systemd 服务。
$ sudo mkdir -p /usr/local/lib/systemd/system$ sudo vi /usr/local/lib/systemd/system/reboot-taskservice
[Unit]
Description=Send a notification email when the server gets rebooted
DefaultDependencies=no
Before=reboottarget
[Service]
Type=oneshot
ExecStart=/usr/local/bin/reboot_notifysh
[Install]
WantedBy=reboottarget
在创建服务后,添加并启动该服务。
$ sudo systemctl enable reboot-task$ sudo systemctl start reboot-task
从现在起,在每次 VPS 重启时,你将会收到一封通知邮件。
通过服务器使用监控发送邮件通知
作为最后一个例子,让我展示一个现实生活中的应用程序,Monit,这是一款极其有用的服务器监控应用程序。它带有全面的 VPS 监控能力(比如 CPU、内存、进程、文件系统)和邮件通知功能。
如果你想要接收 VPS 上由 Monit 产生的任何事件的邮件通知,你可以在 Monit 配置文件中添加以下 SMTP 信息。
set mailserver smtpgmailcom port 587
username "" password ""
using tlsv12
set mail-format {
from: @gmailcom
subject: $SERVICE $EVENT at $DATE on $HOST
message: Monit $ACTION $SERVICE $EVENT at $DATE on $HOST : $DESCRIPTION
Yours sincerely,
Monit
}
# the person who will receive notification emails
set alert alice@yahoocom
这是一个因为 CPU 负载超载而由 Monit 发送的邮件通知的例子。

部分重同步通过复制偏移量,复制积压缓冲区、服务器运行ID三个部分来实现。

在复制 *** 作刚开始的时候,从服务器会成为主服务器的客户端,并通过向主服务器发送命令请求来执行复制步骤,而在复制 *** 作的后期,主从服务器会相互成为对方的客户端。

主服务器通过向从服务器传播命令来更新从服务器的状态,保持主从服务器一致,而从服务器则通过向主服务器发送命令来进行心跳检测,以及命令丢失检测。

打开网页时显示502 bad gateway是指错误无效的网关。一般的我们打开网页时出现502 Bad Gateway,说明服务器没有响应,也就是我们的WEB服务器没有接到有效的信息导致的。

可以尝试以下方法解决:

一、基本刷新需要打开的网页

右击刷新、按F5刷新、或按浏览器上的刷新按钮。这个方法能解决一部分人的问题。

二、从服务器刷新需要打开的网页

快捷键ctrl+F5,重新向服务器发送请求。

有时基本刷新有可能只是从本地的硬盘重新拿取数据到浏览器,并不一定重新向服务器发出请求。

大部分用户很多时候都是这样刷新的,遇到502报错的就没有任何效果。

这时可以尝试同时按ctrl+F5从服务器刷新。

三、关闭代理服务器

1、可能是浏览器使用了代理,我们在浏览器找到右上角的工具打开,在下拉菜单中找到代理服务器选项。

2、在d出的代理服务器选项中,选择不使用代理的选项在前面打勾,然后重启浏览器即可。

四、关闭不必要的程序

1、出现这种情况的可能是被一些程序拦截导致的,我们右键点击电脑下方任务栏的空白区域。

2、选择“启动任务管理器”,如下图所示:

3、进去任务管理器之后,将不必要的应用程序和进程结束掉,如下图所示:

五、在Windows10中还可以通过输入命令修改,具体如下:

1、按下Windows+Q组合件打开小娜,在搜索框中搜索命令提示符或CMD,在“命令提示符”上右键,选择“以管理员身份运行”;

2、在命令提示符框中依次输入以下命令,每输完一条按一下回车。

netshinterfaceteredosetstatedisable

netshinterface6to4setstatedisabled

netshinterfaceisatapsetstatedisabled

全部运行完成后等待完成修复,然后重启计算机即可解决故障!

以上就是打开网站提示502badgateway的解决办法,希望能对您有所帮助。

outlook向smtp服务器发邮件使用的是SMTP协议,SMTP的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

>

扩展资料

SMTP通信的过程(以发送端邮件服务器与接收端服务器的通信为例):

1、发送端邮件服务器(以下简称客户端)与接收端邮件服务器(以下简称服务器)的25号端口建立TCP连接。

2、客户端向服务器发送各种命令,来请求各种服务(如认证、指定发送人和接收人)。

3、服务器解析用户的命令,做出相应动作并返回给客户端一个响应。

4、第2和第3部交替进行,直到所有邮件都发送完或两者的连接被意外中断。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13065851.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存