Oracle数据库:是否可以通过代理服务器从PL/SQL发送电子邮件?

Oracle数据库:是否可以通过代理服务器从PL/SQL发送电子邮件?,oracle,plsql,smtp,Oracle,Plsql,Smtp,我在internet上找到了很多关于如何配置Oracle数据库以使用PL/SQL命令从数据库发送电子邮件的详细信息,但它们都使用安装数据库的SMTP服务器(至少我认为是这样)。如果这些电子邮件被发送给DBA,那就没关系了 向客户发送电子邮件的场景如何?在这种情况下,我们不希望电子邮件从应用程序服务器(例如DMZ)而不是数据库服务器发送吗 我假设数据库服务器的IP地址(或其他关于数据库服务器的特殊信息,我们更愿意保密)可以在这样的电子邮件中找到。如果这不是真的,我的问题就没有价值了 是否可以从数据

我在internet上找到了很多关于如何配置Oracle数据库以使用PL/SQL命令从数据库发送电子邮件的详细信息,但它们都使用安装数据库的SMTP服务器(至少我认为是这样)。如果这些电子邮件被发送给DBA,那就没关系了

向客户发送电子邮件的场景如何?在这种情况下,我们不希望电子邮件从应用程序服务器(例如DMZ)而不是数据库服务器发送吗

我假设数据库服务器的IP地址(或其他关于数据库服务器的特殊信息,我们更愿意保密)可以在这样的电子邮件中找到。如果这不是真的,我的问题就没有价值了


是否可以从数据库PL/SQL命令生成电子邮件,但将其从代理(如应用程序)服务器发送给客户?因此,电子邮件通信路径将是:数据库服务器-->应用程序服务器-->客户。附加的好处是,大多数电子邮件系统无论如何都会在应用程序服务器上,因此返回的电子邮件会进入应用程序服务器。

它们不一定使用“安装了数据库”的SMTP服务器(不确定这是什么意思)。您可以定义系统参数SMTP_OUT_SERVER来配置SMTP服务器的IP和端口。Oracle将向您定义的任何服务器发送电子邮件,只要它可以通过网络访问


有关设置UTL_邮件的更多信息,请参阅。试试看。看看标题。您自己看看它是什么样子。

如果您使用的是UTL\U SMTP,您的代码的某个地方会有这样一行:

c := UTL_SMTP.open_connection( 'myhost', 25 );

第一个参数是邮件服务器。您应该能够将其设置为数据库服务器可以连接到的任何服务器(通过端口25)。

我的数据库服务器上从未运行过SMTP服务器-始终连接到其他服务器以发送电子邮件。你用什么发电子邮件?UTL_邮件?UTL_SMTP?APEX_MAIL?UTL_SMTP不使用SMTP_OUT_服务器设置-您想到的是UTL_邮件。UTL_SMTP要求调用方指定邮件主机。