Skip to content

Version 2.0

Latest

Choose a tag to compare

@darold darold released this 06 Oct 10:49
· 2 commits to main since this release

2026-10-06: Version 2.0.0

  • Add asynchronous mode enabled with setting pg_utl_smtp.asynchronous.
    Messages are stored into table utl_smtp.mail_queue at CLOSE_DATA and
    sent by a pg_dbms_job asynchronous job, only if the transaction
    commits. Add function utl_smtp.async_resend() to submit again a
    message whose sending has failed.
  • Raise an error when the SMTP server returns an error to HELO/EHLO, MAIL,
    RCPT, DATA, end of DATA or QUIT. These errors were silently ignored, the
    message was lost without notice.
  • Fix duplicate EHLO sent at connection: SendHello was set to the bareword
    false, which is a true string in Perl, so Net::SMTP sent an EHLO with
    the local host name before the one requested with HELO()/EHLO().
  • Implement SSL/TLS connections (secure_connection_before_smtp), the
    parameter was evaluated as a true string even when false and SSL was
    never used. The server certificate is verified, secure_host gives the
    name to match and wallet_path a CA file or directory.
  • QUIT releases the connection, a second QUIT raises an error.
  • When the connection can not be established the WARNING gives the reason.
  • Raise the minimum PostgreSQL version to 11, the extension uses
    procedures.
  • Fix package name for yum in documentation.
  • Add GitHub Actions regression tests with PostgreSQL 11 to 19, using
    pg_dbms_job and the test SMTP server, scripts ci/start_smtp_server.sh
    and ci/run_tests.sh can also be used locally.
  • Fix make installcheck doing nothing when PostgreSQL is built without
    TAP tests support (empty PROVE variable).
  • Add a test SMTP server (test/smtp_test_server.py) and tests of SMTP
    errors and of SSL/TLS connections.
  • Add regression tests by GitHub Actions.

To upgrade an installed version 2.0.0 execute:

  ALTER EXTENSION pg_utl_smtp UPDATE;