mutt发邮件及简单脚本
瞎忙活了一天多 就忙活出来这么点东西 但是也得记下来 免得以后用得上。linux如果没有mutt可以去http://rpm.pbone.net/ 查找并下载mutt 发邮件的主要命令:cat filename | mutt -s "title" -a attachment_file -cw1@a.comfilename: 文件名字 该文件内容将被邮件作为正文attach
瞎忙活了一天多 就忙活出来这么点东西 但是也得记下来 免得以后用得上。
linux如果没有mutt可以去http://rpm.pbone.net/ 查找并下载
mutt 发邮件的主要命令:
cat filename | mutt -s "title" -a attachment_file -c w1@a.com
filename: 文件名字 该文件内容将被邮件作为正文
attachment_file:要作为附件的文件名字 有必要时添加路径
选项:
-a attachment :指定添加附件
-c 指定副本的收信人地址
-f 指定要载入的邮件文件
-i 将指定文件插入邮件内文中
-s 指定邮件的主题
......上面是常用的选项
报错:
1:
我在发邮件时候查网上资料不用-c 总会报错:
没有已指定的接受者
没差到该报错的相关改正 后添加-c 就没有改错误了
2:
命令执行成功没有报错但是没有收到邮件
在自己的服务器日志上查是因为规则不符做了退信处理
就把postfix的主配置文件修改了 绕过了判断规则的过程
所以在邮件往外部邮箱发送时候如果有收不到的情况很有可能是因为知名服务器的反垃圾反病毒给拦截了
脚本:
vim mutt.sh
#! /bin/bash
var=`ls /root/lyy/test/`
for i in $var
do
cat "hello mail" | mutt -s "testmail" -a $i -c w3@a.com
done
保存退出加权限就可以文件作为邮件附件批量到w3@a.com下了,这样就快速的道带附件的邮件文件而不需要成千上万封邮件手动发送得到带附件的邮件文件。
配置文件说明
配置文件中有两个地方是这次比较关注的地方:
set charset=utf-8
set charset=gb2312
set charset=gbk
等等 是邮件文件的编码类型 一般在linux下用uft-8可以识别
set send_charset="..................."
是按顺序识别邮件内容编码的
问题:
这次邮件的乱码是下载过程中有bug导致的 邮件文件是正常无误的,所以瞎忙了好一阵
export LANG=zh_CN.GB2312 可以试试这个 这次这个字段解决了txt乱码
或者set rfc2047_parameters=yes 但是我这次用没管用 不过主要还是因为下载的问题导致的
如果没有muttrc这个文件,应该在/etc/muttrc有 cp muttre /root/.muttrc 修改时候修改.muttrc即可
mutt配置文件原文:http://leeon.me/a/mutt-muttrc-chinese-configuration-note
#windbeg |
003 | #编辑器 直接在 Mutt 的终端里使用非图形界面的 Emacs (emacs -nw) |
004 | set editor= "emacs -nw" |
006 | #设置邮件发送程序 |
007 | set sendmail= "/usr/bin/msmtp" |
009 | #建立信箱 |
010 | set folder= "~/Mail" |
011 | set mbox= "~/Mail/inbox" |
012 | #set mbox_type=maildir |
013 | set spoolfile= "~/Mail/inbox" |
014 | set postponed= "~/Mail/postponed" |
015 | set record= "~/Mail/sent" |
017 | # 让mutt监视下面几个邮箱,并随时报告新邮件 |
018 | mailboxes "=inbox" |
019 | mailboxes "=163" |
020 | mailboxes "=cnc" |
021 | mailboxes "=OA" |
024 | set check_new = yes |
025 | set timeout = 600 |
027 | #set alternates="renbin@unicomzj.com" |
028 | #这是一个格式字符串,用来控制你的index的列表显示。它的缺省定义是 |
030 | set index_format= "%4C %Z %{%b %d} %-15.15L (%4l) %s" |
031 | #指定你有那些信箱文件。当你按 "c" 切换信箱时,再按 Tab 键,这些信箱就可供你选择 |
032 | mailboxes Mailbox sent-mail |
033 | #这是一个 bool 型变量。它表明你在回信时引用原文是否加入原文的邮件头。 |
034 | set header=no |
035 | #可以设置为 yes, no, ask-yes, 或者 ask-no. 这是说,当你按q退出时,是否提示你(ask-yes,ask-no), |
036 | #还是直接就退出了(yes),还是根本不理你(no)。 |
037 | set quit=ask- yes |
038 | #html类型的附件是允许直接通过 .mailcap 浏览的? |
039 | #doc类型的附件通过wvware转成html 浏览 |
040 | auto_view text/html application/msword |
042 | #这也是一个提示性变量。它是确定当你退出时,是否提示你把信件从 spool 移动到的 mbox 文件。 |
043 | set move=no |
044 | #当 Mutt 用 thread 方式显示时,是否用纯 ascii 表示树状列表。 |
045 | set ascii_chars= yes |
046 | #回信时是否包含原文。 |
047 | set include |
048 | #回信的引文之前插入那个符号? |
049 | set indent_str= "> " |
050 | #设置你自己的邮件头。 |
051 | my_hdr From: renbin@unicomzj.com |
052 | #打分 |
053 | #新信件+4分,主题包含“通知”的+2,主题包含 “Circulation” +3, 已经标记删除的 -5,上次没有读的 +1,包含 “believe”的 -10(垃圾广告!)。 |
054 | score "~N" +4 |
055 | score "~s 通知" +2 |
056 | score "~s Circulation" +3 |
057 | score "~D" -5 |
058 | score "~O" +1 |
059 | score "~s believe" -10 |
060 | #排序方式。 |
061 | set sort =score |
062 | #当用 thread 排序方式时,我们对各个 thread 的相对排序顺序。 |
063 | set sort_aux= date |
064 | #如果翻到最后,再按往下翻也不会翻到下一封信件 |
065 | set pager_stop |
066 | #如果设置,当你按 "r" 回信时,就不会再提示你输入回信地址和主题,直接进入编辑模式。 |
067 | set fast_reply |
068 | #当你按 "t" 或者 "D" 之类的标记操作时,是否自动把光标移动到下一封信件。 |
069 | set resolve= yes |
070 | #地址簿 |
071 | source ~/.mutt. alias |
072 | #当你在 index 里按 "a" 为来信者取别名时,使用哪一个别名文件保存这个别名。 |
073 | set alias_file=/home/windbeg/.mutt. alias |
074 | #你发出的邮件保存到那个信箱文件?比如可以像我这样每个月发出的信件放在不同的文件里。 |
075 | set record= "~/Mail/=sent-mail-`date +%Y-%m`" |
076 | #你的终端支持哪一种编码的显示?这个必须和你的终端编码一样。推荐用utf8 |
077 | set charset= "utf8" |
078 | #send_charset |
079 | #set send_charset="us-ascii:iso-8859-1:gb2312:utf-8" |
080 | set send_charset= "us-ascii:iso-8859-1:gb2312:utf-8" |
081 | #外部程序退出时,是否要求用户按一个键才返回。这在察看某些shell命令输出时是比要的, |
082 | #否则它们一下就消失了。 |
083 | set wait_key= yes |
084 | #当你要把信件存到另一个信箱,而这个信箱已经存在时,是否提示附加? |
085 | set noconfirmappend |
086 | #是否把邮件头也放在编辑器里可以修改? |
087 | set edit_headers=no |
088 | #当你在用 pager 看信件时,在 index 留出多少行显示邮件列表? |
089 | set pager_index_lines=4 |
090 | #告诉 Mutt 你已经订阅了那些邮件列表(mailing-list). |
091 | #subscribe fvwm@fvwm.org |
092 | |
093 | #mutt显示日期为中文 |
094 | set locale= "zh_CN" |
095 | #有些没有设置字符编码时 |
096 | charset-hook ^us-ascii$ gb2312 |
097 | #Chinaren 等服务器发出来的信件使用了 quoted-printable 的 subject, |
098 | #而且设置编码为 "iso8859-1",这显然是错误的。 |
099 | #对付这个错误的办法是把 iso-8859-1 变成 gb2312 的别名 |
100 | charset-hook ^iso-8859-1$ gb2312 |
101 | # evolution 发过来的 subject 为 utf-8 编码的邮件标题乱码! |
102 | #那就把不是 utf-8 的编码都映射到 gb2312 |
103 | charset-hook !utf-8 gb2312 |
104 | charset-hook .* gb2312 |
105 | |
106 | # mutt进行pop3收信,当然之前要查看$ mutt -v 编辑情况的确编辑了pop3了。 |
107 | # 以后进入mutt按G就可以收信了。 |
108 | #set pop_user=xxx@mail.ustc.edu.cn |
109 | #set pop_pass="xxxxxx" |
110 | #set pop_host=202.38.64.8 |
111 | #现在不用mutt直接收信了。 |
112 | |
113 | #把mutt发送的from域作为sendmail发送邮件的sender(否则会用user@localdomian) |
114 | set envelope_from= yes |
更多推荐
所有评论(0)