Skip to content

Commit

Permalink
Merge branch 'sa/send-email-smtp-batch-data-limit' into maint
Browse files Browse the repository at this point in the history
When "git send-email" wanted to talk over Net::SMTP::SSL,
Net::Cmd::datasend() did not like to be fed too many bytes at the
same time and failed to send messages.  Send the payload one line
at a time to work around the problem.

* sa/send-email-smtp-batch-data-limit:
  git-send-email.perl: Fixed sending of many/huge changes/patches
  • Loading branch information
Junio C Hamano committed Nov 5, 2015
2 parents 684fea3 + f60c483 commit 53be145
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion git-send-email.perl
Original file line number Diff line number Diff line change
Expand Up @@ -1365,7 +1365,11 @@ sub send_message {
$smtp->mail( $raw_from ) or die $smtp->message;
$smtp->to( @recipients ) or die $smtp->message;
$smtp->data or die $smtp->message;
$smtp->datasend("$header\n$message") or die $smtp->message;
$smtp->datasend("$header\n") or die $smtp->message;
my @lines = split /^/, $message;
foreach my $line (@lines) {
$smtp->datasend("$line") or die $smtp->message;
}
$smtp->dataend() or die $smtp->message;
$smtp->code =~ /250|200/ or die "Failed to send $subject\n".$smtp->message;
}
Expand Down

0 comments on commit 53be145

Please sign in to comment.