Advanced featuresActions
Actions allow you to use all the power of the Unix command-line with
your emails. You can define various commands, taking parameters such
as the current email file, a list of emails, the currently selected
text, and so on. In this way, you'll be able to perform various tasks
such as editing a raw mail in your text editor,
hide what you mean using ROT-13, apply patches
contained in emails directly, and so on. The only limit is your
imagination. You can create and configure Actions via the
/Configuration/Actions... menu.
The Tools/Actions/ menu will contain one submenu
item for each action that you have created. When you have selected
one or more messages in the Message List, or are viewing a message
in the Message View, selecting one of these menu items will invoke
the action, and, depending on how it was defined, will pass the
message(s) to it.
Additionally, it is possible to add toolbar entries for your
actions. To do so, open the Configuration/Preferences
menu and select Customize Toolbars/Main Window.
Select User Action in the Item type
dropdown menu, then select the Action in the Event executed on click
dropdown menu, and click the Icon button to select the
icon that you want to use.
Simple Open With...
Menu name: Open with/kate
Command Line: kate %p
Opens the file of the selected decoded MIME part
(%p) with the kate text
editor.
Spam management using Bogofilter
Menu name: Bogofilter/Mark as Ham
Command Line: bogofilter -n -v -B "%f"
Marks the currently selected mails (%f) as
not spam using Bogofilter.
Menu name: Bogofilter/Mark as Spam
Command Line: bogofilter -s -v -B "%f"
Marks the currently selected mails (%f) as
spam using Bogofilter.
Search Google using an external script
Menu name: Search/Google
Command Line: |/path/to/google_search.pl
Searches Google for the currently selected text
(|) using the external script google_search.pl.
Templates
Templates are used in composition windows, and act as a model for
emails. Templates can be filled with static text and dynamic parts,
such as the original sender's name (Dear %N, ...),
the date, etc. When applying a template, the dynamic fields will be
replaced with the relevant values. You can configure templates via
the Tools menu.
When applying a template, you will be asked to Insert
or Replace, the difference between replacing and
inserting is only concerned with the message body.
Replace will replace the current composition window
message body with the body defined in the template, clearing it if
the template body is empty. Insert will insert
the template's body, if set, at the current cursor position.
Whether you choose to Insert or Replace, any To, Cc or Bcc field
that is defined in the template will be appended to the compose
window's recipients list. If it is defined, the template's Subject
will always replace the compose window's Subject.
Symbols can be used in all parts of the templates and will be
substituted with their respective dynamic value if possible, otherwise
no value will be used. This often makes more sense if you apply a
template when replying or forwarding, otherwise most of the symbols
value will be undefined. There is no restriction on which symbols can
be used in template parts, even if inserting the body (%M or %Q) may
make no sense in common situations.
When applying a template, the body is processed first, then the To, Cc,
Bcc and Subject fields follow.
Further information and examples of usage can be found in the
user-contributed FAQ on the Claws Mail website http://www.claws-mail.org/faq/.
Processing
Processing rules are the same as Filtering rules, except that they are
applied when entering a folder or when manually applied from a folder's
context menu and apply only to this folder. You can use them to automatically
move old mails into an archive folder, or for further dispatching of
emails, and more. You can set each folder's Processing rules by
right-clicking on it.
Processing rules are accompanied by Pre-processing and Post-processing
rules. Like Processing rules, they apply when opening a folder or manually
applying them from a folder's context menu, but like Filtering rules,
they are shared across all folders. You can configure them from the
Tools menu. Pre-processing rules are executed before the
folder's specific Processing rules, while Post-processing rules are executed
afterwards.
Colour Labels
Colour labels can be used to denote a message as having a particular
significance. To set a colour label simply right-click a message in the
Message List and use the Color label submenu.
Colour labels are user-configurable. Both the colour and the label can
be set by the user. Preferences can be found on the
Configuration/Preferences/Display/Colors page.
Mailing-List support
Claws Mail offers mailing-list support from the
Message/Mailing-List/ submenu. When you have a
mailing-list message selected, the submenu allows you to quickly
initiate subscribing, unsubscribing, posting, getting help, contacting
the list owner, and viewing the list archive; either by opening a new
Compose window with the appropriate address pre-filled, or by opening
the URL in your web browser.
Plugins
Plugins are the mechanism for extending Claws Mail' capabilities.
For example, imagine that you want to store your mails in a remote
SQL database. In most mailers out there this is
simply impossible without reworking the internals of the mailer. With
Claws Mail you can simply write a plugin to achieve the task.
This is just an example of the possibilities. A good number of plugins
developed for Claws Mail already exist, and more are to come. The
Extending Claws Mail section
gives details of them.
Deploying Claws Mail
The initial configuration wizard tries to guess various fields using
information gathered from the system, such as username, hostname, and
more. As it is oriented towards general use, the default values often
have to be fixed. However, this wizard is customisable, in a manner
designed to allow system administrators to deploy Claws Mail easily
over various users of one machine, or even over multiple machines
installed via some replication tool.
The first part consists of creating a wizard configuration template
and setting the various default parameters of a new Claws Mail
installation.
Start with a user who does not have a ~/.claws-mail directory, ideally a new user.
Start Claws Mail and go through the wizard. The values you fill in
will be of no use for the future deployment, so you can click
next-next-next.
Once the wizard is finished and you have Claws Mail' main window
opened, configure the various defaults you want to have in the master.
You can load plugins, add people or LDAP servers in the addressbook,
create filtering rules, and so on.
If needed, and if the deployed Claws Mail will use MH folders, you
can create subdirectories in the mailbox.
Next, quit Claws Mail.
Now, edit the newly created wizard template file,
~/.claws-mail/accountrc.tmpl. In this file,
you will see different variables, corresponding to the wizard's fields.
You can leave some commented, in which case the usual default will be
used, or specify values or variables. Not all fields can contain
variables; for example, smtpauth,
smtpssl and recvssl are booleans,
either 0 or 1, and recvtype is an integer value. The
other fields, like name, email,
or recvuser, are parsed by the wizard and the
variables they contain are replaced by values. This allows you to
specify everything as needed for your site, even if you have strange
server names or server logins.
Save this file, and delete both
~/.claws-mail/accountrc, (which contains your
dummy account) and
~/.claws-mail/folderlist.xml, (so that the
folder tree will be correctly parsed for new users). Recursively copy
.claws-mail to
/etc/skel/; if the deployed
Claws Mail will use MH folders, also copy the created
Mail directory. chown all of
/etc/skel/.claws-mail
and /etc/skel/Mail to
root:root for security reasons.
Test! Create a new user, login as that user, run Claws Mail. If you
filled everything as you wanted, this user will just have to fill in
his passwords.
Now, if you're creating a master for a site-wide deployment, you can
continue with this process. If you were just doing it for one machine,
you're done!
Here are the different variables of the accountrc.tmpl
file:
domain
Your domain name (example.com). If not set, it'll be extracted from the
hostname.
name
The user's name. If not set, it'll be extracted from Unix login
information, which is usually ok.
email
The user's email. If not set, it'll be extracted from
$name and $domain.
organization
Your organization. If not set, it'll be empty.
smtpserver
The SMTP server to use. If not set, it'll be
smtp.$domain.
smtpauth
0 or 1. Whether to authenticate on the SMTP server. If not set, it'll
be 0.
smtpuser
The login on the SMTP server. If not set, it'll be empty (same login as
for reception will be used).
smtppass
The password on the SMTP server. If not set, it'll be empty (if
smtppass is empty but smtpuser is
not, the user will be asked for the password).
recvtype
The type of server to receive from. 0 for POP3, 3 for IMAP4, 5 for a
local MBOX file. If not set, it'll be 0 (POP3).
recvserver
The reception server. If not set, it'll be
(pop|imap).$domain, depending on
$recvtype.
recvuser
The login on the reception server. If not set, it'll be extracted from
the Unix login information.
recvpass
The password on the reception server. If not set, it'll be empty (the
user will be asked for it once per session).
imapdir
The IMAP subdirectory. If not set, it'll be empty, which is often
sufficient.
mboxfile
The MBOX file to receive from if $recvtype is 5.
If not set, /var/mail/$LOGIN.
mailbox
The MH mailbox to store mail in (for $recvtype 0 or
5). If not set, it'll be Mail.
smtpssl
0 or 1. Whether to use SSL for sending mail. If not set, it'll be 0.
recvssl
0 or 1. Whether to use SSL for receiving mail. If not set, it'll be 0.
Here are the different variables you can use in the
domain, name,
email, organization,
smtpserver, smtpuser,
smtppass, recvserver,
recvuser, recvpass,
imapdir, mboxfile and
mailbox fields:
$DEFAULTDOMAIN
The domain name as extracted from Unix hostname information.
Often wrong.
$DOMAIN
The domain name as set in the domain variable, the first of the
template file.
$USERNAMEThe user's real name.$LOGINThe user's Unix login.$NAME_MAIL
The user's real name as set in the name variable of the template field,
in lowercase and with spaces replaced by dots.
Colin Leroy becomes colin.leroy.
$EMAIL
The email address as set in the email variable of the template field.
Be sure not to use a variable before defining it.
Hidden preferences
There are a number of hidden preferences in Claws Mail, preferences
that some users who we wanted to please couldn't live without, but
which did not have a place in the GUI in our opinion. You can find the
following, and change them while Claws Mail is not running, in
~/.claws-mail/clawsrc.
There's a small tool written in Perl-GTK called Clawsker which
provides a user-friendly GUI for tweaking these settings instead of
direct editing of clawsrc. You can read more
about it on the Clawsker
page.
addressbook_use_editaddress_dialog
Use a separate dialogue to edit a person's details.
'0' will use a form embedded in the addressbook's main window.
bold_unread
Show unread messages in the Message List using a bold font.
cache_max_mem_usage
The maximum amount of memory to use to cache messages, in kB.
cache_min_keep_time
The minimum time in minutes to keep a cache in memory. Caches more
recent than this time will not be freed, even if the memory usage is
too high.
compose_no_markup
Don't use bold and italic text in Compose dialogue's account selector.
emphasis_color
The colour used for the X-Mailer line when its value is Claws Mail.
enable_dotted_lines
Use the old dotted line look in the main window
GtkTreeView components, (Folder List and Message List), instead of the
modern lineless look.
enable_hscrollbar
Enable the horizontal scrollbar in the Message List.
enable_swap_from
Display the sender's email address in the To column of the
Sent folder instead of the recipient's.
folderview_vscrollbar_policy
Specify the policy of vertical scrollbar of Folder List.
'0' is always shown, '1' is automatic, '2' is always hidden.
hover_timeout
Time in milliseconds that will cause a folder tree to expand
when the mouse cursor is held over it during drag 'n' drop.
live_dangerously
Don't ask for confirmation before definitive deletion of emails.
log_error_colorlog_in_colorlog_msg_colorlog_out_colorlog_warn_color
The colours used in the log window.
outgoing_fallback_to_ascii
0 or 1. The outgoing encoding of a message will use 7bit US-ASCII
whenever it is suitable for the message content, ignoring the
Outgoing encoding option unless it is necessary. Turning
this option off forces the user-defined encoding to be used, regardless
of message content. Default is 1, turned on.
respect_flowed_format
0 or 1. Respect format=flowed on text/plain message parts. This
will cause some mails to have long lines, but will fix some URLs
that would otherwise be wrapped. Default is 0, turned off.
save_parts_readwrite
Saves temporary files when opening attachment with write bit set.
skip_ssl_cert_check
Disables the verification of SSL certificates.
statusbar_update_step
Update stepping in progress bars.
stripes_color_offset
Specify the value to use when creating alternately coloured lines in
GtkTreeView components. The smaller the value, the less visible the
difference in the alternating colours of the lines.
textview_cursor_visible
Display the cursor in the message view.
thread_by_subject_max_age
Number of days to include a message in a thread when using
Thread using subject in addition to standard headers.
toolbar_detachable
Show handles in the toolbars.
two_line_vertical
Spread message list information over two lines when using the
three column layout.
unsafe_ssl_certs
Allows Claws to remember multiple SSL certificates for a given
server/port. This is disabled by default.
use_networkmanager
Use NetworkManager to switch offline automatically. This is enabled
by default.
use_stripes_everywhere
Enable alternately coloured lines in GtkTreeView components.
use_stripes_in_summaries
Enable alternately coloured lines in the main window GtkTreeView
components, (Folder List and Message List). The only useful way to
use this option is to set it to 0 when use_stripes_everywhere is set
to 1.
utf8_instead_of_locale_for_broken_mail
Use UTF-8 encoding for broken mails instead of current locale.
warn_dnd
Display a confirmation dialogue on drag 'n' drop of folders.
Autofaces
Claws Mail allows setting the Face and X-Face headers directly
from files, either globally for all defined accounts
or on a per-account basis. These files must be placed in the
~/.claws-mail/autofaces/ directory.
If they exist, the global Face and/or X-Face headers for all
accounts are taken from the face and/or
xface files respectively. In a similar
manner, Face and/or X-Face headers for a specific account can
be provided by face.accountname
and/or xface.accountname,
where accountname is the name of the account you
want this header to be associated with.
If the name of the account contains characters which may be unsuitable
for the underlying filesystem (including spaces) these are replaced by
underscores (_) when searching for the autofaces of
that account. For example, if your account is called
<My Mail>, the name for the X-Face filename for
that account would be
~/.claws-mail/autofaces/xface._My_Mail_.
Be aware that this feature doesn't check the content of the files,
or for duplication of headers, (most mailers, including Claws
Mail, will ignore duplicates and display the last one only).