用 shell 来发邮件, 加挂附件(csv)用哪种方式实现比较简便?
- 0次
- 2021-07-09 16:25:35
- idczone
基本的需求很简单, select的结果再用awk\sed处理之后再给人定时地发邮件.
由于正文的格式还要处理, 所以还是希望能直接发送csv格式的文件.
很抱歉的是我是一位shell菜鸟, 在网络上找到一些实现方式, 但总是遇到一些问题. 所以冒昧在这里请教一下实现过的朋友.
感谢您的关注.
另, 是不是mail函数只能发字符式正文?
只用 shell 还真是任性呢
我都是 nodejs + smtp 发的
用过Python+smtp, 但不知道如何发送附件
mailgun可以
其实,oracle也是能发邮件的说。^_^
建议邮件发送服务器和数据库服务器分开,通过nfs或者samba进行文件共享。邮件发送可以通过搭建EXIM4或者postfix实现,搭建MTA的好处是如果邮件发送失败,他可以自动重发而且发送效率要比你自己写脚本高很多。否则你还要花精力去编写邮件发送失败如何处理的脚本。之后发送的脚本也比较好写,就是判断一下附件是否存在,并发送相关人员即可,放到crontab里就完事儿了。需求固定之后,后期可以用php或者python写个web页面,让相关运营或者业务部门进行查询和数据的导入导出。
请举个实现的例子可以吗
具体的实现代码会比较麻烦比如要考虑字符集,附件等情况,不过网上有很多现成的包,直接调用就可以了,你可以搜一下。