首页 > 解决方案 > PostgreSQL 通过 pgMail 发送电子邮件错误 38000

问题描述

我在 Ubuntu 18.04 上通过 pgMail 发送电子邮件时遇到问题。我在这篇文章中做的:brandolabs.com

以前我安装了包

sudo apt-get install -y postgresql-pltcl-12 并运行 createlang pltclu [您的数据库名称]

最后,我从pgMail1.4执行了文件 sql :

pgMail.sql、example.setup.sql 和 example.execute.sql,但是当我运行时

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

或者

update orders set paystatus = 'y' where id = 1;

我收到错误 38000

couldn't open socket: Name or service not known
name: error
length: 629
severity: ERROR
code: 38000
where: couldn't open socket: Name or service not known
    while executing
"socket $myHost $myPort"
    (procedure "__PLTcl_proc_228303" line 15)
    invoked from within

标签: postgresql

解决方案


该项目的自述文件提到了这个要求:

* 在将程序添加到您的数据库之前,您必须执行以下操作 下列的!!!*

将文本 <ENTER YOUR MAILSERVER HERE> 替换为您的邮件服务器的完全限定域名。即mail.server.com。

将文本 <ENTER YOUR DATABASESERVER HERE> 替换为您的数据库服务器的完全限定域名。即,db.server.com。

根据您的错误消息,您忘记执行此操作或为邮件服务器输入无效值。通常,您会localhost在 Unix 系统上使用与本地邮件服务器通信。


推荐阅读