fetchmail issueshttps://gitlab.com/fetchmail/fetchmail/-/issues2023-12-31T09:36:57Zhttps://gitlab.com/fetchmail/fetchmail/-/issues/62SMTP over unix domain sockets2023-12-31T09:36:57ZChristopher ZimmermannSMTP over unix domain socketsI'd prefer to use unix domain sockets for handing over mail from fetchmail to local OpenSMTPd rather than connecting to localhost:25.
Unfortunately absolute paths to the `-S` option are interpreted as _lmtp_ unix domain sockets.
What wou...I'd prefer to use unix domain sockets for handing over mail from fetchmail to local OpenSMTPd rather than connecting to localhost:25.
Unfortunately absolute paths to the `-S` option are interpreted as _lmtp_ unix domain sockets.
What would be the preferred way of implementing this backwards-compatible? Add support for URLs on `-S`? Like so: `-S smtp:///var/run/smtpd.sock`?https://gitlab.com/fetchmail/fetchmail/-/issues/58Evaluate XCLIENT and CLIENTID extension support2023-04-16T10:46:50ZMatthias AndreeEvaluate XCLIENT and CLIENTID extension supportAndrew C Aitchison wrote, on the fetchmail mailing list:
> Date: Thu, 23 Mar 2023 10:55:53 +0000 (GMT)
> Message-ID: <9be0d886-4038-ceca-ffc5-3c277b82f796@aitchison.me.uk>
> I have become aware of two extensions to SMTP (and one to IMAP...Andrew C Aitchison wrote, on the fetchmail mailing list:
> Date: Thu, 23 Mar 2023 10:55:53 +0000 (GMT)
> Message-ID: <9be0d886-4038-ceca-ffc5-3c277b82f796@aitchison.me.uk>
> I have become aware of two extensions to SMTP (and one to IMAP too)
> that may be of interest to fetchmail developers and users.
> The first is https://www.postfix.org/XCLIENT_README.html
> which says that
> The XCLIENT command targets the following problems:
> ... ... ...
> 2. Client software that downloads mail from an up-stream mail server and
> injects it into a local MTA via SMTP. In order to take advantage of the
> local MTA's SMTP server access rules, the client software needs the
> ability to override the SMTP server's idea of the remote client name,
> client address and other information. Such information can typically be
> extracted from the up-stream mail server's Received: message header.
>
> XCLIENT is implemented in postfix and is now a wishlist item for Exim:
> https://bugs.exim.org/show_bug.cgi?id=2702 as well as being available
> in a fork of Exim ( https://github.com/SpamExperts/exim/commit/3798d48d73c89f7835726d31f096851f7f7fca2a ).
>
> The second is CLIENTID, a pair of draft RFCs
> https://datatracker.ietf.org/doc/draft-storey-smtp-client-id/
> https://datatracker.ietf.org/doc/draft-yu-imap-client-id/
> which allows the mail client to tell the server more about itself
> and the user, allowing a server to restrict access on a device+user basis;
> eg to block a spammer who has got hold of your login details, whilst
> continuing to allowing you to send and receive emails from your phone.
>
> CLIENTID is supported by Thunderbird, emClient, and BlueMail clients
> and at least MagicMail "the Top Selling Carrier Grade Email platform for the ISP, Telco, and Cable industry in North America".
> I am currently attempting to write CLIENTID support for Exim.https://gitlab.com/fetchmail/fetchmail/-/issues/56Debian Bug#1025252: fetchmail: man page for fetchmailrc misses arg after fast...2023-01-14T15:18:17ZMatthias AndreeDebian Bug#1025252: fetchmail: man page for fetchmailrc misses arg after fastuidl, also affects --help output (translatable string!)https://bugs.debian.org/1025252https://bugs.debian.org/10252526.5Matthias AndreeMatthias Andreehttps://gitlab.com/fetchmail/fetchmail/-/issues/51Fetchmail in daemon mode should reload ~/.netrc when changed, as it does with...2023-01-14T14:31:11ZfpotoFetchmail in daemon mode should reload ~/.netrc when changed, as it does with ~/.fetchmailrcI know that modifying (or touching) ~/.fetchmailrc forces fetchmail (daemon mode) to restart and reload it. This is useful and intuitive, so I had assumed that the same happens when ~/.netrc is changed.
However, I have a ~/.netrc which...I know that modifying (or touching) ~/.fetchmailrc forces fetchmail (daemon mode) to restart and reload it. This is useful and intuitive, so I had assumed that the same happens when ~/.netrc is changed.
However, I have a ~/.netrc which is a symbolic link to ~/.authinfo, and apparently modifying ~/.authinfo does not force fetchmail to reread it. I have to kill the fetchmail daemon and restart it to read the new data.
I think that fetchmail should reload ~/.netrc when changed, the same way it does with ~/.fetchmailrc6.5Matthias AndreeMatthias Andreehttps://gitlab.com/fetchmail/fetchmail/-/issues/42croak if running as root (privileged user)2022-08-04T08:40:46ZMatthias Andreecroak if running as root (privileged user)change code to prevent fetchmail from running as root. Warnings have been in place for ages.change code to prevent fetchmail from running as root. Warnings have been in place for ages.7.0Matthias AndreeMatthias Andreehttps://gitlab.com/fetchmail/fetchmail/-/issues/41IMAP4rev2 updates [RFC 9051]2022-11-22T01:14:47ZMatthias AndreeIMAP4rev2 updates [RFC 9051]https://datatracker.ietf.org/doc/html/rfc9051#appendix-Ehttps://datatracker.ietf.org/doc/html/rfc9051#appendix-E7.0https://gitlab.com/fetchmail/fetchmail/-/issues/38ETRN mode does not switch to TLS first2022-08-04T08:39:30ZUwe Meyer-GruhlETRN mode does not switch to TLS firstWhen I use fetchmail with a configuration like:
`
poll mx.xyz.com with protocol etrn service 587 fetchdomains mydomain wants sslproto "auto";
`
and the server at mx.xyz.com offers STARTTLS, fetchmail does not start a TLS session:
```
...When I use fetchmail with a configuration like:
`
poll mx.xyz.com with protocol etrn service 587 fetchdomains mydomain wants sslproto "auto";
`
and the server at mx.xyz.com offers STARTTLS, fetchmail does not start a TLS session:
```
fetchmail: 6.4.2 querying mx.xyz.com (protocol ETRN) at So 19 Sep 2021 23:25:15 CEST: poll started
Trying to connect to 1.2.3.4/587...connected.
fetchmail: SMTP< 220 mx.xyz.com ESMTP
fetchmail: selecting or re-polling default folder
fetchmail: SMTP> EHLO myhost.domain
fetchmail: SMTP< 250-mx.xyz.com
fetchmail: SMTP< 250-PIPELINING
fetchmail: SMTP< 250-SIZE 128000000
fetchmail: SMTP< 250-ETRN
fetchmail: SMTP< 250-STARTTLS
fetchmail: SMTP< 250-ENHANCEDSTATUSCODES
fetchmail: SMTP< 250-8BITMIME
fetchmail: SMTP< 250-SMTPUTF8
fetchmail: SMTP< 250 CHUNKING
fetchmail: ETRN> ETRN mydomain
fetchmail: ETRN< 530 5.7.0 Must issue a STARTTLS command first
fetchmail: Unknown ETRN error 530
fetchmail: ETRN> QUIT
fetchmail: SMTP< 221 2.0.0 Bye
fetchmail: client/server protocol error while fetching from fetchmail@mx.xyz.com
fetchmail: 6.4.2 querying mx.xyz.com (protocol ETRN) at So 19 Sep 2021 23:25:15 CEST: poll completed
fetchmail: Query status=4 (PROTOCOL)
fetchmail: normal termination, status 4
```
I can find no way to force a TLS connection, even 'sslproto "TLS1+"' does not work. I could probably use 'ssl', but the server does not offer SSL, only TLS.7.0https://gitlab.com/fetchmail/fetchmail/-/issues/37required documentation improvements on intransparent STARTTLS behavior due to...2023-01-14T14:30:55ZMatthias Andreerequired documentation improvements on intransparent STARTTLS behavior due to sslcertck default, and othersrevisit https://bugs.launchpad.net/ubuntu/+source/fetchmail/+bug/1934155/comments/3 and possibly other comments and improve documentationrevisit https://bugs.launchpad.net/ubuntu/+source/fetchmail/+bug/1934155/comments/3 and possibly other comments and improve documentation6.5Matthias AndreeMatthias Andreehttps://gitlab.com/fetchmail/fetchmail/-/issues/36Add support for aborting sink (SMTP, LMTP, MDA) transactions2021-06-27T07:58:58ZMatthias AndreeAdd support for aborting sink (SMTP, LMTP, MDA) transactionsSee https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=541440 - basically if we do not receive a complete message on input, we should try to abort the output (either kill the listening MDA, or close the output socket on SMTP/LMTP).
Postf...See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=541440 - basically if we do not receive a complete message on input, we should try to abort the output (either kill the listening MDA, or close the output socket on SMTP/LMTP).
Postfix as listener would, for instance, report
```
postfix/smtpd[1478518]: lost connection after DATA (104 bytes) from localhost[::1]
postfix/smtpd[1478518]: disconnect from localhost[::1] ehlo=1 mail=1 rcpt=1 data=0/1 commands=3/4
```
The use case/intent is to avoid incomplete messages that we will check.
Open point: should this be configurable so that users can work around flawed noncompliant servers that would delete a message after retrieval attempt, or will we let users suffer so that they exert pressure on their service provider?7.0https://gitlab.com/fetchmail/fetchmail/-/issues/34add "delete after" feature (delete old mail after time interval, say, 15 days)2021-08-04T10:14:30ZMatthias Andreeadd "delete after" feature (delete old mail after time interval, say, 15 days)This requires rewrite of considerable amounts of ID-tracking code and will touch on other interfaces so can't happen before 7.0.This requires rewrite of considerable amounts of ID-tracking code and will touch on other interfaces so can't happen before 7.0.7.0https://gitlab.com/fetchmail/fetchmail/-/issues/30Timeout handling while connecting to servers2021-02-14T09:36:11ZMatthias AndreeTimeout handling while connecting to serversWhen fetchmail 6.4 (legacy_64) is trying to connect to a server and bumps into a timeout, further addresses seem not to be tried.
Consider how to best solve this, possibly with parallel connection attempts and then continuing with the f...When fetchmail 6.4 (legacy_64) is trying to connect to a server and bumps into a timeout, further addresses seem not to be tried.
Consider how to best solve this, possibly with parallel connection attempts and then continuing with the first that succeeds (there is a recommendation to try STARTTLS in-band and TLS-wrapped ports in parallel and use the first to make progress), and only considering the overall timeout for a connection.7.0https://gitlab.com/fetchmail/fetchmail/-/issues/28FEATURE: Support envelope searching by regex2021-08-04T11:41:14ZEarl ChewFEATURE: Support envelope searching by regexFrom way back (https://sourceforge.net/p/fetchmail/mailman/fetchmail-users/thread/1346683701.47301.YahooMailNeo%40web162403.mail.bf1.yahoo.com/#msg32533762) I wrote:
> [yahoo.com] conveniently provides an X-Apparently-To header which
spe...From way back (https://sourceforge.net/p/fetchmail/mailman/fetchmail-users/thread/1346683701.47301.YahooMailNeo%40web162403.mail.bf1.yahoo.com/#msg32533762) I wrote:
> [yahoo.com] conveniently provides an X-Apparently-To header which
specifies the target mailbox. It looks like this:
>
> > X-Apparently-To: your.name@... via 72.30.236.202; Tue, 14 Aug 2012 16:03:23 -0700
>
> I've tried using:
>
> envelope "X-Apparently-To"
>
> but fetchmail gets confused because it attempts to parse the rhs as a single mail address
I propose that `envelope` supports using a regex:
```
envelope "^X-Apparently-To: +([A-Za-z0-9._%+-]+@yahoo.com) "
```
Or perhaps even allowing the regex capture group to use when extracting the address:
```
envelope 1 "^X-Apparently-To: +([A-Za-z0-9._%+-]+@yahoo.com) "
```7.0https://gitlab.com/fetchmail/fetchmail/-/issues/27gmail oauth2 question2021-08-04T11:40:10ZWilliam Badergmail oauth2 questionI built the next branch to try oauth2 with fetchmail 7 from gmail. (I have Fedora 32 Linux x86_64.)
I am trying to get oauth2 tokens for my personal gmail with the instructions in http://mmogilvi.users.sourceforge.net/software/oauthbeare...I built the next branch to try oauth2 with fetchmail 7 from gmail. (I have Fedora 32 Linux x86_64.)
I am trying to get oauth2 tokens for my personal gmail with the instructions in http://mmogilvi.users.sourceforge.net/software/oauthbearer.html below.
When I try to create the credentials, google asks for a domain.
It looks like it wants a domain for a web site that will be allowed to make API requests, but I will be using fetchmail on my laptop, so there isn't a domain, except maybe my ISP, but then the next step is to prove that you control the domain, which I can't do for an ISP and which would break if I travel.
What do I need to do? Is it documented anywhere? Do I have to make a web site to host an "OAuth consent screen"?
```
Refer to Google's Instructions for how to use the Google API Console to generate a "Client ID" and a corresponding "Client secret" for fetchmail and postfix to use for oauth2. This console tool doesn't seem to be very intuitive, so here are some notes about how I've navigated through it:
"Select a project"
"+" icon
Make up a name. Perhaps include your name and some random digits to be unique.
Don't email, agree to terms of service.
"Create"
Wait a while?
Select in the same place as "Select a project" -> All -> Select.
Sidebar "Credentials"
Middle "Create credentials" -> "Oauth client ID".
Enter a product name to show to the users. (Perhaps the same as above?)
"Application Type" of "Other".
```7.0https://gitlab.com/fetchmail/fetchmail/-/issues/24Support arbitrary token lengths?2021-01-03T11:35:18ZMatthias AndreeSupport arbitrary token lengths?https://gitlab.com/fetchmail/fetchmail/-/merge_requests/24 rises the static buffer size, but dynamic allocation should be used instead.https://gitlab.com/fetchmail/fetchmail/-/merge_requests/24 rises the static buffer size, but dynamic allocation should be used instead.7.0https://gitlab.com/fetchmail/fetchmail/-/issues/20add support for encrypted SMTP connections2021-01-03T18:08:25ZChristophe Kaltadd support for encrypted SMTP connectionsSMTP authentication without TLS encryption isn't something anyone should be doing these days.SMTP authentication without TLS encryption isn't something anyone should be doing these days.7.0https://gitlab.com/fetchmail/fetchmail/-/issues/19support stronger hashes for TLS fingerprints2022-11-17T22:04:46ZMatthias Andreesupport stronger hashes for TLS fingerprintshttps://bugs.debian.org/cgi-bin/bugreport.cgi?bug=700266https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=7002666.5Matthias AndreeMatthias Andreehttps://gitlab.com/fetchmail/fetchmail/-/issues/17Audit code for remaining static buffers and replace by dynamic allocation2020-07-16T00:36:12ZMatthias AndreeAudit code for remaining static buffers and replace by dynamic allocation7.0Matthias AndreeMatthias Andreehttps://gitlab.com/fetchmail/fetchmail/-/issues/14Implement internationalization support for E-Mail (UTF-8)2021-04-26T08:22:35ZMatthias AndreeImplement internationalization support for E-Mail (UTF-8)There are mail servers out in the wild (such as [Courier-IMAP](http://www.courier-mta.org/imap/) since version 5) that expect clients to declare being UTF8-capable and otherwise wrap messages with 8-bit content.
* https://tools.ietf.or...There are mail servers out in the wild (such as [Courier-IMAP](http://www.courier-mta.org/imap/) since version 5) that expect clients to declare being UTF8-capable and otherwise wrap messages with 8-bit content.
* https://tools.ietf.org/html/rfc6530
* https://tools.ietf.org/html/rfc6531
* https://tools.ietf.org/html/rfc6532
* https://tools.ietf.org/html/rfc6855
* https://tools.ietf.org/html/rfc6856
and possibly read RFC6857 and RFC6858.
Original report 2020-03-06 on fetchmail-users by Sergey Organov, https://sourceforge.net/p/fetchmail/mailman/message/36940743/7.0https://gitlab.com/fetchmail/fetchmail/-/issues/1feature req: log Message-ID2022-05-07T19:42:04ZMatthias Andreefeature req: log Message-IDfetchmail should log Message-IDs of messages. TBD: what to log if the header is missing (it is not mandatory).fetchmail should log Message-IDs of messages. TBD: what to log if the header is missing (it is not mandatory).7.0