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

时间:2012-04-19 23:48:08

标签: oracle plsql smtp

我在互联网上找到了很多细节如何配置Oracle数据库以使用PL / SQL命令从数据库发送电子邮件,但他们都使用安装了数据库的SMTP服务器(我想在最小)。如果这些电子邮件被发送给DBA,那就没问题。

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

我假设数据库服务器的IP地址(或者我们宁愿保密的数据库服务器的其他特殊信息)将在这样的电子邮件中提供。如果不是这样,我的问题没有任何价值。

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

2 个答案:

答案 0 :(得分:4)

如果您正在使用UTL_SMTP,那么您的代码将在某处包含这样的行:

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

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

答案 1 :(得分:3)

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

有关设置UTL_MAIL的详细信息,请参阅this site。试试看。看看标题。看看它的样子。