postgresql – postgres中的sp_send_dbmail替代方案?发送Postgres电子邮件报告的简便方法?

postgresql – postgres中的sp_send_dbmail替代方案?发送Postgres电子邮件报告的简便方法?,第1张

概述SQL Server在sp_send_dbmail( quick guide here)中有一个很酷的功能,可以通过电子邮件发送报告. Postgres中有类似的东西吗?我的postgres是在Heroku上托管的,所以我可以分享一个dataclip,但我想知道是否有一种简单的方法来安排电子邮件发送报告. 您可以使用pgMail从PostgreSQL中发送邮件. 先决条件: 在使用pgMail之前 sql Server在sp_send_dbmail( quick guide here)中有一个很酷的功能,可以通过电子邮件发送报告. Postgres中有类似的东西吗?我的postgres是在Heroku上托管的,所以我可以分享一个dataclip,但我想知道是否有一种简单的方法来安排电子邮件发送报告. 您可以使用pgmail从Postgresql中发送邮件.

先决条件:

在使用pgmail之前,必须安装TCL / u过程语言. TCL / u是一个UNRESTRICTED版本的TCL,您的数据库可以在其存储的函数中使用.在您疯狂地在所有数据库中安装不受限制的TCL过程语言之前,请考虑到在将TCL / u语言添加到数据库时必须准备足够的安全预防措施!我不会对错误配置的服务器负责,允许危险用户做坏事!

要安装TCL / u过程语言,必须编译(或使用二进制包)并安装Postgresql的TCL扩展.一旦确定已完成此 *** 作,只需在unix shell提示符下键入以下数据库管理员即可.

# createlang pltclu [YOUR DATABASE name]

在[您的数据库名称]的位置,输入要添加存储过程的数据库的名称.如果要将其添加到所有NEW数据库,请使用“template1”作为数据库名称.

在向DB添加新过程之前,请先执行以下 *** 作:

替换文本<在此处输入您的邮件服务器>使用邮件服务器的完全限定域名.即mail.server.com.

替换文本<在此输入您的DATABASESERVE>使用数据库服务器的完全限定域名.即db.server.com.

完成上述 *** 作后,您就可以开始了.

完成此步骤后,使用psql接口添加pgmail函数.只需复制pgmail.sql文件的内容并将其粘贴到您的窗口中即可.您也可以通过键入以下内容直接从命令行加载它:

# psql -e [YOUR DATABASE name] < pgmail.sql

安装存储的函数后,只需按如下方式调用该过程即可.

select pgmail('Send From ','Send To ','Subject goes here','Plaintext message body here.');select pgmail('Send From ','','HTML message body here.');

或者现在,多部分MIME!

select pgmail('Send From ','Plaintext message body here.','HTML message body here.');

在“发送自”和“发送至”字段中,您可以只包含电子邮件或<>中包含的电子邮件.用明文名称.

测试您的安装

我已经为您提供了一个示例.您必须首先用您的真实电子邮件地址替换example.execute.sql脚本中的字符串,并像上面的pltclu一样安装plpgsql语言.你可以通过输入createlang [你的数据库名称] plpgsql来做到这一点.

完成后,首先运行example.setup.sql.然后执行example.execute.sql脚本.如果一切正常,您将在邮箱中看到2封电子邮件.要删除此示例,请执行example.cleanup.sql脚本.

SMTP验证

pgmail不支持SMTP身份验证.大多数使用它的人要么在数据库服务器上设置本地邮件服务器以进行本地排队,然后将该设置用于所需的任何中继(使用auth).或者,或者,在/ etc / mail / access(或等效)文件中通常会有一个特殊规则,允许从数据库服务器使用的IP进行中继.显然,后一种选择不适用于GMail.

这背后的部分原因是,auth在pgmail的大型工作的交易性质方面会有问题.理想的解决方案是将EXIM服务器放在数据库服务器上,并将其作为智能中继服务器处理任何类型的身份验证.这是一个链接,有关于how to set SMTP server up的更多信息.

文件:http://brandolabs.com/pgmail

总结

以上是内存溢出为你收集整理的postgresql – postgres中的sp_send_dbmail替代方案?发送Postgres电子邮件报告的简便方法?全部内容,希望文章能够帮你解决postgresql – postgres中的sp_send_dbmail替代方案?发送Postgres电子邮件报告的简便方法?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1181788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存