git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Setting up `send-email` for SSL, and then using GCM (Git Credential Manager)

From
Philip Oakley <philipoakley@iee.email>
Date
Apr 16, 2022, 11:38 UTC
Message-ID
<c5a5b7a6-33fe-2dc7-ab18-b9b22d59c2c8@iee.email>
In-Reply-To
<10919180-85ea-2172-28df-b718cdbdf783@iee.email>

This maybe a wXYz-Problem. But I'm stuck at getting SSL to work with `send-email`.

I'm trying to update both my home Windows PC (win10) and my Ubuntu travel laptop (an old-Acer-i5) `send-email` setup/config to use my personal email domain (with authentication), rather than my old home ISP locked (no auth) connection, but I'm struggling.

Z) Does the GCM (Git Credential Manager) integrate well with send-email, and what guidance is available for setting up and debugging the `send-email` configuration?

Y) It's not clear what I should see in the terminal window in either Git-for-Windows or Ubuntu when testing the `git send-email` command - without/with using GCM.

w) Some back story. I set up my existing telephone-line-locked home send-email config many years ago around the time of dial-up/ADSL. My router logs into my ISP giving me an open port 25 for SMTP (though doesn't advertise that any more). My config for the ISP is simple, needing only the `smtpServer, smtpServerPort`, and my `from, suppressfrom, & chainreplyto` settings. It works for both the Win PC and my Ubuntu laptop, but I can only use this when at home.

I also have a personal email domain (iee.email) whose authentication works with Thunderbird for the WinPC at home, and the Ubuntu laptop at home and when away from home.  I'd like to be able to use ` send-email` via the personal email domain on the laptop when away from home (final goal), and also match that `send-email` use on the Win PC (which would also allow easy switching ISP when needed).

X) Where I've reached. I've discovered `sendemail.identity`, so at least I can have both configurations available for selection [7]. I've added the --smtp-debug=1` with little insight. I've hit a brick wall with respect to establishing the connection (I think). It's not clear if any authentication (password stuff) has started.

I fail to get the "<<<220 xxxxx   server ready" reply that my ISP identity gives, rather I get "Net::SMTP: Net::Cmd::getline(): unexpected EOF on command channel: Connection reset by peer ... Unable to initialize SMTP properly. Check config and use --smtp-debug. VALUES: server=smtp.hosts.co.uk encryption= hello=localhost.localdomain port=465"

I've added below the terminal responses [1,3] and extracts of the config [2,4] for my test 'cover-letter'. Plus my Thunderbird settings [5] for comparison. Git build [6]. Domain provider advice [8].

Thoughts: Maybe the setting I need for `git-end-email` don't match those
used by Thunderbird; Is there extra debug info if I set some extra
parameters. Maybe some other tool can provide insight into what's failing?

Any suggestions? -- Philip

[1] Failing case
phili@Philip-Win10 MINGW64 /c/git-sdk-64/usr/src/git (die_preserve_ggg)
$ git send-email --identity=Names   --to="Philip Oakley
<philipoakley@iee.email>" --smtp-debug=1  0000*.patch
0000-cover-letter.patch
Net::SMTP>>> Net::SMTP(3.13)
Net::SMTP>>>   Net::Cmd(3.13)
Net::SMTP>>>     Exporter(5.76)
Net::SMTP>>>   IO::Socket::IP(0.41)
Net::SMTP>>>     IO::Socket(1.46)
Net::SMTP>>>       IO::Handle(1.46)
Net::SMTP: Net::Cmd::getline(): unexpected EOF on command channel:
Connection reset by peer at C:/Program
Files/Git/mingw64/libexec/git-core\git-send-email line 1698.
Unable to initialize SMTP properly. Check config and use --smtp-debug.
VALUES: server=smtp.hosts.co.uk encryption= hello=localhost.localdomain
port=465 at C:/Program Files/Git/mingw64/libexec/git-core\git-send-email
line 1725.
phili@Philip-Win10 MINGW64 /c/git-sdk-64/usr/src/git (die_preserve_ggg)
---
[2]
[sendemail "Names"]
    chainreplyto = false
    from = Philip Oakley <philipoakley@iee.email>
    suppressfrom = true
    smtpServer = smtp.hosts.co.uk
    smtpServerPort = 465
    smptEncryption = ssl
    smtpUser = iee.email
    smtpPass = <password>
