1.直接使用ls|msmtp -- mailaddr,收到信件后没有内容,原因是msmtp的输入是有格式要求的
有信件头和信件主题两个部分,例如
Date: Sun, 9 May 2010 12:38:01 +0800
From: zws
To: addr
Subject: ls
Message-ID: <20100509043801.GA30719@ssq_pppoe>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.4.1i
SHELL=/bin/sh
USER=root
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
PWD=/root
SHLVL=1
HOME=/root
LOGNAME=root
_=/bin/env
最好用mutt来发
2.使用mutt通过msmtp-enqueue.sh发信,信件只被存在~/.msmtpqueue下,老是发不出去
后来发现是crond给任务的环境变量PATH有问题,msmtp-runqueue.sh和msmtp都在/usr/local/bin下,而crond准备的PATH是/usr/bin:/bin
解决办法是crontab -e 在前面增加环境变量
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
就可以了
阅读(1255) | 评论(0) | 转发(0) |