Pivotal Knowledge Base

フォローする

plperlu を用いた Greenplum におけるメール送信

環境

製品 バージョン
Pivotal Greenplum(GPDB) 4.3.x
OS RHEL 6.x

目的

plperlu を用いた Greenplum におけるメール送信方法について言及する。

解決策

以下の手順に従う。

  1. 以下のコマンドを実行し、OS 上で sendmail サービスを起動
    /etc/rc.d/init.d/sendmail start
  2. 対象電子メールアドレスのドメイン名が解決できるように、以下のファイルに適切な DNS サーバーを設定
    /etc/resolv.conf
  3. 電子メールを送信するために、以下のサンプルような関数を生成
    Create or replace function sendmail() returns integer as
    '
     #!/usr/bin/perl
      use Net::SMTP;
      my ($sendTo,$sendFrom, $Subject, $Message)=(''Target.Email@xxx.com'',''Source.Email@xxx.com'', ''Hello Subject'',''Hello Message'');
      my $smtp=Net::SMTP->new("localhost");
      $smtp->mail($sendFrom);
      $smtp->recipient($sendTo);
      $smtp->data();
      $smtp->datasend("To: $sendTo\n");
      $smtp->datasend("Subject: $Subject\n");
      $smtp->datasend("Content-Type: text/plain;\n\n");
      $smtp->datasend("$Message\n");
      $smtp->dataend();
      $smtp->quit();
      return 1;
    '
    language 'plperlu';
  4. 生成した関数をテスト実行し、テストメールが受信されることを確認
    select sendmail();
     sendmail
    ----------
            1

コメント

Powered by Zendesk