----------------------
[3] Existing (passing) case
phili@Philip-Win10 MINGW64 /c/git-sdk-64/usr/src/git (die_preserve_ggg)
$ git send-email --identity=TalkTalk   --to="Philip Oakley
<philipoakley@iee.email>" --smtp-debug=1  0000*.patch
0000-cover-letter.patch
Net::SMTP>>> Net::SMTP(3.13)
Net::SMTP>>>   Net::Cmd(3.13)
Net::SMTP>>>     Exporter(5.76)
Net::SMTP>>>   IO::Socket::IP(0.41)
Net::SMTP>>>     IO::Socket(1.46)
Net::SMTP>>>       IO::Handle(1.46)
Net::SMTP=GLOB(0x800c16240)<<< 220 cm4nec smtp.talktalk.net ESMTP server
ready
Net::SMTP=GLOB(0x800c16240)>>> EHLO localhost.localdomain
Net::SMTP=GLOB(0x800c16240)<<< 250-cm4nec hello [84.13.159.41], pleased
to meet you
Net::SMTP=GLOB(0x800c16240)<<< 250-HELP
Net::SMTP=GLOB(0x800c16240)<<< 250-SIZE 30000000
Net::SMTP=GLOB(0x800c16240)<<< 250-ENHANCEDSTATUSCODES
Net::SMTP=GLOB(0x800c16240)<<< 250-8BITMIME
Net::SMTP=GLOB(0x800c16240)<<< 250 OK
Net::SMTP=GLOB(0x800c16240)>>> MAIL FROM:<philipoakley@iee.email>
Net::SMTP=GLOB(0x800c16240)<<< 250 2.1.0 <philipoakley@iee.email> sender ok
Net::SMTP=GLOB(0x800c16240)>>> RCPT TO:<philipoakley@iee.email>
Net::SMTP=GLOB(0x800c16240)<<< 250 2.1.5 <philipoakley@iee.email>
recipient ok
Net::SMTP=GLOB(0x800c16240)>>> DATA
Net::SMTP=GLOB(0x800c16240)<<< 354 OK
Net::SMTP=GLOB(0x800c16240)>>> From: Philip Oakley <philipoakley@iee.email>
Net::SMTP=GLOB(0x800c16240)>>> To: Philip Oakley <philipoakley@iee.email>
Net::SMTP=GLOB(0x800c16240)>>> Subject: [PATCH 0/1] *** Test Names ***
Net::SMTP=GLOB(0x800c16240)>>> Date: Sat, 16 Apr 2022 09:54:00 +0100
Net::SMTP=GLOB(0x800c16240)>>> Message-Id:
<20220416085400.277-1-philipoakley@iee.email>
Net::SMTP=GLOB(0x800c16240)>>> X-Mailer: git-send-email 2.36.0.rc0.windows.1
Net::SMTP=GLOB(0x800c16240)>>> MIME-Version: 1.0
Net::SMTP=GLOB(0x800c16240)>>> Content-Transfer-Encoding: 8bit
Net::SMTP=GLOB(0x800c16240)>>> *** Test BLURB  ***
[...]
Net::SMTP=GLOB(0x800c16240)>>> 2.36.0.rc0.windows.1
Net::SMTP=GLOB(0x800c16240)>>> .
Net::SMTP=GLOB(0x800c16240)<<< 250 2.0.0 feC1ntahZW5NofeC1ntcj4 mail
accepted for delivery
OK. Log says:
Server: smtp.talktalk.net
MAIL FROM:<philipoakley@iee.email>
RCPT TO:<philipoakley@iee.email>
From: Philip Oakley <philipoakley@iee.email>
To: Philip Oakley <philipoakley@iee.email>
Subject: [PATCH 0/1] *** Test Names ***
Date: Sat, 16 Apr 2022 09:54:00 +0100
Message-Id: <20220416085400.277-1-philipoakley@iee.email>
X-Mailer: git-send-email 2.36.0.rc0.windows.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Result: 250
Net::SMTP=GLOB(0x800c16240)>>> QUIT
Net::SMTP=GLOB(0x800c16240)<<< 221 2.0.0 cm4nec smtp.talktalk.net
closing connection
phili@Philip-Win10 MINGW64 /c/git-sdk-64/usr/src/git (die_preserve_ggg)
---
[4]
[sendemail "TalkTalk"]
    chainreplyto = false
    from = Philip Oakley <philipoakley@iee.email>
    suppressfrom = true
    smtpServer = smtp.talktalk.net
    smtpServerPort = 25
[5] Thunderbird (IMAP) Server Settings (gui)
ServerName: imap.hosts.co.uk
ServerPort: 993
UserName: iee.email
ConnectionSecurity: SSL/TLS    [None|StartTLS|Ssl/tls]
AuthMethod: NormalPass     
[Normal|Encrypted|Kerebos/Gssapi|NTLM|TLScert|Oath2]
--
Thunderbird Outgoing SMPTP Server
smtp.hosts.co.uk
465
SSL/TLS
NormalPassword
iee.email

[6] Git Build details phili@Philip-Win10 MINGW64 /c/git-sdk-64/usr/src/git $ git --version --build-options git version 2.36.0.rc0.windows.1 cpu: x86_64 built from commit: c61dcf9cfa725959a79a3fb61d63bc05cc13ac7a sizeof-long: 4 sizeof-size_t: 8 shell-path: /bin/sh feature: fsmonitor--daemon

phili@Philip-Win10 MINGW64 /c/git-sdk-64/usr/src/git $ cat /etc/install-options.txt Editor Option: Notepad++ Custom Editor Path: Default Branch Option: main Path Option: Cmd SSH Option: OpenSSH Tortoise Option: false CURL Option: OpenSSL CRLF Option: CRLFAlways Bash Terminal Option: MinTTY Git Pull Behavior Option: Merge Use Credential Manager: Enabled Performance Tweaks FSCache: Enabled Enable Symlinks: Disabled Enable Pseudo Console Support: Disabled Enable FSMonitor: Disabled

[7] sendemail.identity now comes straight after the new safe.directory entry - serendipity ..

[8] Names domain smtp advice https://www.names.co.uk/support/articles/sending-emails-via-alternate-smtp-ports/ [Use SSL/465]

Next: Philip Oakley
Message 1 of 3 in “Setting up `send-email` for SSL, and then using GCM (Git Credential Manager)”
  1. Philip OakleyApr 16, 2022
  2. Philip OakleyApr 16, 2022
  3. Philip OakleyApr 30, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.