V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
staticor
V2EX  ›  Linux

用 shell 来发邮件, 加挂附件(csv)用哪种方式实现比较简便?

  •  
  •   staticor · 2015-07-22 01:16:40 +08:00 · 2909 次点击
    这是一个创建于 3200 天前的主题,其中的信息可能已经有所发展或是发生改变。
    基本的需求很简单, select的结果再用awk\sed处理之后再给人定时地发邮件.

    由于正文的格式还要处理, 所以还是希望能直接发送csv格式的文件.

    很抱歉的是我是一位shell菜鸟, 在网络上找到一些实现方式, 但总是遇到一些问题. 所以冒昧在这里请教一下实现过的朋友.

    感谢您的关注.

    另, 是不是mail函数只能发字符式正文?
    第 1 条附言  ·  2015-07-22 10:39:58 +08:00
    使用mutt 解决了 echo "this is the message body" |mutt -a ~/test.sh -s "subject of message" -b [email protected]
    7 条回复    2015-07-27 14:47:06 +08:00
    ETiV
        1
    ETiV  
       2015-07-22 01:22:03 +08:00 via iPhone
    只用 shell 还真是任性呢

    我都是 nodejs + smtp 发的
    chengzhoukun
        2
    chengzhoukun  
       2015-07-22 01:36:13 +08:00
    用过Python+smtp, 但不知道如何发送附件
    line
        3
    line  
       2015-07-22 01:50:16 +08:00 via Android
    mailgun可以
    foxni
        4
    foxni  
       2015-07-22 16:41:33 +08:00
    其实,oracle也是能发邮件的说。^_^
    dbak
        5
    dbak  
       2015-07-27 10:20:32 +08:00
    建议邮件发送服务器和数据库服务器分开,通过nfs或者samba进行文件共享。邮件发送可以通过搭建EXIM4或者postfix实现,搭建MTA的好处是如果邮件发送失败,他可以自动重发而且发送效率要比你自己写脚本高很多。否则你还要花精力去编写邮件发送失败如何处理的脚本。之后发送的脚本也比较好写,就是判断一下附件是否存在,并发送相关人员即可,放到crontab里就完事儿了。需求固定之后,后期可以用php或者python写个web页面,让相关运营或者业务部门进行查询和数据的导入导出。
    staticor
        6
    staticor  
    OP
       2015-07-27 13:22:59 +08:00
    @foxni 请举个实现的例子可以吗
    foxni
        7
    foxni  
       2015-07-27 14:47:06 +08:00
    @staticor 具体的实现代码会比较麻烦比如要考虑字符集,附件等情况,不过网上有很多现成的包,直接调用就可以了,你可以搜一下。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4129 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 05:20 · PVG 13:20 · LAX 22:20 · JFK 01:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.