xiaoqiang zhao <zxq_yx_007@xxxxxxx> writes: > @@ -1664,6 +1674,14 @@ foreach my $t (@files) { > } > } > $message_id = undef; > + $num_sent++; > + if ($num_sent == $batch_size) { > + $num_sent = 0; > + $smtp->quit; > + $smtp = undef; > + $auth = 0; Two suggestions. (1) I do not think $smtp is always valid when we come here; it is unsafe to unconditionally say $smtp->quit like this patch does. $smtp->quit if defined $smtp; may help codepaths like $dry_run and also the case where $smtp_server is the absolute path to a local program. (2) You are setting $auth to zero to force re-authentication to happen. It would be more consistent to the state of $auth that is not-yet-used to "undef $auth;" here instead. After all, the variable starts its life in an undefined state. So all in all $smtp->quit if defined $smtp; undef $smtp; undef $auth; perhaps? This change of course forces re-authentication every N messages, which may not hurt those who use some form of credential helper, but that may be something we want to mention in the log message. > + sleep($relogin_delay); > + } > } Thanks.