[pmg-devel] [PATCH pmg-api 3/7] smtp-engine: use admin-mail-from as from header for bounces

Maximiliano Sandoval m.sandoval at proxmox.com
Tue Feb 25 10:53:29 CET 2025


Stoiko Ivanov <s.ivanov at proxmox.com> writes:

> generate_ndr is currently only used to generate a bounce-mail if the
> following occur:
> * email is blocked only for part of the receivers
> * before-queue-filtering is active - in the after-queue case postfix
>   generates the bounces for us.
>
> Signed-off-by: Stoiko Ivanov <s.ivanov at proxmox.com>
> ---
>  src/PMG/SMTP.pm | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/src/PMG/SMTP.pm b/src/PMG/SMTP.pm
> index b7bc5d3..f387fcb 100644
> --- a/src/PMG/SMTP.pm
> +++ b/src/PMG/SMTP.pm
> @@ -185,7 +185,8 @@ sub loop {
>  			$self->reply ("250 2.5.0 OK ($queueid)");
>  			if ($cfg->get('mail', 'ndr_on_block')) {
>  			    my $dnsinfo = $cfg->get_host_dns_info();
> -			    generate_ndr($self->{from}, [ @reject_rec ], $dnsinfo->{fqdn}, $queueid) if scalar(@reject_rec);
> +			    my $from_header = $cfg->get('admin', 'admin-mail-from', 1) // '<postmaster>';
> +			    generate_ndr($self->{from}, [ @reject_rec ], $dnsinfo->{fqdn}, $queueid, $from_header) if scalar(@reject_rec);
>  			}
>  		    } else {
>  			$self->reply ("451 4.4.0 detected undelivered mail ($queueid)");
> @@ -265,7 +266,7 @@ sub save_data {
>  }
>
>  sub generate_ndr {
> -    my ($sender, $receivers, $hostname, $queueid) = @_;
> +    my ($sender, $receivers, $hostname, $queueid, $from_header) = @_;

This function would imo benefit from either having a NULL check for
`$from_header` or by defining here the fallback value.




More information about the pmg-devel mailing list