极1s路由上安装mutt、ssmtp通过命令行发送邮件

参考文档: http://www.right.com.cn/forum/thread-42547-1-1.html

ssmtp在潘多拉官方源上可以找到,但是却没有mutt 极1s是mt7620a的cpu在openwrt官方源中的找到的也是可以用的 但是不同分支的openwrt却无法通过opkg直接安装,会提示以下错误信息:

Unknown package 'mutt'.
Collected errors:
 * [12389]pkg_hash_fetch_best_installation_candidate(363): Packages for mutt found, but incompatible with the architectures configured
 * [12389]opkg_install_cmd(502): Cannot install package mutt.

解决办法: mutt官方下载地址: http://downloads.openwrt.org/barrier_breaker/14.07-rc3/ramips/mt7620a/packages/mutt_1.5.21-1_ramips_24kec.ipk

下载完成后用winrar逐层打开,程序在data.tar.gz中:


ipk手动解包

手动安装mutt软件包 将usr目录对应拷贝覆盖到路由器/usr目录,hiwifi的可以拷贝到SD卡对应的/tmp/data/usr目录 此时就可以执行mutt命令了 ssmtp也可以使用openwrt官方源的软件包,拷贝完成后执行可能会提示缺少一些Lib文件,同样从官方源中下载手动解压安装。

安装完成后,需要修改ssmtp配置文件/etc/ssmtp/ssmtp.conf

vi /etc/ssmtp/ssmtp.conf

#修改为发信人地址
root=********@qq.com
#smtp邮件服务器地址
mailhub=smtp.qq.com:465
#重写发信域
rewriteDomain=qq.com
#主机名也填发信域
hostname=qq.com
#是否重写发信人地址
FromLineOverride=YES
#是否使用TLS/SSL加密
UseTLS=YES

上面配置的是ssmtp执行发信时的服务器信息,接下来配置mutt的配置文件 ~/.muttrc mutt配置文件在根目录

vi ~/.muttrc

set folder=/tmp/data/root/Mail
set mbox_type=mbox
set spoolfile=+inbox
set mbox=+received
set postponed=+postponed
set record=+sent
set charset="utf-8"
set envelope_from=yes
set use_from=yes
#配置发信人邮件地址
set from="******@qq.com"
#邮箱用户昵称(用于在对方收件箱中显示的发信人昵称)
set realname="HiWiFi"
#配置邮箱账号和密码 
set sendmail="/tmp/data/usr/sbin/ssmtp -v -au *******@qq.com -ap ***密码**"

完成就可以直接通过命令行发送邮件了 简单测试一下发送

echo '这是一个测试邮件' | mutt -s '测试邮件的标题' ********@qq.com

mutt内容接受管道符| 也可以将邮件内容保存为一个文件/tmp/testmail.txt,然后这样发送

mutt -s '测试邮件的标题' ********@qq.com < /tmp/testmail.txt

添加附件添加一个参数 -a 即可,多个附件就添加多个 -a 文件名

mutt -s '测试邮件的标题' -a /tmp/www.tar.gz ********@qq.com < /tmp/testmail.txt