SQmaiL
Hosted by

|
Frequently Asked Questions
- Why are all the dates displayed in a funny order?
-
Because SQmaiL is intended for an international audience, and YYYY-MM-DD is
the only unambiguous date format. UK format (DD-MM-YYYY) is too easily confused
with US (MM-DD-YYYY), and vice versa; and besides, US date format is a crime
against nature and utterly abhorrent. YYYY-MM-DD also happens to be ISO
standard, so there.
- You keep telling me to back up my database. How?
-
There will soon be a nice interface for doing this, but for the time being, do:
mysqldump --opt -p sqmail | gzip -c > sqmailbackup.sql.gz
...replacing sqmail with whatever your mail database is called, of
course. This will generate a compressed SQL script that will recreate the
database. You can restore a backup with:
zcat sqmailbackup.sql.gz | mysql -p sqmail
You can use this to copy databases, too.
- I'm upgrading from an old version and nothing seems to work any more.
-
Sigh. You didn't read the instructions, did you?
As SQmaiL evolves, particularly in these early stages, the database format
will periodically change. (For example, the way vfolders are stored changed
dramatically from 0.1 to 0.2 when I realised that the old way was deeply
brain-damaged.) So, I've included a tool that will upgrade your database if
it is necessary. To do this, just type:
sqmail upgrade
SQmaiL will look at the database, determine what parts need upgrading, and
do it. (Yes, I could do this automatically. No, I haven't got the nerve to do
it every time.) The upgrade procedure should be completely safe in that
it will correctly do nothing if nothing needs to be done, but, well, hey, it's
alpha.
- I select some text and it crashes!
-
It's a bug in pygtk.
As far as I can tell, this bugs bites when you (a) select some text in a
message; (b) change messages without deselecting the text; (c) select some more
text. If you deselect the text before changing messages, it doesn't appear to
be a problem. Sorry --- nothing I can do. Complain to the pygtk authors.
- I select a message and it won't MIME decode it and stuff comes
out on the console.
-
The message is not correctly MIME-encoded.
I'm using the Python mimetools/multifile libraries to decode the messages.
They're a bit pedantic. They're also a bit buggy --- see the next question. I'm
afraid there's nothing I can do at this point. I'm trying to track down the
authors, but don't hold your breath. You can use the raw message display to
read the message, but you won't be able to extract attachments from it. Sorry.
- I select a message and it locks up.
-
It's a bug in the mimetools/multifile libraries. When I ask for the next part
of a message, on some (rare) messages mimetools gives me the same part I
already have. This seems to happen particularly with bounce messages. I've put
in some code to try and protect against this, but it doesn't always work. The
only thing to do is to kill the process (^Z in the console is the only way of
interrupting it) and restart. Don't click on the message again. Sorry.
- It won't let me send messages without a domain!
-
Yes. It's a feature.
Some mail servers, mine for example, will reject addresses without a domain.
Also, unqualified addresses can be easily confused with mail aliases. So
SQmaiL detects these and warns you. (It won't warn you if you've entered an
alias. It'll just expand it and send the message.)
If you really want your old behaviour, go into the Preferences/Transport
dialogue and enter your domain into the Default Domain box. Now if you
enter and unqualified address, SQmaiL will silently add on the domain you've
just entered and send the message.
- How do I use the aliases window?
-
The aliases window lets you edit your current set of mail aliases. A mail
alias is a single word like an email address that SQmaiL will expand it into
a set of real addresses. This is useful if you want to send mail to the same
set of people a lot, without setting up a mailing list.
The user interface is currently a bit strange. I'm working on it.
To create a new entry, press the New button. You can then click on
the new (blank) entry, and enter text in the box. If you press New when
nothing is selected, a new alias is created; if an alias or email address is
selected, a new email address will be added to that alias.
Did that make sense? Um. Suggestions, please.
- How do I do SQL queries?
-
You need to type a boolean expression into the box in the bottom-left corner.
If your message matches the criterion you supply, and the criterion for that
folder's parents, then it will be displayed in that vfolder. Note that messages
can appear in multiple vfolders. You will probably want to use the SQL
like operator, which does a glob match:
subjectfield like "%[listname]%"
...will extract messages sent by a number of major mailing list software
packages. (The % is a wildcard character.) Check out the MySQL documentation
for more information.
The following SQL fields are available:
fromfield --- the sender's email address.
realfromfield --- the sender's real name.
tofield --- the To: field, in encoded form.
ccfield --- the Cc: field, in encoded form.
subjectfield --- the message's subject.
date --- the arrival date of the message (in SQL datetime format).
annotation --- the message's annotation.
id --- the SQmaiL internal message ID.
readstatus --- one of: Read, Unread, Deleted, Sent.
Encoded form fields are stored as Python pickles. You can ignore this for
all intents and purposes; like will work as expected for both real
names and email addresses.
Currently it's not possible to search for arbitrary headers or body text.
Support for this is planned. (Currently, the headers and the bodies are stored
in different tables. This turns out to be unnecessary, and I'll collapse the
two together at some point.)
- What's the deal with empty SQL queries?
-
If you leave the query space blank, that folder is treated specially. The
folder will display all the messages that aren't being shown in any of
the other vfolders on the same tier. For example, if you have under
Received Messages the folders foo, bar
and unfiled, where the query for unfiled is blank,
then only messages that are not shown in foo and bar
will appear in it.
Note that messages in subfolders aren't taken into account with this.
Internally it works by taking the queries for all the other folders and
combining them into (not QUERY1) and (not QUERY2) and (not
QUERY3)... As a result, some rather odd things can happen. If one of
your folders has a query of 1 (display all messages), then that
will suppress any messages appearing in the unfiled folder (because not 1 is
0).
- How can I add custom headers to outgoing messages?
-
Type the full header into the Extras box in the Compose window. For example,
to Cc your message to me, type:
Cc: dg@tao-group.com
Anything in the Extras box will be added verbatim to the message header. There
is no syntax checking. Be careful.
- How do I do signatures?
-
You need one or more files in your home directory with a name starting with
.signature. When you press the 'Sign' button in the Compose
window, a menu will pop up giving you the choice of which signature you
want to use. The contents of the file will be appended to the end of your
message.
However, if the signature file is executable, the file will be run
instead, and the output appended. This allows you to have dynamic signatures
(I do this).
|