如何在 Linux 上使用 Gmail SMTP 服务器发送邮件通知
假定你想配置一个 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> 替换成自己的 Gmail ID。注意该配置只是为了发送邮件而已(而非接收邮件)。
$ vi ~/muttrc
set from = "<gmail-id>@gmailcom"set realname = "Dan Nanni"set smtp_url = "smtp://<gmail-id>@smtpgmailcom:587/"set smtp_pass = "<gmail-password>"
一切就绪,使用 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 "<your-gmail-ID>" password "<gmail-password>"
using tlsv12
set mail-format {
from: <your-gmail-ID>@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 发送的邮件通知的例子。
foxmail邮箱的发送邮件服务器SMTP的地址是需要自己设置的,以下是设置方法:
1、在个人信息中输入你的名字和邮箱地址(地址一定要正确)
2、主要是设置邮件服务器
smtp服务器:
smtp163com(注意smtp服务器需要身份认证一定要选上)
pop3服务器:
pop163com
pop3邮箱账号:你的用户名(注意用户名和一般企业邮箱不同不能写全只写用户就够了)
密码:你的密码
3、补充
由于发件服务器对发送的邮件进行 SMTP 认证。解决办法是在用户的帐户属性设置中,选中“SMTP 服务器需要身份验证”,再试试发送能不能成功的。
不知道八方风雨2是在家里还是在公司里用foxmail,在公司的话是不是公司的邮件服务器有拦截,可以跟网管确认一下。
希望你早日成功吧。
如何配置 SMTP 虚拟服务器以进行邮件传递,解答如下
配置重试次数和重试间隔
如果无法在第一次尝试时传递邮件,则 Microsoft 简单邮件传输协议 (SMTP) 服务会在指定时间后再次从队列目录发送该邮件。可以设置传递尝试之间的时间间隔,还可以指定尝试传递邮件的次数。达到限制后,会将未送达报告 (NDR) 和邮件发送到 Badmail(死信)目录中。
可以使用这些设置提高服务器输出速度,但这些设置只影响传出邮件,对其他服务器处理传入邮件的速度不会有任何影响。要配置这些设置,请按照下列步骤操作:
在 Microsoft 管理控制台 (MMC) 中,单击以选中 SMTP 虚拟服务器,然后在操作菜单上,单击属性。
单击传递选项卡。
在第一次重试间隔(分钟)中,键入在发布第一个通知之前尝试传递的时间值。默认值为 15 分钟。
在第二次重试间隔(分钟)中,键入在发布第二个通知之前尝试传递的时间值。默认值为 30 分钟,即第一次重试间隔后 30 分钟。
在第三次重试间隔(分钟)中,键入在发布第三个通知之前尝试传递的时间值。默认值为 60 分钟,即第二次重试间隔后 60 分钟。
在后续重试间隔(分钟)中,键入在发布通知之前尝试传递的时间值。默认值为 240 分钟。
设置邮件的跃点计数
传递邮件时,邮件在到达其最终目标之前可能被路由到多个服务器上。可以指定允许邮件通过的服务器数目。这称为跃点计数。要设置邮件的跃点计数,请按照下列步骤操作:
在 MMC 中,单击以选中 SMTP 虚拟服务器,然后在操作菜单上,单击属性。
在传递选项卡上,单击高级以打开高级传递对话框。
在最大跃点计数中,键入邮件可以通过的源服务器和目标服务器之间的跃点的数值。默认值为 15 个跃点。
注意:设置跃点计数后,SMTP 服务器将计算邮件头的已接收字段中列出的跃点。如果已接收字段中的数目超出最大跃点计数设置,邮件就会返回给发件人,并随附一个 NDR。
设置虚拟域
虚拟域可替换协议中任何发件人行中使用的任意本地域名称。此种替换仅发生在第一个跃点上。
在 MMC 中,单击以选中 SMTP 虚拟服务器,然后在操作菜单上,单击属性。
在传递选项卡上,单击高级以打开高级传递对话框。
在虚拟域中,键入您希望在邮件头中显示的域名,而不是域的真实名称。
注意:对此类邮件的所有答复都是通过使用虚拟域的 SMTP 虚拟服务器进行路由的。
设置完全限定域名
启动时,在系统属性对话框的网络标识选项卡上指定的名称将自动作为完全限定域名 (FQDN)。如果更改此名称(手动或通过加入 Microsoft Windows 2000 域),则在下次重新启动计算机后,新名称将自动用作 FQDN。您不必执行任何操作即可更新虚拟服务器的 FQDN。
要重写网络标识选项卡上自动使用的计算机名和域名,请在高级传递对话框(通过传递选项卡可找到此对话框)中更改 FQDN。这样,Microsoft SMTP 服务将使用指定的名称,而不使用在网络标识选项卡上指定的名称。要设置 FQDN,请按照下列步骤操作:
在 MMC 中,单击以选中 SMTP 虚拟服务器,然后在操作菜单上,单击属性。
在传递选项卡上,单击高级以打开高级传递对话框。
在完全限定的域名中,键入 FQDN。
配置智能主机
可以通过智能主机路由所有要发送到远程域中的传出邮件,而不是将这些邮件直接发送到域。这允许您通过比其他路由更直接或更经济的连接来路由邮件。智能主机类似于远程域的路由域选项。区别是指定智能主机后,所有传出邮件都将路由到该服务器。而使用路由域,则只有发往远程域的邮件路由到特定服务器。
如果设置了智能主机,则仍可以为远程域指定其他路由。路由域设置将重写智能主机设置。要设置智能主机,请按照下列步骤操作:
在 MMC 中,单击以选中 SMTP 虚拟服务器,然后在操作菜单上,单击属性。
在传递选项卡上,单击高级以打开高级传递对话框。
在智能主机中,键入智能主机服务器的名称。可以键入一个字符串来表示名称,也可以键入 IP 地址。
如果想让 Microsoft SMTP 服务在将远程邮件转发给智能主机服务器之前尝试直接传递这些远程邮件,请单击以选中发送到智能主机之前尝试直接进行传递复选框。默认情况下,会向智能主机发送所有远程邮件,而不尝试直接进行传递。
注意:可以通过 FQDN 或 IP 地址来标识智能主机。请注意,如果更改 IP 地址,则还必须在每台虚拟服务器上分别进行更改。如果使用的是 IP 地址,请将其括在方括号 ([]) 中以提高系统性能。Microsoft SMTP 服务首先检查服务器名称,然后检查 IP 地址。括号将值标识为 IP 地址,因此会跳过 DNS 查找。
启用反向 DNS 查找
如果选择了此选项,Microsoft SMTP 服务将尝试验证客户端的 IP 地址是否与客户端用 EHLO 或 HELO 命令提交的主机或域相匹配。
注意:因为此功能可验证所有传入邮件的地址,所以使用它会影响 Microsoft SMTP 服务性能。清除该复选框可禁用此功能。
如果反向 DNS 查找成功,“已接收”邮件头将保持完好无损。如果验证不成功,则“已接收”邮件头中的 IP 地址后面会出现“未验证”。要启用反向 DNS 查找,请按照下列步骤操作:
在 MMC 中,单击以选中 SMTP 虚拟服务器,然后在操作菜单上,单击属性。
在传递选项卡上,单击高级以打开高级传递对话框。
单击以选中对传入邮件执行反向 DNS 查找复选框。
从后台进去 系统设置->邮件服务器设置。
一、邮件发送方式
ECShop 25支持如下二种邮件发送方式:
1、采用服务器内置的 Mail 服务(推荐此方式),
介绍:这种方式是使用 PHP 的函数发送邮件,需要服务器上安装 mail 系统。一般的虚拟主机都内置邮件系统。因此强烈推荐使用这种方式。
2、采用其他的 SMTP 服务(支持 SMTP 验证),
介绍:这种方式适用于 Windows 或者 Linux 类服务器使用(适合于虚拟主机或者独立主机使用)。需要站长拥有一个 SMTP 服务器,例如新浪的 SMTP 服务器。这里说明一点:发信人邮件地址 -> 如果您填写的邮件服务器需要验证, 必须填写此服务器的邮件地址。
二、两种不同发送方式的配置
1、采用服务器内置的 Mail 服务,
选择此发送方式时 发送邮件服务器地址和服务器端口这两项空着不用填写。
邮件发送帐号:填写所使用的邮件地址就可以。
帐号密码:就是所使用邮件的登录密码。
邮件回复地址:就是希望客户给你回复邮件的地址,这里要注意发送邮件地址要和这个回复邮件地址保持一致。
邮件编码:一般这里选择国际化编码(utf8)。
邮件地址:为了测试上面的邮件配置是否成功,这里必需填写您其他的邮件地址,填写完毕后点击 发送测试邮件 测试一下。点击后这里会有即时的弹出窗口反馈邮件是否配置成功的提示信息。
2、采用其他的 SMTP 服务,
邮件服务器地址:就是邮件外发服务器,这里以163的邮箱为例。所以邮件的外发地址是 smtp163com。(这里可以根据不同的邮件服务在网上可以搜索到相应的服务器地址)。
服务器端口:25。
邮件发送帐号:填写所使用的邮件地址就可以。
帐号密码:就是所使用邮件的登录密码。
邮件回复地址:就是希望客户给你回复邮件的地址,这里要注意发送邮件地址要和这个回复邮件地址保持一致。
邮件编码:一般这里选择国际化编码(utf8)。
邮件地址:为了测试上面的邮件配置是否成功,这里必需填写您其他的邮件地址,填写完毕后点击 发送测试邮件 测试一下。点击后这里会有即时的弹出窗口反馈邮件是否配置成功的提示信息。
发送服务器是SMTP服务器,接收服务器是POP服务器和IMAP服务器。
1、SMTP服务器帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。
2、POP3服务器是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。POP3协议允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时根据客户端的操作删除或保存在邮件服务器上的邮件。
3、IMAP服务器的主要作用是邮件客户端可以从邮件服务器上获取邮件的信息,下载邮件等。IMAP协议运行在TCP/IP协议之上,使用的端口是143。它与POP3协议的主要区别是用户可以不用把所有的邮件全部下载,可以通过客户端直接对服务器上的邮件进行操作。
扩展资料:
人们通过访问服务器实现邮件的交换。服务器程序通常不能由用户启动,而是一直在系统中运行,它一方面负责把本机器上发出的E-mail发送出去,另一方面负责接收其他主机发过来的E-mail,并把各种电子邮件分发给每个用户。
在用户处理电子邮件时,需要选择一种供用户使用的电子邮件程序。由于网络环境的多样性,各种网络环境的操作系统与软件系统也不相同,因此服务器也不完全一样。
新浪CN免费邮箱(@sinacn)收信(pop3)服务器的地址为:popsinacn。
新浪CN免费邮箱(@sinacn)发信(smtp)服务器的地址为:smtpsinacn。
新浪免费邮箱收信(pop3)服务器的地址为:popsinacom。
新浪免费邮箱发信(smtp)服务器的地址为:smtpsinacom。
新浪VIP邮箱发信(smtp)服务器的地址为:smtpvipsinacom。
新浪VIP邮箱收信(pop3)服务器的地址为:pop3vipsinacom。
0条评论