Ensure clean addresses are always used with Net::SMTP
Always pass in clean addresses to Net::SMTP for the MAIL FROM, and use them on the SMTP non-quiet output as well. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:

committed by
Junio C Hamano

parent
c38f0247a8
commit
2b69bfc23d
@ -476,6 +476,7 @@ X-Mailer: git-send-email $gitversion
|
|||||||
}
|
}
|
||||||
|
|
||||||
my @sendmail_parameters = ('-i', @recipients);
|
my @sendmail_parameters = ('-i', @recipients);
|
||||||
|
my $raw_from = extract_valid_address($from);
|
||||||
|
|
||||||
if ($dry_run) {
|
if ($dry_run) {
|
||||||
# We don't want to send the email.
|
# We don't want to send the email.
|
||||||
@ -490,7 +491,7 @@ X-Mailer: git-send-email $gitversion
|
|||||||
} else {
|
} else {
|
||||||
require Net::SMTP;
|
require Net::SMTP;
|
||||||
$smtp ||= Net::SMTP->new( $smtp_server );
|
$smtp ||= Net::SMTP->new( $smtp_server );
|
||||||
$smtp->mail( $from ) or die $smtp->message;
|
$smtp->mail( $raw_from ) or die $smtp->message;
|
||||||
$smtp->to( @recipients ) or die $smtp->message;
|
$smtp->to( @recipients ) or die $smtp->message;
|
||||||
$smtp->data or die $smtp->message;
|
$smtp->data or die $smtp->message;
|
||||||
$smtp->datasend("$header\n$message") or die $smtp->message;
|
$smtp->datasend("$header\n$message") or die $smtp->message;
|
||||||
@ -501,10 +502,10 @@ X-Mailer: git-send-email $gitversion
|
|||||||
printf (($dry_run ? "Dry-" : "")."Sent %s\n", $subject);
|
printf (($dry_run ? "Dry-" : "")."Sent %s\n", $subject);
|
||||||
} else {
|
} else {
|
||||||
print (($dry_run ? "Dry-" : "")."OK. Log says:\nDate: $date\n");
|
print (($dry_run ? "Dry-" : "")."OK. Log says:\nDate: $date\n");
|
||||||
if ($smtp) {
|
if ($smtp_server !~ m#^/#) {
|
||||||
print "Server: $smtp_server\n";
|
print "Server: $smtp_server\n";
|
||||||
print "MAIL FROM: $from\n";
|
print "MAIL FROM:<$raw_from>\n";
|
||||||
print "RCPT TO: ".join(',',@recipients)."\n";
|
print "RCPT TO:".join(',',(map { "<$_>" } @recipients))."\n";
|
||||||
} else {
|
} else {
|
||||||
print "Sendmail: $smtp_server ".join(' ',@sendmail_parameters)."\n";
|
print "Sendmail: $smtp_server ".join(' ',@sendmail_parameters)."\n";
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user