commit 98c8671e7e4e0bc8e28d2781d09ba98b0818a893
parent 03ea4fbb0bc670324c73d0eff0421a89b4187b87
Author: Jaromil <jaromil@dyne.org>
Date: Wed, 2 Dec 2015 19:36:44 +0100
documentation for release
Diffstat:
7 files changed, 43 insertions(+), 18 deletions(-)
diff --git a/ChangeLog.md b/ChangeLog.md
@@ -1,7 +1,20 @@
# JaroMail ChangeLog
-## 3.2
-## 25 Jan 2015
+## 4.0
+## 10 Nov 2015
+
+This release brings a refactoring of all commands for shell pipe
+interoperability, which also reduced the overall size of code. The
+user manual reflect changes and shows several examples on how to
+combine "search", "extract" and other commands to manage statistics,
+groups and addressbooks. New fetures include: revamped terminal
+statistics, improved abook conversion, improved secure protocol checks
+and locking mechanisms.
+
+
+
+
+## 3.2 25 Jan 2015
New ZSh completion extension, now capable of tab-completion for
addresses, maildirs and even remote imap folders. Included
diff --git a/README.md b/README.md
@@ -10,7 +10,7 @@
*A commandline tool to easily and privately handle your e-mail*
-Version: **3.2**
+Version: **4.0**
Updates on: http://dyne.org/software/jaro-mail
@@ -136,7 +136,7 @@ by Denis Roio aka [Jaromil](http://jaromil.dyne.org).
Jaro Mail would have never been possible without the incredible amount of Love shared by the free and open source community, a more complete list of contributors is included in the [user manual](https://files.dyne.org/jaromail/jaromail-manual.pdf) in the `Acknowledgments` section.
-Jaro Mail is Copyright (C) 2010-2014 Denis Roio <jaromil@dyne.org>
+Jaro Mail is Copyright (C) 2010-2015 Denis Roio <jaromil@dyne.org>
This source code is free software; you can redistribute it and/or
modify it under the terms of the GNU Public License as published by
diff --git a/doc/jaromail-manual.org b/doc/jaromail-manual.org
@@ -75,6 +75,7 @@ this manual is made available on http://files.dyne.org/jaromail/jaromail-manual.
+ Automatically generates filter rules (sieve)
+ Imports and exports VCard contacts to addressbook
+ Computes and shows statistics on mail traffic
+ + Facilitates sending anonymous emails (Mixmaster)
+ Encrypted password storage using OS native keyrings
+ Advanced maildir tools (merge, backup, address extraction)
+ Defers connections for off-line operations
@@ -139,10 +140,13 @@ and actions involved in managing one's email communication:
| MTA | Mail Transport Agent | [[http://www.fetchmail.info][Fetchmail]] |
| LDA | Local Delivery Agent | Jaro Mail |
| MDA | Remote Delivery Agent | [[http://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)][Sieve]] |
- | SMTP | Mail Delivery Agent | [[http://msmtp.sourceforge.net][MSmtp]] |
+ | SMTP | Mail delivery agent | [[http://msmtp.sourceforge.net][MSmtp]] |
+ | ANON | Anonymous delivery | [[http://mixmaster.sourceforge.net/][MixMaster]] |
| | Search engine | [[http://notmuchmail.org/][Notmuch]] |
| | Addressbook | [[http://abook.sf.net][ABook]] |
| GPG | Cryptographic Agent | [[http://www.gnupg.org][GnuPG]] |
+ | STORE | Cryptographic Storage | [[http://www.dyne.org/software/Tomb][Tomb]] |
+
#+LATEX: \pagebreak
diff --git a/src/jaro b/src/jaro
@@ -527,7 +527,7 @@ main() {
subcommands_opts[deliver]=""
subcommands_opts[passwd]=""
- subcommands_opts[cert]=""
+ # subcommands_opts[cert]=""
subcommands_opts[source]=""
@@ -784,7 +784,7 @@ main() {
passwd) new_password ;;
- cert) cert ${PARAM} ;; # was checking is_online
+ # cert) cert ${PARAM} ;; # was checking is_online
isonline) is_online ${=PARAM}; exitcode=$? ;;
diff --git a/src/zlibs/addressbook b/src/zlibs/addressbook
@@ -36,8 +36,8 @@ create_addressbook() {
[[ -r "$MAILDIRS"/Addressbook ]] && {
notice "Updating the old addressbook to a new format"
_list=$list
- list=blacklist; export_abook
- list=whitelist; export_abook
+ list=blacklist; export_old_to_abook
+ list=whitelist; export_old_to_abook
list=$_list
mv "$MAILDIRS"/Addressbook "$MAILDIRS"/Addressbook.old
}
@@ -339,7 +339,7 @@ import() {
# export old addressbook format to abook
-export_abook() {
+export_old_to_abook() {
[[ -r $MAILDIRS/Addressbook ]] || {
notice "Old addressbook format not found"
@@ -392,12 +392,11 @@ EOF
}
# export addressbook to vcard
-export_vcard() {
- fn export_vcard $*
-
+convert_addresses() {
+ fn convert_addresses $*
_format=${1:-vcard}
- notice "Reading from stdin addresses to export to format $_format"
+ notice "Converting stdin addresses to format $_format"
c=0
ztmp
for i in "${(f)$(cat)}"; do
@@ -412,14 +411,18 @@ export_vcard() {
_res=$?
- [[ $_res = 0 ]] && {
- notice "$c addresses converted to $_format" }
+ if [[ $_res = 0 ]]; then
+ notice "$c addresses converted to $_format"
+ else
+ error "Abook fails to convert addresses to format: $_format"
+ fi
+
return $_res
}
edit_abook() {
- abook --config <(sysread <<EOF
+ abook --config <(cat <<EOF
set autosave=true
set mutt_command=jaro compose
set sort_field=name
diff --git a/src/zlibs/maildirs b/src/zlibs/maildirs
@@ -172,6 +172,7 @@ merge() {
c=0
for i in ${(f)fr}; do
+
refile "$i" "$_dst"
[[ $? = 0 ]] || {
# bail out on every single error
@@ -232,7 +233,10 @@ maildir_shift() {
pos=${srcarr[$(( $srcnum - 1 ))]}
func "$cmd $f ${dst}/${pos}/"
- [[ $DRYRUN = 0 ]] && ${=cmd} $f ${dst}/${pos}/
+ [[ $DRYRUN = 0 ]] && {
+ ${=cmd} $f ${dst}/${pos}/
+ print -n .
+ }
done
return 0
}
diff --git a/src/zlibs/parse b/src/zlibs/parse
@@ -48,6 +48,7 @@ extract_mails() {
_match=()
for m in ${mailpaths}; do
+ [[ $global_quit = 1 ]] && break
# use RFC822 parser in fetchaddr
_parsed=`hdr $m | ${WORKDIR}/bin/fetchaddr ${=_arg} -a`
for _p in ${(f)_parsed}; do