When git-send-email uses git-credential to get SMTP password, it will communicate SMTP host and port (if both are provided) as a single entry ‘host=<host>:<port>’. This trips the ‘git-credential-store’ helper which expects those values as separate keys (‘host’ and ‘port’). Send the values as separate pieces of information so things work smoothly. Signed-off-by: Michał Nazarewicz <mina86@xxxxxxxxxx> --- git-send-email.perl | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/git-send-email.perl b/git-send-email.perl index 2fa7818ca..2a9f89a58 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -1229,14 +1229,6 @@ sub maildomain { return maildomain_net() || maildomain_mta() || 'localhost.localdomain'; } -sub smtp_host_string { - if (defined $smtp_server_port) { - return "$smtp_server:$smtp_server_port"; - } else { - return $smtp_server; - } -} - # Returns 1 if authentication succeeded or was not necessary # (smtp_user was not specified), and 0 otherwise. @@ -1263,7 +1255,8 @@ sub smtp_auth_maybe { # reject credentials. $auth = Git::credential({ 'protocol' => 'smtp', - 'host' => smtp_host_string(), + 'host' => $smtp_server, + 'port' => $smtp_server_port, 'username' => $smtp_authuser, # if there's no password, "git credential fill" will # give us one, otherwise it'll just pass this one. -- 2.16.2