Hi Albrecht!

On 02/05/2017 12:47:09 PM Sun, Albrecht Dreß wrote:
Hi all,

as I promised a while ago, I finally prepared a /very/ first patch implementing 
the replacement of the libesmtp library by GIO for SMTP.

Thank you so much for this effort! The documentation and unit tests are 
great--would that the rest of the code was as professional.

It builds with no hiccups and I already sent one test message--this one will be 
the second! I feel that we should push this to master and get everyone to test 
it.
...
An other confusing issue was the treatment of Bcc: message recipients.  The balsa code 
used to double the message with different headers under certain circumstances, i.e. 
passing them /twice/ to the MTA.  As the RFC 5321 "RCPT TO" addresses are 
completely unrelated to RFC 5322 headers in the message itself, I removed the duplication 
(as I mentioned before, The Bcc: headers are stripped thanks to the new filter).  Please 
correct me if this is the wrong approach...

A long time ago there was some discussion about whether bcc recipients should 
get a bcc header, and there may be some comments on that on one of the RFCs. 
One suggestion was to include it when there is exactly one bcc-holder, but it 
had to be a second submission, as the non-bcc recipients should see a message 
with no bcc header. Stripping all bcc headers is far more straightforward, and 
also RFC-acceptable, I believe.

As libnetclient transparently handles SSL and STARTTLS encryption, I joined the 
respective options into a "security" setting, with warnings about insecure 
options (this may be controversial, as an unencrypted connection to localhost is not 
problematic).  However, IMO the SMTP configuration dialogue needs some changes, inter 
alia user certificate selection (see below), and maybe a check box whether authentication 
is required.

The complete functionality of the current, libesmtp-based implementation should 
be available, with the following exceptions:
- Currently, only the PLAIN, LOGIN, CRAM-MD5 and CRAM-SHA1 authentication 
methods are supported.  This should cover most use cases, though (actually, 
isp's will typically enforce encryption these days, so PLAIN or LOGIN are 
safe).  If other mechanisms are required (which?) please let me know.
- Authentication using user-certificates is not yet supported; it's in 
libnetclient, but the config gui needs to be changed.  I wonder if anyone used 
it, as there is no way to set the user certificate in the config dialogue (only 
the pass phrase).  Anyone?

I added some calls to g_debug() in several places, so if you want to see more details 
about the internal operation set the environment variable 
"G_MESSAGES_DEBUG=all".

It should also be easy to use libnetclient for POP3, btw.  I already 
implemented a simple class, but it's not yet tested.

What do you think of my approach?  As always, any comment or suggestion would 
be highly appreciated!

Cheers,
Albrecht.
_______________________________________________
balsa-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/balsa-list

Reply via email to