From: Junio C Hamano Date: Thu, 5 Nov 2015 20:18:06 +0000 (-0800) Subject: Merge branch 'sa/send-email-smtp-batch-data-limit' into maint X-Git-Tag: v2.6.3~10 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/53be145209eeac5972d4ea4374d667fdf594f78f?hp=684fea37948d720cc69b3553b42353b4b42709dc Merge branch 'sa/send-email-smtp-batch-data-limit' into maint 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 --- diff --git a/git-send-email.perl b/git-send-email.perl index e3ff44b4d0..e907e0eacf 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -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; }