linux下mutt发送中文邮件乱码解决方法

首先,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 #如果你收到的邮件乱码,可以尝试设置以下信息(添加在.muttrc末尾就行)

set charset="UTF-8"
# 外发邮件使用的编码
set send_charset="UTF-8"
# 用中文格式显示日期
set locale=`echo "${LC_ALL:-${LC_TIME:-${LANG}}}"`
# 解决没有设置字符编码的信件显示为乱码的问题
charset-hook ^us-ascii$ GB2312
# 解决主题为UTF-8的信件标题显示为乱码的问题
charset-hook !UTF-8 GB2312
set assumed_charset="GB2312"
# 解决中文附件名为乱码的问题
set rfc2047_parameters=yes
set envelope_from=yes
set use_from=yes
set from=XXXX@163.com
set realname="我的姓名"

三、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。

四、举例

使用方法

最简单的测试方法
echo "Test" | mutt -s "Title" xxxx@qq.com
带附件的
echo "Test" | mutt -s "mysql backup" -a /mysql.tar.gz xxxx@qq.com
读取文本中的信息作为内容
mutt -s "Test" xxxx@qq.com
添加多个附件
echo "Test" | mutt -s "web backup" -a /mysql.tar.gz -a /web.tar.gz xxxx@qq.com

-s "mysql backup"  邮件的参数和标题

-a /mysql.tar.gz 发送附件的参数和路径

 读取mail.txt内容为邮件内容,内容必须UTF8编码,否则乱码

3.设置发件人
编辑配置文件
vi /etc/Muttrc

添加如下内容,防止被作为垃圾邮件

set from="mutt@vps.com"
set use_from=yes
set envelope_from="yes"
set realname="mutt"

mutt@vps.com  为发信地址

mutt  为发件人

发送邮件略慢,需要等待一分钟或者更长才能发送成功(可做定时备份)

 

时间: 2024-09-20 07:28:33

linux下mutt发送中文邮件乱码解决方法的相关文章

Linux下安装MariaDB数据库问题及解决方法(二进制版本的安装)_Linux

MariaDB数据库 分为源代码版本和二进制版本,源代码版本需要cmake编译,这里是二进制版本的安装 # tar zxvf mariadb-5.5.31-linux-x86_64.tar.gz # mv mariadb-5.5.31-linux-x86_64 /usr/local/MySQL (必需这样,很多脚本或可执行程序都会直接访问这个目录) # groupadd mysql 增加 mysql 属组 # useradd -g mysql mysql 增加 mysql 用户 并归于mysql

nginx下无法访问中文文件名的解决方法

今天在网上寻找关于Nginx访问中文目录及文件名的解决方法,偶然看到qwqg的一篇文章!解决问题的思路很清晰,特转载过来与大家一起分享!该方法还没有亲自测试,所以不太确定是否真有用! 方法一: 搞了大半天nginx下无法访问中文文件名的问题,现在看来是secureCRT的问题?看来还是字符集的问题了.看来nginx不需要象apache那样要单独加载支持中文模块. 服务器端字符集如下[root@test]# localeLANG=en_US.UTF-8LC_CTYPE="en_US.UTF-8″L

WordPress上传中文附件乱码解决方法

熟悉PHP的朋友可能会很快解决问题,但不熟悉PHP代码的朋友看过此文章相信一定能解决你的问题,接下来就分享下我的解决wordpress上传中文文件名乱码的心得吧~: 找到/wp-admin/includes/file.php这个文件,并最如下修改:  代码如下 复制代码 function wp_handle_upload( &$file, $overrides = false, $time = null ) { //-. // Move the file to the uploads dir /

PHP连接MySQL查询结果中文显示乱码解决方法_php技巧

我们首先假设数据库中采用的编码为UTF-8这时我们在PHP页面中应当首先添加 复制代码 代码如下: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 此处charset的值utf-8必须与文件保存时的编码类型一样 之后在数据库查询前添加 复制代码 代码如下: mysql_query("set names 'utf8'"); 该行语句的编码值也应当

Navicat连接mysql数据库中文显示乱码解决方法

参考以下解决方法 点击某个连接--属性-切换到高级选项卡–去掉勾选的"使用mysql字符集" 选项–在"编码"处选择65001(UTF-8)或10008-GB2312,再打开就能正常显示中文了. 如果上面方法不能解决可参考 mysql 的安装目录下的my.ini文件里的默认编码有问题,将my.ini文件的这两处的默认编码  代码如下 复制代码 ========================================== [mysql] default-cha

Linux中安装GBK/GB2312程序乱码解决方法

有些时候我们新的VPS安装GBK的程序的时候会发现乱码的问题,下面我们可以使用下面的方法解决. 找到etc/httpd/conf/ 目录中的httpd.conf 1.解决方法一 查找"AddDefaultCharset UTF-8",将"UTF-8"改为"GB2312"   2.解决方案二 查找"AddDefaultCharset UTF-8",将"AddDefaultCharset UTF-8"改为&qu

linux下File.createNewFile(“中文文件名”) 乱码问题

问题描述 我今天遇到了一个中文乱码的问题,虽然现在貌似解决了,但我想了很久没想明白.希望大家帮我支支招,让我搞明白这是啥原因. 我的疑问是我的java我的java源文件是用utf-8保存的在solaris机器上也是用utf-8进行编译的为什么执行的时候 String newp = new String(path.getBytes("utf-8"),encoding)生成的文件名反而是乱码 改成String newp = new String(path.getBytes("gb

动态加载iframe时get请求传递中文参数乱码解决方法_javascript技巧

当用户的页面需要动态加载iframe 时, 如果iframe的src中包传中文参数会出现编码错误:必须加编码,然后再解码. 编码:encodeURI(encodeURI("包含中文的串")) 解码:java.net.URLDecoder.decode("需要解码的串","utf-8"); 解决方案 使用 encodeURI('中文') 进行编码操作, js代码: 复制代码 代码如下: $(function() { $('#frame').attr

远程linux xshell下输出中文乱码解决方法_unix linux

使用xshell登录中文版CentOS或者redhat时,在xshell下如果输出的是中文的话可能会显示乱码,通过如下办法可以有效的解决乱码问题 linux中文乱码解决方法如下: 复制代码 代码如下: [root@localhost ~]# cd /etc/sysconfig/ [root@localhost sysconfig]# cp i18n i18n.bak #备份i18n文件 [root@localhost sysconfig]# echo "" >i18n [root