千家信息网

三种使用Linux命令发送邮件

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,使用mail命令mail命令是mailutils(On Debian)或mailx(On RedHat)包中的一部分,我们可以使用他在命令行里面发送消息。如果你的系统没有安装mail命令,可以使用下面
千家信息网最后更新 2026年11月01日三种使用Linux命令发送邮件


使用mail命令

mail命令是mailutils(On Debian)或mailx(On RedHat)包中的一部分,我们可以使用他在命令行里面发送消息。
如果你的系统没有安装mail命令,可以使用下面的方式安装:

$ sudo apt-get install mailutils (On Debian)

# yum install mailx (On RedHat or CentOS)

现在我们来使用mail命令来发送带附件的邮件,如下:

echo "这里输入你邮件内容" | mail -s "邮件标题" -a file.txt 59090939@qq.com

在上面的命令中,-s 参数用于指定消息主题;-a 参数指定需要发送的附件路径,貌似这个不能发送多个附件,-v参数显示详细的发送过程。
当然,我们可以将邮件的内容存到一个文件中,比如下面我们把邮件的内容存储到message.txt文件中,然后发送:

mail -s "邮件标题" -a file.txt 59090939@qq.com < message.txt

这时候的message.txt是以文本内容在邮件中显示的,并不是以附件的形式。

我们在发送附件的时候出现下面的错误:

send-mail: fatal: xiao(40010): message file too big

从上面的错误信息可以看出,我们发送的附件太大了,我们可以通过以下两种方法来加大附件大小的限制:
第一种:

[root@xiao ~]$ postconf message_size_limit

message_size_limit = 51200000

echo "message_size_limit = 102400000" >> /etc/postfix/main.cf && service postfix reload

Reloading Postfix configuration...done.

第二种:

[root@xiao ~]$ postconf -e message_size_limit=302400000

[root@xiao ~]$ service postfix restart

Shutting down postfix: [ OK ]

Starting postfix: [ OK ]

[root@xiao ~]$ postconf message_size_limit

message_size_limit = 302400000

两种方法都可以设置

配置邮箱账户

Vi /etc/mail.rc 在文件的最后添加如下两段中的一段,国内IP的话一般第一段就可以,国外有些IP要用第二段,安全级别更高

set from=59090939@qq.com

set smtp="smtp.qq.com"

set smtp-auth-user="59090939@qq.com"

set smtp-auth-password="ttvingav"

set smtp-auth=login

或者

set from=59090939@qq.com

set smtp="smtp.qq.com:587"

set smtp-auth-user="59090939@qq.com"

set smtp-auth-password="ttvingavu"

set smtp-auth=login

set smtp-use-starttls

set nss-config-dir=/etc/openldap/certs

使用mutt命令

mutt是一个流行轻量级的电子邮件客户端命令,http://www.mutt.org/

我们同样可以使用它发送带附件的邮件,如果你的电脑没有安装这个命令,请使用下面命令安装:

$ sudo apt-get install mutt

# yum install mutt

源码安装

wget ftp://ftp.mutt.org/pub/mutt/mutt-1.11.2.tar.gz

tar -zvxf mutt-1.11.2

cd mutt-1.11.2

./configure --prefix=/usr/local/mutt --enable-pop --enable-smtp --with-ssl --with-sasl
--enable-pop 启用pop
--enable-smtp 启用smtp
--with-ssl --with-sasl 在启用上述协议的情况下,必须使用更安全的加密

安装
make && make install

因为测试帐号是QQ邮件,qq邮件使用smtp协议的时候要求必须使用ssl安全连接,而在mutt里使用安全连接

又必须使用sasl加密,所以上述2个安全组件在编译安装的时候得加上。要不然发送邮件的时候会

出现"SMTP authentication requires SASL"或者另外一个跟ssl有关的错误

配置邮箱账户vi /etc/Muttrc 文件的未尾添加如下内容

set use_from=yes

set use_envelope_from=yes

set realname="59090939"

set from="59090939@qq.com"

set smtp_pass="ttvingavu"

set smtp_url="smtps://59090939@smtp.qq.com:465/"

国内用465端口,用587会报如下错误:

gnutls_handshake: 收到一个意外的 TLS 数据包。

无法发送此信件

现在我们可以使用mutt命令发送带附件的邮件了:

echo "这里输入你邮件内容" | mutt -s "邮件标题" -a file.txt 59090939@qq.com

从上面可以看出,mutt 的使用和 mail 命令很类似,更多关于它的使用参数可以直接 man mutt 查看。

使用msmtp

云方式安装

$ sudo apt-get install msmtp

# yum install mstp

源码方式安装

https://marlam.de/msmtp/

wget https://marlam.de/msmtp/releases/msmtp-1.8.1.tar.xz

xz -d msmtp-1.8.1.tar.xz

tar -xvf msmtp-1.8.1.tar

cd msmtp-1.8.1

yum -y install gnutls gnutls-devel gnutls-utils openssl openssl-devel libidn libidn-devel

如果不yum instll 那么后面可能会季报如下错:

msmtp: support for TLS is not compiled in

./configure --prefix=/usr/local/msmtp --sysconfdir=/usr/local/msmtp/etc --with-ssl=openssl && sudo make && sudo make install

在用户的主目录中创建或编辑msmtp配置文件。我使用VI编辑器来实现这一目标

vi /etc/msmtprc

account gmail

tls on

auth on

host smtp.gmail.com

port 587

user user1@gmail.com

from user1@gmail.com

password ******

或

account qqmail

tls on

auth on

tls_starttls off

tls_trust_file /etc/ssl/certs/ca-bundle.crt

host smtp.qq.com

port 465

user 59090939@qq.com

from 59090939@qq.com

password ttvingav

由于该文件包含密码等敏感数据,因此您应分配安全权限

chmod 600 /etc/msmtprc

测试发送邮件,如果不出意外的,应该可以正常发出邮件。

echo "hello" |msmtp -a qqmail -C /usr/local/msmtp/etc/msmtprc 59090939@qq.com

邮件 命令 附件 安全 内容 文件 参数 时候 错误 面的 方式 标题 配置 数据 方法 消息 源码 账户 邮箱 加密 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技巨头监管 未来的互联网科技 互联网女皇 腾讯科技 互联网科技公司名称 互联网科技有限公司 翻译 衡水科技产业互联网平台 青海省互联网新科技 北京大学互联网科技怎么样 千方科技属于互联网企业吗 乌鲁木齐新华智原互联网科技学校 用友工业互联网科技发展 杭州披云加互联网科技有限公司 张召忠谈中国互联网科技 万物互联网智能科技 互联网科技职业技能培训学校 广州三三互联网科技有限公司 众联互联网络科技 10位科技互联网大佬 承德科技产业互联网平台 中国主要互联网科技公司 互联网是第几次科技革命的成果 北京路客互联网科技有限公司 互联网科技资迅 万易互联网科技有限公司 壹账通互联网科技 玖二柒互联网科技公司待遇 浙江互联网科技研学营 互联网科技大赛获奖感言 江苏互联网科技小贷 萌小萌互联网科技河南有限公司
0