| Commit message (Collapse) | Author | Age |
... | |
|/
|
|
|
| |
In addition, remove hardcoded default values from `account.py` and use
defaults from `alot.rc.spec`
|
|
|
|
|
| |
This moves the static methods clear_my_address and ensure_unique_address
out of ReplyCommand and into alot.db.utils.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
see issue #1402
If the "author" string (a decoded version of the From header value) is
read from the notmuch index, it may have already removed quotes around
real name parts containing a comma.
This means that `alot.db.message.get_author()` will potentially
misinterpret it because python's email libs decoding behaviour is
different.
For example, 'Ä, B <a@b.c>' will yield address 'Ä' and empty name!.
This commit makes sure that the original from header is read from disk
when one replies to a message, which avoids the above problem.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a local utility function `formataddr` which acts as the direct
inverse of `email.utils.parseaddr`.
The problem with `email.utils.formataddr` is (currently) that
- it encodes non-ascii characters and
- it does not re-introduce quotes around the real name parts in case
parseaddr removed them:
>>>parseaddr('"Ö, Ä" <a@b.c>')
>>>('Ö, Ä', 'a@b.c')
>>>formataddr(('Ö, Ä', 'a@b.c'))
>>>'=?utf-8?q?=C3=96=2C_=C3=84?= <a@b.c>'
>>>parseaddr('=?utf-8?q?=C3=96=2C_=C3=84?= <a@b.c>')
>>>('=?utf-8?q?=C3=96=2C_=C3=84?=', 'a@b.c')
related issue #1402
|
|
|
|
|
|
|
|
| |
Depending on the libmagic/ctypes version, magic_version is a function or
a constant. So far, the code expected a constant and fails on the
function variant with a TypeError.
Test with callable() und use the magic_version attribute accordingly.
|
|
|
|
|
|
| |
Python3 only supports "new-style" classes (those extending object),
and we don't need to explicitly inherit from this root class any more.
See http://pylint-messages.wikidot.com/messages:c1001
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when decoding headers containing email addresses;
Some MUAs (exchange) will add headers in the form:
To: "Last, First" <x@y.z>
Prior to this commit, alot would remove the quotes (apparently they
violate RFC 2047). However, this then would lead to problems where the
additional comma is interpreted as separator between several recipients.
This commit causes alot to not remove the quotes.
|
|
|
|
|
| |
Hotfix for double width characters causing columns misalign in search
view (https://github.com/pazz/alot/issues/1393)
|
|
|
|
| |
Closes #1391
|
| |
|
|
|
|
|
|
|
|
| |
Since this branch was created, master has diverged in that
ComposeCommand now stores the determined sender account in the envelope.
(see #117).
This commit makes sure that the newly split methods read the account from
there.
|
| |
|
|
|
|
| |
The last few functions are very small so just doe them in one go.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
account and From header
|
| |
|
|
|
|
|
|
|
|
| |
As we split the apply method up into separate methods we need a way for
those helpers to stop execution of the method. This wraps the real apply
method inside of a try/except block with a custom exception. Any helper
that is intended to run in the apply method simply needs to raise this
exception, and apply will return.
|
| |
|
|
|
|
|
|
|
|
|
| |
Tagstrings with double-width characters resulted in not enough
horizontal space being allocated, which lead urwid to draw the
statusline in two lines instead of one (see #742).
This lets urwid calculate the necessary width itself, using its pack()
method.
|
| |
|
|
|
|
| |
or tags common to all messages in thread
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
176cffcd ("refactor alot.db.utils.remove_cte", 2018-12-04) created a few
problems with 8bit quoted-printable e-mails, see #1291 #1360.
This commit restores the old libmagic fallback which did not cause this
problem.
|
|
|
|
| |
to help troubleshoot problems
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In case of a '.gpg' file being attached to a non-encrypted email some
email clients (like thunderbird) will mark this attachment as content
type 'application/pgp-encrypted'. Alot used to discard that mime part
because the same content type is being used in PGP/MIME to signal de
version:
https://tools.ietf.org/html/rfc3156#section-6.1
Now alot differenciates two cases:
* Normal PGP/MIME encrypted messages, where we need to discard the
'application/pgp-encrypted' mime part. Detected because this part is
followed by a 'application/octet-stream' mime part.
* A mime part with aplication/pgp-encrypted as content type, that is
displayed as attachment.
|
|
|
|
|
|
|
|
| |
pep8!
Better variable names, new feature into docs.
Make sphinx documentation.
|
| |
|
|
|
|
| |
Fixes #1351.
|
| |
|
|
|
|
|
| |
... since accounts' addresses can overlap and get_account_by_address
promises too much. Also remove now-obsolete get_addresses.
|
|
|
|
| |
fixes #1230, fixes an unfiled bug in clear_my_address()
|
|
|
|
| |
simplifies a few tests, fixes #1177
|
|
|
|
|
|
|
| |
This makes remove_cte more accepting of incorrect
Content-Transfer-Encoding header values: instead of looking for exact
matches of valid values, it now tests if a valid value appears as
substring.
|
|
|
|
|
|
| |
This adds a test for detecting a malformed content-transfer-encoding
(trailing semi-colon).
It also changes the raised exception to the more appropriate ValueError.
|
|
|
|
| |
this fixes #1336
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bounce correctly determines the address and account to send the bounce
from. It uses the account to choose an address book for "to:" completion
and passes the sender address as "Resent-From:" to SendCommand(). The
latter uses the "From:" header, though, to determine the sending account
again and (in the case of a bounce) wrongly.
Make SendCommand() use "Resent-From:" if present and "From:" else.
Code remark: specifying "False" as the default return value for get()
ist not necessary; it is meant to make this short form clearer to read,
and to safeguard for times when '' or None do not evaluate to False
here.
|
| |
|
| |
|
|
|
|
|
|
| |
When the key is known or just the signature is invalid gpgme raises
'BadSignatures'. Up to now we were not acknoledging it when using
session-keys, making impossible to open emails without the signing key.
|
|
|
|
| |
Fixes #1325
|
|
|
|
| |
Closes: #1232
|
|\
| |
| | |
Check the return code from sendmail
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
notmuch caches the OpenPGP session keys if configured to do so. See
index.decrypt on:
https://notmuchmail.org/manpages/notmuch-config-1/
Using the cached session key decryption of messages can be done without
the need of having the private OpenPGP key. There is some speed up on
decryption, mostly notable on long encrypted threads.
|