您的位置:首页 > 运维架构 > Linux

Linux 邮件发送 sendmail mail mutt

2018-04-12 11:13 465 查看
sandmail 是Linux下自带的工具

1.sendmail mail的安装

centos 下使用查看是否已经安装

rpm -qa | grep sendmail

或者直接使用

sendmail -h

没有则使用命令安装(centos)

yum -y install sendmail

安装mailx

yum -y install mailx

启动sendmail速度过慢或者发送邮件速度慢

用 system -status sendmail 查看状态时发现下面的问题:

Apr 11 22:39:13 controller systemd[1]: Starting Sendmail Mail Transport Agent...
Apr 11 22:39:13 controller sendmail[17405]: My unqualified host name (controller) unknown; sleeping for retry
Apr 11 22:40:13 controller sendmail[17405]: unable to qualify my own domain name (controller) -- using short name
Apr 11 22:40:13 controller sendmail[17442]: starting daemon (8.14.7): SMTP+queueing@01:00:00
Apr 11 22:40:13 controller systemd[1]: Started Sendmail Mail Transport Agent.


提示无法快速找到hostname

需要在/etc/hosts文件下添加hostname

运行hostname命令查看当前主机名

然后编辑/etc/hosts文件,在127.0.0.1这里添加主机名

再次重启sendmail发现速度快了很多,而且不在出现上面的问题。

2 发送邮件

1) 无邮件正文

mail -s “主题” 收件地址

mail -s “test” xxxxx@foxmail.com

2) 有邮件正文

方式一:mail -s “主题” 收件地址< 文件(邮件正文.txt)

mail -s “邮件主题” xxxx@foxmail.com < /test.txt

方式二: echo “邮件正文” | mail -s 邮件主题 收件地址

echo “邮件正文内容” | mail -s “邮件主题” xxxxx@foxmail.com

方式三: cat 邮件正文.txt | mail -s 邮件主题 收件地址

cat test.txt | mail -s “邮件主题” xxxxx@foxmail.com

3) 带附件

mail -s “主题” 收件地址 -a 附件 < 文件(邮件正文.txt)

mail -s “邮件主题” xxxxx@foxmail.com -a /test.tar.gz < test.txt

3 更改发件人别名

依赖工具

yum install -y m4 sendmail-cf

/etc/mail目录下

编辑submit.mc文件,在FEATURE(
msp',
[127.0.0.1]’)dnl 前添加下面的内容即可

MASQUERADE_AS(`xxx@xxxx.com')dnl
FEATURE(masquerade_envelope)dnl


问题:以上的方式发送邮件几乎都会被认为垃圾邮件,测试过新浪邮箱,163邮箱,qq邮箱

邮件发送多几次后会出现拒收情况,详情可以查看

/var/spool/mail/root文件,会有相应的返回提示

4 使用外部邮箱发送邮件

使用外部邮箱发送邮件就能解决上面垃圾邮件的问题

就是添加一个发件邮箱,需要用到mail

编辑mail.rc

vim /etc/mail.rc

set from=User@XX.com 登陆邮箱的账号

set smtp=smtp.XXX.com 邮箱的smtp服务器,

set smtp-auth-user=User@XX.com 邮箱的用户名

set smtp-auth-password=Password 邮件的密码

set smtp-auth=login 认证方式:登陆

重启sendmail服务

5 使用mutt发送邮件

安装yum install -y mutt

配置全局mutt, 直接编辑 /etc/Muttrc 文件

配置用户级mutt, 复制/etc/Muttrc 到 /当前用户/.muttrc

//为root用户复制.muttrc

cp /etc/Muttrc /root/.muttrc

编辑/root/.muttrc

设备编码方式 ,防止中文乱码

set charset=”utf-8”

set envelope_from=yes #这条默认没有,请手动添加

set use_from=yes

set from=xxx.com@xx.com

set realname=”name”

发送邮件方式与mail基本一致,只需要将mail替换成mutt即可

参考文件:

mutt: https://www.cnblogs.com/webph/p/6792207.html

mail https://www.linuxidc.com/Linux/2014-10/107946.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: