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

linux安装mutt插件发送邮件

2016-11-22 14:19 316 查看
使用mutt发邮件

 一、安装配置msmtp

1、下载、解压 msmtp

先使用putty等工具登陆ssh

 

wget http://downloads.sourceforge.NET/msmtp/msmtp-1.4.16.tar.bz2?modtime=1217206451&big_mirror=0[/code] 
tar jxvf msmtp-1.4.16.tar.bz2

 
2、安装
./msmtp-1.4.16/configure--prefix=/usr/local/msmtp
make
make install
 
3、配置msmtp账号
切换到,cd /usr/local/msmtp
新建文件夹etc,mkdir etc
使用vi新建文件,输入:vi /usr/local/msmtp/etc/msmtprc
,编辑内容如下:
# Set default values for all followingaccounts.
defaults
logfile /usr/local/msmtp/msmtp.log
# The SMTP server of the provider.
account test@163.com
# SMTP邮件服务器地址
host smtp.163.com
# 发送的邮件Email
from test@163.com
auth login
# 邮件服务器登录账号
user xiaobaichi@i0554.com
# 邮件服务器登陆密码
password 123456
# Set a default account
account default : test@163.com

Esc,shift+:进入命令模式,输入wq,保存退出。
由于password是明码,所以我们需要修改此文件的权限 chmod 600.msmtprc
由于设置了日志,可以到 /usr/local/msmtp/msmtp.log,查看日志,发信成功失败都会有记录。

通过上面的步骤就可以发邮件了,这里发邮件还是使用的是SMTP发的,msmtp相当于一个第三方工具。

二、安装配置mutt

1、一般Linux都会默认安装mutt,CentOS也不例外

可以使用which mutt查看mutt安装的路径,如果没有安装可以使用# yum install mutt

通过find命令找到Muttrc这个文件,命令如下 find / -name Muttrc ,然后通过命令 cp /etc/Muttrc/root/.muttrc 复制到 /root 下后更名为.muttrc ,然后你就可以编辑配置文件了。

set from="发送邮件地址"
setsendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set realname="发件人"
set editor="vi"

发件地址最好与msmtp设置的账号相同,否则可能会出错。
以上部分必须要手动添加进去!

1 如果收到的邮件是乱码的,需要设置如下信息

2 set charset="utf-8"

3 set rfc2047_parameters=yes

4 #如果你想自定义发件人信息,需要进行如下设置

5 set envelope_from=yes

6 set use_from=yes

7 set from=root@itdhz.com

8 set realname="itdhz"


echo "邮件正文" | mutt -s "邮件主题" 测试邮件地地址

-s 主题

-a 附件

-c 抄送,多个抄送是多个-c

如下:

多个抄送写邮件格式:

cat /path/contentfile | mutt -s "this is subject" -a /path/xx.zip abc@local.domain -c bb@local.domain -c ccc@local.domain  -c ....

发多个email,格式:

cat
4000
/path/contentfile | mutt -s "this is subject" -a /path/xx.zip abc@local.domain bbb@local.domain ccc@local.domain ....

 

没有正文的话,直接echo 出来

echo "This is content" | mutt -s "this is subject" -a /path/xx.zip(附件中内容) xx@local.domain -c bbb@local.domain ccc@local.domain (多个抄送其他人写法

空格 + 邮件地址)

 

有正文写法:

echo /path/contentfile | mutt -s "this is subject" -a /path/xx.zip(附件中内容) xx@local.domain -c bbb@local.domain ccc@local.domain

三、邮件发送

  语 法:

mutt [-hnpRvxz][-a<文件>][-b<地址>][-c<地址>][-f<邮件文件>][-F<配置文件>][-H<邮件草稿>][-i<文件>][-m<类型>] [-s<主题>][邮件地址]

  参 数:

-a<文件> 在邮件中加上附加文件。

-b<地址> 指定密件副本的收信人地址。

-c<地址> 指定副本的收信人地址。

-f<邮件文件> 指定要载入的邮件文件。

-F<配置文件> 指定mutt程序的设置文件,而不读取预设的.muttrc文件。

-h 显示帮助。

-H<邮件草稿> 将指定的邮件草稿送出。

-i<文件> 将指定文件插入邮件内文中。

-m<类型> 指定预设的邮件信箱类型。

-n 不要去读取程序培植文件(/etc/Muttrc)。

-p 在mutt中编辑完邮件后,而不想将邮件立即送出,可将该邮件暂缓寄出。

-R 以只读的方式开启邮件文件。

-s<主题> 指定邮件的主题。

-v 显示mutt的版本信息以及当初编译此文件时所给予的参数。

-x 模拟mailx的编辑方式。

-z 与-f参数一并使用时,若邮件文件中没有邮件即不启动mutt。

  四、举例

  这里我用自己备份网站的一段代码举例加以说明

1 mutt 408160341@qq.com -s "itdhz数据备份" -a /home/backup/itdhz.sql

2 或者

3 echo "test" |mutt 408160341@qq.com -s "itdhz数据备份" -a /home/backup/itdhz.sql

  这段代码表示,发送邮件到 408160341@qq.com 这个邮箱,邮件主题是“itdhz数据备份”,邮件内容在 /root/readme.txt 中,邮件中包含附件 /home/backup/itdhz.sql。如果要发送多个附件,需要在每个附件前加 -a 参数。


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: