导航:首页 > IDC知识 > linux服务器发送邮件

linux服务器发送邮件

发布时间:2020-11-11 17:25:33

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

mail [email protected]
输入题目、正文,新行输入. 结束

2、如何在Linux命令行中通过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 服务器): smtp.gmail.com
使用认证: 是
使用安全连接: 是
用户名: 你的 Gmail 账户 ID (比如 "alice" ,如果你的邮箱为 [email protected]
密码: 你的 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 = "@gmail.com"set realname = "Dan Nanni"set smtp_url = "smtp://@smtp.gmail.com:587/"set smtp_pass = ""

一切就绪,使用 mutt 发送一封邮件:
$ echo "This is an email body." | mutt -s "This is an email subject" [email protected]

想在一封邮件中添加附件,使用 "-a" 选项
$ echo "This is an email body." | mutt -s "This is an email subject" [email protected] -a ~/test_attachment.jpg

使用 Gmail SMTP 服务器意味着邮件将显示是从你 Gmail 账户发出的。换句话说,收件人将视你的 Gmail 地址为发件人地址。如果你想要使用自己的域名作为邮件发送方,你需要使用 Gmail SMTP 转发服务。

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

如果你在 虚拟专用服务器(VPS)
上跑了些重要的网站,建议监控 VPS 的重启行为。作为一个更为实用的例子,让我们研究如何在你的 VPS
上为每一次重启事件建立邮件通知。这里假设你的 VPS 上使用的是 systemd,并向你展示如何为自动邮件通知创建一个自定义的 systemd
启动服务。

首先创建下面的脚本 reboot_notify.sh,用于负责邮件通知。
$ sudo vi /usr/local/bin/reboot_notify.sh

#!/bin/sh

echo "`hostname` was rebooted on `date`" | mutt -F /etc/muttrc -s "Notification on `hostname`" [email protected]
$ sudo chmod +x /usr/local/bin/reboot_notify.sh

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

现在让我们创建如下一个自定义的 systemd 服务。
$ sudo mkdir -p /usr/local/lib/systemd/system$ sudo vi /usr/local/lib/systemd/system/reboot-task.service

[Unit]
Description=Send a notification email when the server gets rebooted
DefaultDependencies=no
Before=reboot.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/reboot_notify.sh

[Install]
WantedBy=reboot.target

在创建服务后,添加并启动该服务。
$ sudo systemctl enable reboot-task$ sudo systemctl start reboot-task

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

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

作为最后一个例子,让我展示一个现实生活中的应用程序,Monit,这是一款极其有用的服务器监控应用程序。它带有全面的 VPS 监控能力(比如 CPU、内存、进程、文件系统)和邮件通知功能。

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

set mailserver smtp.gmail.com port 587
username "" password ""
using tlsv12

set mail-format {
from: @gmail.com
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 [email protected]

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

3、linux下多个sendmail服务器怎么互发邮件

Linux服务器发送邮件一般都是基于sendmail进行的,sendmail服务器提供对外的邮件发送功能。1.安装sendmail服务器安装方法:
1
#sudo apt-get install sendmail
2.然后通过ps查看是否有sendmail进程,如果存在,则安装成功:
1
2
#ps -ef|grep sendmail
root 1282 1 0 13:39 ? 00:00:00 sendmail: MTA: accepting connections
3.成功安装sendmail后,就可以向邮件账户发送邮件了,编辑如下文件a.sh,通过chmod 更改权限后执行就可以。
1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
/usr/sbin/sendmail -t << EOF
From: Mail test
Sender:
To: [email protected]
Cc: [email protected]
Subject: mail testing
----------------------------------
This is the mail content ...
muhaha
---------------------------------
EOF

4、linux里面怎样配置邮件服务器?

Sendmail服务器配置
首先,在DNS正向解析上添加一个邮件交换器的名称
这里顺便把dns的测试也附上:

启动sendmail

正向主区域配置文件:

修改sendmail的配置文件
vi /etc/mail/sendmail.cf

改成

修改sendmail的配置文件
vi /etc/mail/sendmail.mc

去掉dnl

再添加两行

做输入重定向m4 /etc/mail/sendmail.mc>/etc/mail/sendmail.cf
编辑 /etc/mail/access

执行makemap hash /etc/mail/access.db </etc/mail/access

编辑vi /etc/mail/local-host-names把邮件服务器使用的域名给添加上去

重启sendmail服务

最后给[email protected]发送测试邮件

End。。。

5、linux服务器实现在线自动发邮件功能

linux本身也可以做SMTP服务器,你百度找找这类服务器的架设。很简单(但是得对外开25端口,当然特殊设置一下还是可以用其他端口)
或者更加简单的网上申请一个,现在所以大型的邮箱网站都提供。这就不需要25端口了,你要是对域名不满意也可以申请企业邮箱
比较麻烦的是通过协议来发送,POP3 SMTP要先了解,然后PHP也有封装的类似协议的函数库,基本就大功搞成,在了解协议的情况和找到一个适合的库,做起来是很快的。

6、linux服务器需要发送邮件iptables怎么配置

邮件服务都使用了25端口,我们只需要允许来自25端口的连接请求即可。
iptables -A INPUT -i eth0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT

允许IMAP与IMAPS
# IMAP:143
iptables -A INPUT -i eth0 -p tcp --dport 143 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 143 -m state --state ESTABLISHED -j ACCEPT

# IMAPS:993
iptables -A INPUT -i eth0 -p tcp --dport 993 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 993 -m state --state ESTABLISHED -j ACCEPT

允许POP3与POP3S
# POP3:110
iptables -A INPUT -i eth0 -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 110 -m state --state ESTABLISHED -j ACCEPT

# POP3S:995
iptables -A INPUT -i eth0 -p tcp --dport 995 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 995 -m state --state ESTABLISHED -j ACCEPT

7、linux下搭建邮件服务器用outlook发送测试邮件失败

端口可以telnet吗
ip通吗
服务正常开启的吗
有报错日志吗
防火墙开的吗

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

有相应的PHP程序
如果是测试可以使用Telnet命令,事先安装好Telnet客户端

telnet smtp.163.com 25
EHLO smtp.163.com
输入用户
输入base64加密的密码
MAIL FROM:<[email protected]>
RCPT TO:<[email protected]>

9、linux服务器如何设置才能支持dz发邮件

你不需要设置开放25端口。在后台》站长》邮件设置里面设置为 通过 PHP 函数的 sendmail 发送(推荐此方式)
下面的邮件头选择为你系统的版本使用 LF 作为分隔符(通常为 Unix/Linux 主机
然后在检测上面输入你的测试发件人 可以指定为[email protected]
收件人里面就填你要测试收件的邮箱,如果能收到就代表配置成功。。建议测试不要使用QQ邮箱sendmail这类会被QQ拦截。

10、linux 服务器发邮件报错

ping 一下server.localdomain 看看能不能解析。
如果不行,检查一下/etc/hosts文件。

与linux服务器发送邮件相关的知识