Look in the Field Menu and select those fields. For me, the key shortcuts are C-c C-f C-c (message-goto-cc) for CC and C-c C-f C-b (message-goto-bcc) for BCC. These will add those fields.
Alternatively, I think you can just type them in yourself in the header, e.g. after the To: line, press enter, type Cc: and a space then add the email address you want.
There's a hook run before message composition starts, so you can check the last-command to change the citation line conditionally:
(defun citation-line-function ()
(if (eq last-command 'mu4e-compose-reply)
"\nOn %a, %b %d %Y, %N wrote:\n"
I don’t think you need to edit this function at all. It calls the hook functions stored in gnus-article-decode-hook. You could add unsafelinks to that list with (add-hook 'gnus-article-decode-hook 'unsafelinks).
As you've discovered, mu4e only accommodates helm-mode or Emacs' built-in completing-read-multiple. In order to use ivy for completions, you need to modify the code directly. In addition, to make use of Ivy's multiple selection features, you need to use ivy-read with an appropriate :action defines.
The following accomplishes this (with much room for ...
One can use one org-read to read the date from the mail and another one to increment the number of days as you wish. The following replacement of the relevant snippet of code does work for me:
%(org-insert-time-stamp (org-read-date nil t \"++2d\" nil (org-read-date nil t \"%:date\")))
Have you tried C-c M-n while writing the message? This at least should cover part of the answer.
Regarding the visibility of the return receipt pop-up in mu4e, according to this thread such functionality does not exist at the moment
I figured out a solution by doing it just on os level. Using bindfs you could create a "read only" view to the maildir. For example if your maildir is ~/maildir create an empty directory ~/maildir_ro and then do
bindfs --perms=a-w .maildir .maildir_ro
Then change ~/maildir to ~/maildir_ro in your init file for mu4e as well.
Unfortunately mu itself doesn't let you interactuate with it in that way using predefined commands that I'm aware of. I guess that if you know enough about xapian databases, which isn't my case, you could do it. Still, you have a few options out of the box.
On mu4e-contrib you have mu4e-headers-mark-all-unread-read, which probably will fit your bill for ...
For me an org file like
- Read this [[mu4e:msgid:07DE09F4-70FC-4C03-B3BC-E3DE56F70FD5@andrew.cmu.edu][foo]]
- a query [[query:msg:2][my description]]
exports to this ascii text
- Read this [foo]
- a query [my description]
[my description] <query:msg:2>