threads / discuss / 57742

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

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

## tl;dr

3 messages between Apr 16, 2022 and Apr 30, 2022.

replies: 2people: 1as markdown or json

Philip Oakley· Apr 16, 2022, 11:38 UTC · lore

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]

Philip Oakley· Apr 16, 2022, 15:14 UTC · lore

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

(added Git List back - should be non HTML now ;-)
On 16/04/2022 15:49, Ævar Arnfjörð Bjarmason wrote:
> I'm on mobile so sorry for the off list HTML, but
> 1. No it doesn't have GCM integration.
Thanks for clarifying that.
> 2. Have you tried debugging with e.g. stunnel and leaving the
> encryption out of git send email

Sounds useful. I hadn't realised what 'stunnel' did beforehand..  Hopefully it'll let me see how the server that hosts my domain is responding (or not). At the moment I'm doing my investigation from my win10 machine...

> 3. I find all things email so much less of a hassle by setting up a
> local "open relay" exim or other real MTA on my laptop.
>

I suspect (hope) that once I've cracked the access method to the remote email server that I'll be able to set my gitconfig so that `send-email` will Just Work(tm), minus the GCM aspiration ;-)

>
> Maybe that helps, maybe not, it sidesteps your questions a bit, but
> maybe in a way where you won't need to worry about git send email.
It has been a help.
Philip
Show 241 quoted lines
>
> On Sat, Apr 16, 2022, 16:04 Philip Oakley <philipoakley@iee.email> wrote:
>
>     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 <http://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 <http://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 <http://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
>     <http://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 <http://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
>     <http://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 <http://smtp.talktalk.net>
>         smtpServerPort = 25
>
>     [5] Thunderbird (IMAP) Server Settings (gui)
>     ServerName: imap.hosts.co.uk <http://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 <http://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]
>
>
Philip Oakley· Apr 30, 2022, 16:31 UTC · re: Philip Oakley · lore

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

A catch up email to report where I got to; some successes and some remaining todos. Details in-line with original query.

On 16/04/2022 16:14, Philip Oakley wrote:
Show 13 quoted lines
> (added Git List back - should be non HTML now ;-)
>
> On 16/04/2022 15:49, Ævar Arnfjörð Bjarmason wrote:
>> I'm on mobile so sorry for the off list HTML, but
>> 1. No it doesn't have GCM integration.
> Thanks for clarifying that.
>
>> 2. Have you tried debugging with e.g. stunnel and leaving the
>> encryption out of git send email
> Sounds useful. I hadn't realised what 'stunnel' did beforehand.. 
> Hopefully it'll let me see how the server that hosts my domain is
> responding (or not).
> At the moment I'm doing my investigation from my win10 machine...

I didn't , in the end, use `stunnel`, but it looks like the right tool for more detailed investigation.

Show 7 quoted lines
>
>> 3. I find all things email so much less of a hassle by setting up a
>> local "open relay" exim or other real MTA on my laptop.
>>
> I suspect (hope) that once I've cracked the access method to the remote
> email server that I'll be able to set my gitconfig so that `send-email`
> will Just Work(tm), minus the GCM aspiration ;-)

Ended up using plain port 25 SMTP + pwd, which wasn't advertised as available by my domain provider. Not the full solution but a start. At least I now have a working `send-email` that is not locked to my home ISP connection.

Show 6 quoted lines
>
>> Maybe that helps, maybe not, it sidesteps your questions a bit, but
>> maybe in a way where you won't need to worry about git send email.
> It has been a help.
>
> Philip

While intermittently trying stuff, I was also able to get the `git imap-send -v` settings to work (port 993). I did need to change the path to my 'Drafts' mailbox (it's not below 'Inbox.' in my Thunderbird). Only tested with `sslVerify = false`.

The `-v` did indicate that the GCM was being invoked, based on some warning text but I haven't taken that further. "warning: see https://aka.ms/gcm/autodetect for more information."

Show 16 quoted lines
>
>> On Sat, Apr 16, 2022, 16:04 Philip Oakley <philipoakley@iee.email> wrote:
>>
>>     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?
Maybe should raise an issue with GCM on supporting send-email and imap-send?
Show 20 quoted lines
>>     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).
So port 25 to the rescue as noted. Sufficient to do work.
Show 47 quoted lines
>>
>>     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 <http://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.

I've still to delve into that part of the code. I'm cautious of it being a bit of a tar pit when other solutions may be simpler (e.g. continuing with the port 25 solution).

The choice of implicit vs explicit ssl is still something I haven't fully understood, though the explanation of the relationship between methods at https://stackoverflow.com/a/29022120/717355 was useful. How the implicit ssl is started is something I'm still unfamiliar with.

Show 18 quoted lines
>>     Unable to initialize SMTP properly. Check config and use --smtp-debug.
>>     VALUES: server=smtp.hosts.co.uk <http://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 <http://smtp.hosts.co.uk>
>>         smtpServerPort = 465
port 25 works here!
Show 139 quoted lines
>>         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
>>     <http://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 <http://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
>>     <http://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 <http://smtp.talktalk.net>
>>         smtpServerPort = 25
>>
>>     [5] Thunderbird (IMAP) Server Settings (gui)
>>     ServerName: imap.hosts.co.uk <http://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 <http://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]
>>
>>

-- Philip

← back to recent threads