700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Linux下配置用msmtp和mutt发邮件

Linux下配置用msmtp和mutt发邮件

时间:2023-03-04 07:47:32

相关推荐

Linux下配置用msmtp和mutt发邮件

Linux下可以直接用mail命令发送邮件,但是发件人是user@servername,如果机器没有外网的dns,其他人就无法回复。此时,有一个可以使用网络免费邮箱服务的邮件发送程序就比较重要了。msmtp就是这样的一个程序。

#1、下载源码包

wget /projects/msmtp/files/msmtp/1.4.31/msmtp-1.4.31.tar.bz2/download

#2、解压

tar -jxvfmsmtp-1.4.31.tar.bz2 && cdmsmtp-1.4.31

#build and install

./configure --prefix=/usr/local/msmtp && make && make install

#link to /usr/bin

ln -s /usr/local/msmtp/bin/msmtp /usr/bin/msmtp

#3、新建msmtp的配置文件

mkdir/usr/local/msmtp/etc && vim/usr/local/msmtp/etc/msmtprc

#4、输入如下内容

# Set default values for all following accounts.

defaults

logfile /var/log/msmtp/msmtp.log

# The SMTP server of the provider.

account 163

# SMTP邮件服务器地址

host

# 发送的邮件Email

from user@

auth login

# 邮件服务器登录账号

user user@

# 邮件服务器登陆密码

password password

# Set a default account

account default : 163

#############################################

#5、测试msmtp是否配置正确

msmtp test@test[ctrl+d]

#6、安装配置mutt

yum install -y mutt

vim /etc/Muttrc

#输入如下内容:

set sendmail='/usr/bin/msmtp'

set use_from=yesset realname='YOURNAME'

set from=user@set envelope_from=yesauto_view text/htmlset charset='utf-8'

set send_charset='utf-8'

set locale ='zh_CN.UTF-8'

set content_type = 'text/html\;charset=utf-8'

set rfc2047_parameters=yes

#6、配置完毕,测试一下吧!

echo"测试test"|mutt-s"test"receiver@首先介绍一下mutt这个软件,它是一款基于文字界面的邮件客户端,非常小巧,但功能强大,可以用它来读写,回复保存和删除你的邮件,能在linux命令行模式下收发邮件附件。我只讲它很小的一部分功能,因为我也是刚刚开始摸索这个软件。更多的用法请查阅官网:一、mutt的安装1yum-yinstallsendmail2#需要安装sendmail并开启防火墙的25端口,如果你需要收邮件110端口也要开3yum-yinstallmutt二、配置信息关于配置信息,有一点需要说明的,网上很多教程都说,编辑/root/.muttrc以修改配置文件,我想说的是,我在安装完成之后,/root目录下并没有.muttrc这个隐藏文件,你可以从其它地方复制过来,或者自己新建一个文件。这里我是复制的。你可以通过find命令找到Muttrc这个文件,命令如下find/-nameMuttrc,然后通过命令cp/etc/Muttrc/root/.muttrc复制到/root下后更名为.muttrc,然后你就可以编辑配置文件了。1#如果你收到的邮件乱码,设置以下信息2setcharset="utf-8"3setrfc2047_parameters=yes4#如果你想自定义发件人信息,需要进行如下设置5setenvelope_from=yes6setuse_from=yes7setfrom=root@8setrealname="itdhz"安装完mutt后,在/usr/share/doc/mutt*下有一份很好的手册,可以看一下。三、邮件发送语法: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。四、举例这里我用自己备份网站的一段代码举例加以说明1mutt408160341@-s"itdhz数据备份"-a/home/backup/itdhz.sql</root/readme.txt2或者3echo"test"|mutt408160341@-s"itdhz数据备份"-a/home/backup/itdhz.sql这段代码表示,发送邮件到408160341@这个邮箱,邮件主题是“itdhz数据备份”,邮件内容在/root/readme.txt中,邮件中包含附件/home/backup/itdhz.sql。如果要发送多个附件,需要在每个附件前加-a参数。

如果没有正文文件的话,就用echo直接把正文打出来就行了,如:

echo "this is content" | mutt -s "this is subject" -a /path/yourfileabc@local.domain-cbbb@local.domain

如果有正文文件的话就用

cat /path/contentfile| mutt -s "this is subject" -a /path/yourfileabc@local.domain-cbbb@local.domain

mutt是linux下一个强大的邮件客户端软件.

-s是主题

-a是附件

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

cat /path/contentfile| mutt -s "this is subject" -a /path/yourfileabc@local.domain-cbbb@local.domain-cccc@local.domain-cddd@local.domain

如果发送多个email,就直接列出来就行了,如

cat /path/contentfile| mutt -s "this is subject" -a /path/yourfileabc@local.domainbbb@local.domainccc@local.domainddd@local.domain

本文转自 chengxuyonghu 51CTO博客,原文链接:/6226001001/1692513,如需转载请自行联系原作者

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。