目的:上报动态IP地址
1.所需要的包:
+msmtp
1.1外部辅助:
+邮箱账号(本人使用126邮箱,支持TLS口令加密)。
1.2安装完成后,配置msmtp
vi /etc/msmtprc
+++++++++++++++++++++++++++++++++++++++++
account default 默认账户
host smtp.126.com 邮件服务器地址
from XXXXXX@126.com 邮件账户名
auth on
user XXXXXX@126.com 邮件账户名
password 客户端授权密码
#为了提高邮件安全性,对邮件开启tls加密;
#从网页进入邮箱,设置-->POP3/SMTP/IMTP
#开启POP3,SMTP,IMTP,并设置客户端授权密码
#成功开启后手机会收到含有客户端授权码的短信。
tls on 启用tls加密
tls_starttls on 加密协议
tls_certcheck off 加密证书验证
#网易免费邮不能使用加密证书,当然如果有加密证书就更好了,
#网易企业邮应该可以使用加密证书,但没有申请成功。
syslog off 写入系统日志
syslog LOG_MAIL 日志名
+++++++++++++++++++++++++++++++++++++++++
2.使用sendmail进行发送
echo -e "Subject: 邮件主题\n\n正文" | sendmail -f my@address recipient@address
*也可以自己发给自己,相同的两个地址。
3.实例
功能:上报IP地址shell脚本
+++++++++++++++++++++++++++++++++++++++++
#!/bin/sh
#Dynamic IP address
#Catch eth0 interface IP address(eth0/pppoe/wlan0...)
IP=`ifconfig eth0 | sed -n "2,2p" | awk '{print $2}' | awk -F : '{print $2}'`
#echo "My IP address: $IP"
echo -e "Subject: Remote Route\n\nThe address is $IP." | sendmail -f XXXXXX@126.com XXXXXX@126.com
+++++++++++++++++++++++++++++++++++++++++
4.改进
配合crontab及其他条件可达到更多功能,活学活用;
进一步提高到证书加密,提高邮件安全。
参考材料:
http://wiki.openwrt.org/doc/howto/smtp.client?s[]=sendmail