Linux 使用msmtp 发送邮件

原来一直在Linux下使用mail命令来发送邮件,但是配置起来特别麻烦,需要配置sendmail的很多东西。而且还必须启动sendmail才能保证邮件发送成功。那么有没有类似于foxmail,outlook这样的邮件客户端软件,并且有命令行的形式,来发送邮件呢。muttmsmtp提供了一个很好的解决方案。

以下是配置方案:

1)下载msmtp

wgethttp://downloads.sourceforge.net/msmtp/msmtp-1.4.16.tar.bz2?modtime=1217206451&big_mirror=0

2)解压:

tar jxvf msmtp-1.4.16.tar.bz2

3)安装:

./configure --prefix=/usr/local/msmtp

make

make install

4)配置msmtp账号:

新建文件/usr/local/msmtp/etc/msmtprc

编辑内容:

# Set default values for all following accounts.
defaults

logfile /usr/local/msmtp/msmtp.log
# The SMTP server of the provider.
account test@163.com

# SMTP邮件服务器地址
host smtp.163.com

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

#邮件服务器登录账号
userxiaobaichi@i0554.com

#邮件服务器登陆密码
password 123456
# Set a default account
account default : test@163.com

Escshift+:进入命令模式,输入wq,保存退出。

由于password是明码,所以我们需要修改此文件的权限chmod600 .msmtprc

5)保存退出,测试客户端是否可用

/usr/local/smtp/bin/msmtp目标邮件地址

随便输入一些字符,然后按ctrl+D退出,去目标邮件地址查看邮件是否收到。

6)配置mutt,mutt一般linux都会默认安装,可以使用which mutt查看mutt安装的路径。

编辑mutt配置文件:/etc/Muttrc,修改一下几行:

setsendmail="/opt/msmtp/bin/msmtp"

set use_from=yes

set realname="发送邮件地址"

set editor="vi"

7)保存退出,测试一下mutt是否有效:

echo "测试测试"| mutt -s "测试"测试邮件地址

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

#!/bin/bash

if [ -f getip ]

then

echo "getip文件存在"

rm -fr oldip

mv getip oldip

fi

wgethttp://members.3322.org/dyndns/getip

RESULT=`diff oldip getip`

if [ "$RESULT" != "" ]

then

echo "IP已经更改,发送邮件"

cat getip | mutt -s "IP地址更改" usr@163.com

fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值