代码之家  ›  专栏  ›  技术社区  ›  Terry Carmen

更新mysql/mariadb表时发送电子邮件的干净、低开销方式?

  •  0
  • Terry Carmen  · 技术社区  · 7 年前

    当一个记录被添加到表中时,我需要发送一封电子邮件。

    一系列的谷歌搜索让我觉得唯一的选择是“糟糕”和“非常糟糕”,并且想知道是否有人有任何干净、可靠、可靠的建议。

    到目前为止,我发现:

    • 使用发送邮件的MySQL插件。我不想这样做,因为我有一个非常好的邮件服务器,数据库不是为发送邮件而设计的。

    • 从外部程序定期轮询表,查找更改并在适当时发送邮件。这几乎没问题,但我宁愿跳过添加记录和下一次投票之间的死期。

    我考虑过用select…但是,这是非常有限的,因为它不会覆盖输出文件,而更改文件名的唯一方法是使用动态SQL构建查询,动态SQL不能在触发器内使用。

    我可以写一个socket监听器,让mysql打开socket,告诉邮件应用程序有记录在等待,但是似乎没有办法从mysql打开socket。

    感觉我好像在这里找不到什么东西。

    我只想在添加记录时运行外部应用程序。

    有没有人会遇到一个干净,低开销的方法来做这个?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Dave    7 年前

    修改正在添加记录的代码并让它执行通知。如果将其放入try/catch块中,您将确定是否成功添加了记录。