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

Stoiko Ivanov s.ivanov at proxmox.com
Tue Feb 25 11:29:29 CET 2025


On Tue, 25 Feb 2025 10:53:29 +0100
Maximiliano Sandoval <m.sandoval at proxmox.com> wrote:

> 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.
Thanks - good catch - as generate_ndr currently only used once (in the
lines above) - I think `die .. if !defined($from_header)` should not hurt

will add this in a v2 (but would wait for some more feedback)





More information about the pmg-devel mailing list