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

#1、下载源码包

wget http://sourceforge.net/projects/msmtp/files/msmtp/1.4.31/msmtp-1.4.31.tar.bz2/download

#2、解压

tar -jxvf msmtp-1.4.31.tar.bz2 && cd msmtp-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 smtp.163.com

# 发送的邮件Email
from user@163.com
auth login

# 邮件服务器登录账号
user user@163.com

# 邮件服务器登陆密码
password password
# Set a default account
account default : 163

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

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

msmtp test@163.comtest
[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@163.comset envelope_from=yes
auto_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@163.com首先介绍一下mutt这个软件,它是一款基于文字界面的邮件客户端,非常小巧,但功能强大,可以用它来读写,回复保存和删除你的邮件,能在linux命令行模式下收发邮件附件。我只讲它很小的一部分功能,因为我也是刚刚开始摸索这个软件。更多的用法请查阅官网:http://www.mutt.org一、mutt的安装
1    yum -y install sendmail
2    #需要安装sendmail并开启防火墙的25端口,如果你需要收邮件110端口也要开
3    yum -y install mutt    二、配置信息关于配置信息,有一点需要说明的,网上很多教程都说,编辑/root/.muttrc以修改配置文件,我想说的是,我在安装完成之后, /root目录下并没有 .muttrc 这个隐藏文件,你可以从其它地方复制过来,或者自己新建一个文件。这里我是复制的。你可以通过find命令找到Muttrc这个文件,命令如下 find / -name Muttrc ,然后通过命令 cp /etc/Muttrc /root/.muttrc 复制到 /root 下后更名为 .muttrc ,然后你就可以编辑配置文件了。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"    安装完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。四、举例这里我用自己备份网站的一段代码举例加以说明
1    mutt 408160341@qq.com -s "itdhz数据备份" -a /home/backup/itdhz.sql </root/readme.txt
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 参数。

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

echo "this is content" | mutt -s "this is subject" -a /path/yourfile abc@local.domain -c bbb@local.domain

如果有正文文件的话就用

cat /path/contentfile  | mutt -s "this is subject" -a /path/yourfile abc@local.domain -c bbb@local.domain

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

-s是主题

-a是附件

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

cat /path/contentfile  | mutt -s "this is subject" -a /path/yourfile abc@local.domain -c bbb@local.domain -c ccc@local.domain -c ddd@local.domain

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

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

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

Linux下配置用msmtp和mutt发邮件相关推荐

  1. proc除了能用于oracle开发_能不能用于mysql开发_Oracle数据库开发(二).Linux下配置使用ProC...

    一.提要 上文简单介绍了Windows下ProC配置开发,这次我们使用Linux平台再次配置Oracle ProC开 发环境(RedHat Linux 9 + Oracle 92). <ORAC ...

  2. 在linux下配置网桥透明模式防火墙

    在linux下配置网桥透明模式防火墙 一.透明模式防火墙与透明代理的概念       一般而言,防火墙的两个网络接口应分属两个不同的网络,根据系统管理员定义的访问规则在两个接口之间转发数据包,或者拒绝 ...

  3. Linux下配置jupyter notebook远程访问实战:配置Jupyter的连接密码、启动jupyter服务、远程访问jupyter(关闭防火墙)

    Linux下配置jupyter notebook远程访问实战:配置Jupyter的连接密码.启动jupyter服务.远程访问jupyter(关闭防火墙) 目录 Linux下配置jupyter note ...

  4. linux tomcat 安装教程,关于Linux下配置安装Tomcat8的步骤

    由于Centos6即将停止更新,本次就使用Centos7.5 X64位系统来演示,Tomcat版本就使用8.5,如果想使用9.0的版本也可以去官网进行下载,步骤都大同小异. 关于Tomcat9的新特性 ...

  5. 在Linux 下配置PHP 支援GD

    本站的另一篇文章介绍了在Linux 下配置PHP + MySQL 的执行环境,而照着该篇文章安装的PHP 是未能支援GD 的. 而本文就是介绍在Linux 下安装GD,并配置PHP 支援GD. GD ...

  6. linux下配置 ITK

    在 linux 下配置 ITK 在 linux 下配置 ITK 1. 下载 CMake:http://www.cmake.org/cmake/resources/software.html 为方便安装 ...

  7. linux c 下信号量 windows下event_windows和linux下配置jdk环境

    一 在linux 下配置jdk 环境 ① 在官网下载安装包,这里如何下载安装包就不一一叙述,下载安装包完成后,使用rz命令上传至linux中.提前在linux中建立一个文件夹 mkdir /usr/l ...

  8. Linux下配置Smba服务器

    文章目录 1 Linux下配置Smba服务器 1 Linux下配置Smba服务器 Ubuntu安装Samba 服务器: 确认安装: dpkg -l | grep samba 安装: sudo apt- ...

  9. linux下配置多网卡或多IP的方法

    第一种方法: ifconfig eth0:1 192.168.5.129 netmask 255.255.255.0 然后,你用ifconfig,就会发现多了一个ip,但这个ip是暂时的,重启以后就不 ...

最新文章

  1. Windows下安装MySQL 5.7.26 及注意事项
  2. 【Java】Java_05 标识符与字符集
  3. 《大话数据结构》第9章 排序 9.6 希尔排序(下)
  4. linux下的ppp软件,linux下ppp拨号无线上网(示例代码)
  5. ruby,rails环境架设配置 转载一文章.
  6. linux rawsocket java_linux下RAW SOCKET--转
  7. 日志log4j配置详情,日志log具体到你想不到
  8. 不要根据自己的喜好创业
  9. POJ 2187 凸包旋转卡壳
  10. 飘云阁15周年逆向破解教程
  11. java多元一次方程组求解_java 怎么解多元一次不定方程组
  12. 高尔顿钉板概率模型的实现
  13. 解决SublimeText中文注释乱码
  14. win7旗舰版显示不了文件扩展名提示需要administrators提供权限才能对此文件进行更改
  15. 网站上线前期应该如何制定关键词优化策略
  16. PostgreSQL 连接(JOIN)
  17. python爬虫模板(个人总结)
  18. 2021安徽高考体考成绩查询,2021年安徽体育专业考试成绩查询网址:https://www.ahzsks.cn/...
  19. Android 刘海屏 适配
  20. ip_forward与路由转发

热门文章

  1. 【OpenGL ES】透视变换原理
  2. 【蓝桥杯】 算法训练 旅行家的预算
  3. 逻辑面试题:一个逻辑学教授,有三个学生,3个人玩猜数字的游戏
  4. 使用inno setup制作静默安装包
  5. 操作系统真象还原第6章:完善内核
  6. 【codeforces 794A】Bank Robbery
  7. SQL Server 在代码级别实现导入导出功能
  8. 基于ESXi的软路由(LEDE)与黑群晖的安装与配置
  9. 设置ubuntu系统中vi的默认模板文件
  10. 设计,构建线框图和对Android应用进行原型制作:第2部分