网站首页 > java教程 正文
承接上一篇文档《Java实现163邮箱发送邮件到QQ邮箱》
主方法修改获取数据的方式
打包
可以看到打包的位置
选择jar
上传到linux执行
执行语句
java -jar javamail-1.0-jar-with-dependencies.jar /data/qxclxx/shell/test.sql mail.sql 你的邮箱@qq.com
查看邮箱,可以看到是有的
编写一个脚本完成测试数据库的备份
创建脚本
编写脚本
运行脚本
查看邮件成功了
将脚本目录加入搭配环境变量中
查看下
在任意目录直接执行脚本
出现问题
Error: Unable to access jarfile javamail-1.0-jar-with-dependencies.jar
改下权限(省事直接全给了)
chmod -R 777 javamail-1.0-jar-with-dependencies.jar
仍然出现这个错误
在脚本中使用全路径
这次成功了,同时也收到邮件了
写一个定时器,看是否能够定时发送邮件
查看日志
tail -f /var/log/cron
出现错误
mailed 42 bytes of output but got status 0x004b#012
查看日志
cat /var/log/maillog
发现错误
fatal: parameter inet_interfaces: no local interface found for ::1
解决方法:
vim /etc/postfix/main.cf
将:
inet_interfaces = localhost
inet_protocols = all
改成:
inet_interfaces = all
inet_protocols = all
inet_interfaces 参数指定postfix系统监听的网络接口。缺省地,postfix监听所有的网络接口。如果你的postfix运行在一个虚拟的ip地址上,则必须指定其监听的地址。如:
inet_interfaces = all
inet_interface = 192.168.1.1
重新启动
service postfix start
可以查看到下面的内容
里面有错误信息
You have new mail in /var/spool/mail/root
打开可以看到下面的错误内容
sh: mailexe.sh: No such file or directory
crontab 有一个坏毛病, 就是它总是不会缺省的从用户 profile 文件中读取环境变量参数,经常导致在手工执行某个脚本时是成功的,但是到 crontab 中试图让它定期执行时就是会出错。
修复:在脚本文件的开头,强制要求导入环境变量,可保万无一失。
这样的话,脚本的头部一律以下列格式开头:
#!/bin/sh
. /etc/profile
. ~/.bash_profile
可以将备份的sql发到邮箱了,这样就可以备份很多东西了
猜你喜欢
- 2024-10-08 避免重复造轮子,Java 程序员必备
- 2024-10-08 Java二十周年特别策划--谈谈我与Java的那些年、这些事
- 2024-10-08 Prometheus+Grafana+钉钉部署一个单机的MySQL监控告警系统
- 2024-10-08 Java程序员必须了解的20个lib库(郑州java程序员工资一般多少)
- 2024-10-08 使用java写爬虫时可能会用到.httpclient中Headers及Cookies
- 2024-10-08 Java二十周年特别策划——谈谈我与Java的那些年、这些事
- 2024-10-08 白当了这么多年程序员,今天才发现伪造邮件的小秘密
- 2024-10-08 SpringBoot+RabbitMQ ,保证消息100%投递成功并被消费(附源码)
- 2024-10-08 如何将自己的jar包发布到maven中央仓库,让别人也能使用?
- 2024-10-08 郑州Java学习进阶课程之消息队列(java中消息队列什么意思)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)