diff options
-rwxr-xr-x | bin/mail/deliver.sh | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/bin/mail/deliver.sh b/bin/mail/deliver.sh index d50f2cc..e6385af 100755 --- a/bin/mail/deliver.sh +++ b/bin/mail/deliver.sh | |||
@@ -16,7 +16,7 @@ if [ -z $log ]; then | |||
16 | fi | 16 | fi |
17 | 17 | ||
18 | exec 2>>$log | 18 | exec 2>>$log |
19 | shopt -s nocasematch | 19 | shopt -s nocasematch extglob |
20 | 20 | ||
21 | # update index for dovecot | 21 | # update index for dovecot |
22 | trap 'doveadm force-resync ${mailbox:-/}' EXIT | 22 | trap 'doveadm force-resync ${mailbox:-/}' EXIT |
@@ -52,7 +52,10 @@ print_mail() { | |||
52 | 52 | ||
53 | # save each field of header into vars | 53 | # save each field of header into vars |
54 | # TODO Use GNU MailUtils to save header | 54 | # TODO Use GNU MailUtils to save header |
55 | while IFS=': ' read field value; do | 55 | while read line; do |
56 | [[ "${line}" =~ ^" " ]] && ${field}+=" ${line##*( )}" && continue | ||
57 | |||
58 | IFS=': ' read field value <<<"${line}" | ||
56 | field="${field^^}" | 59 | field="${field^^}" |
57 | field="${field//-/_}" | 60 | field="${field//-/_}" |
58 | declare ${field}="${value}" | 61 | declare ${field}="${value}" |