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

Dominik Csapak d.csapak at proxmox.com
Tue Feb 25 11:29:47 CET 2025


On 2/25/25 00:24, Stoiko Ivanov wrote:
> 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>';

doesn't this now generate a different default? '<postmaster>' vs 'postmaster' ?

also wouldn't it be better to generate the default below where we actually use it instead of here?
then Maximilianos undef check concerns would be gone too.

> +			    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) = @_;
>   
>       my $ndr_text = <<EOF
>   This is the mail system at host $hostname.
> @@ -284,7 +285,7 @@ EOF
>       my $ndr = MIME::Entity->build(
>   	Type => 'multipart/report; report-type=delivery-status;',
>   	To => $sender,
> -	From => 'postmaster',
> +	From => $from_header,
>   	Subject => 'Undelivered Mail');
>   
>       $ndr->attach(





More information about the pmg-devel mailing list