-my $reply= <<END;
-From: $gMaintainerEmail ($gProject $gBug Tracking System)
-To: $replyto
-${maintccs}Subject: Processed${error_text}: $header{'subject'}
-In-Reply-To: $header{'message-id'}
-END
-$reply .= <<END;
-References: $header{'message-id'}
-Message-ID: <handler.s.$nn.transcript\@$gEmailDomain>
-Precedence: bulk
-${packagepr}X-$gProject-PR-Message: transcript
-END
-
-$reply .= fill_template('mail/message_body',
- {body => "${transcript_scalar}Please contact me if you need assistance."},
- );
+my @common_headers;
+push @common_headers, 'X-Loop',$gMaintainerEmail;
+
+my $temp_transcript = ${transcript_scalar};
+eval{
+ $temp_transcript = decode("utf8",$temp_transcript,Encode::FB_CROAK);
+};
+my $reply =
+ create_mime_message([From => "$gMaintainerEmail ($gProject $gBug Tracking System)",
+ To => $replyto,
+ @maintccs ? (Cc => join(', ',@maintccs)):(),
+ Subject => "Processed${error_text}: $header{subject}",
+ 'Message-ID' => "<handler.s.$nn.transcript\@$gEmailDomain>",
+ 'In-Reply-To' => $header{'message-id'},
+ References => join(' ',grep {defined $_} $header{'message-id'},$data->{msgid}),
+ Precedence => 'bulk',
+ keys %affected_packages ?("X-${gProject}-PR-Package" => join(' ',keys %affected_packages)):(),
+ keys %affected_packages ?("X-${gProject}-PR-Source" =>
+ join(' ',grep {defined $_} map {binary_to_source(binary => $_)} keys %affected_packages)):(),
+ "X-$gProject-PR-Message" => 'transcript',
+ @common_headers,
+ ],
+ fill_template('mail/message_body',
+ {body => "${temp_transcript}Please contact me if you need assistance."},
+ ));