[Workaround.org] Etch mail server r149 feedback

Christoph Haas email at christoph-haas.de
Wed Oct 10 23:29:35 CEST 2007


On Mon, Oct 08, 2007 at 05:22:01PM +0100, petes-lists at thegoldenear.org wrote:
> - "aptitude install postfix-mysql
> Answer the question for the "Mail name" by entering the fully qualified
> hostname (that means including the domain part) of your system."
> 
> Please be really explicit here as to whether you mean the actual
> server's hostname, i.e. for me that would be 'server.localdomain' or the
> mail domain name(s) that the virtual server will be hosting

Isn't "the fully qualified hostname (that means including the domain
part) of your system" clear enough? It's the name of the system. Not the
name of the mail domain. Although in my case the mail domain's name
points to the same server anyway (A record). :)

> - typo: "The Perl DBI module is needed so that you AMaViS"

Check.

> - "Some of the suggested packages are not free enough to be included in
> Debian's main section. If you want to install them you first need to add
> the contrib and non-free sections to your binary package source in the
> /etc/apt/sources.list file:
> deb http://ftp.debian.org/debian/ etch main contrib non-free"
>
> You don't advise a mirror server instead.

Mmmm, 'kay.

> People will most likely have a main Debian repository so should instead be
> advised to just add 'contrib non-free' to the end of their existing line.

Right.

> - "$>" - your notation matches that of the non-root user. It's typical
> to use '#' to signify root so it would be better if your prompt was '#>'

Is it? The .bashrc doesn't really set that prompt in Debian, does it?

> - You don't say, near the start of the document, at what point to migrate
> your old system that was based on 'ISP mail Sarge', so if you're migrating
> you're left wondering when you'll do that. I'm writing a section on
> migration for you.

I'm curious.

> - You have mysql statements that require people to run mysql and then
> paste the commands - two separate lines to paste. How about instead
> giving it as a complete command-line in one that can be pasted using
> mysqladmin?

In my experience MySQL won't choke on multiline queries. It will accept
further input until you write ';'.

> - typo: "(A web interface for maintaining this information is alreadj in
> the making.)"

Okay.

> - "mysql>
> INSERT INTO virtual_users (id, domain_id, user, password)
> VALUES (1, 1, 'john', MD5('summersun'));
> exit"
> 
> Leave off the 'exit' because there's some more SQL in the next task so
> it would be easier to remain in mysql.

Yup.

> - typo: "a feature called views that has been finally been introduced
> with MySQL 5.0."

Okay.

> - typo?: "The SQL view works perfectly so that we can use it for Postfix."
> 
> How about 'The SQL view works perfectly so we can use it for Postfix.'?

Yes, better style. I blame it on my english teacher. :)

> - typo: "Now imagine what happens when Postfix received an email for"
 
Okay.

> - typo?: "after all your database password is stored there"

Where's the typo?

> - typo: "But Dovecot comes with an own (local) delivery agent"

Hmm?

> - 2 typos: "which will tell that the users' mailboxes are always found
> at /home/vmail/DOMAIN/USER and that is should be in maildir format."

Okay.

> - typo: "The LDA (local delivery agent) is more capable than Postfix'"

What's wrong here?

> - typo: "If an argument is given then only domains are listd"

I'm tempted to write a "list daemon" to prove you wrong. But ooookay. :)

> - this on its own doesn't seem to make much sense:
> "Instead of going through the following procedure (IMAP is rather
> complicated) you may as well just use mutt to create an IMAP connection:
> $> mutt -f imaps://john@example.com@localhost"

Suggestion?

> - typo: "The users will need to show you theyr username and password"

Okay.

> mal-formatted: "we can make Postfix ask the Dovecot server
> <http://www.postfix.org/SASL_README.html#server_dovecot> to verify the
> username and password"

Oops. Fixed.

> - typo: "Your email programm may have warned you"

Okay.

> - You have 2 instances of 'bayesian' rather than 'Bayesian'

I assume the correct spelling would be uppercase.

> - typo: "If some person sends sends"

Okay.

> You say it will be like this:
> "amavis[13001]: (13001-02) Passed SPAM, <...> -> <john at example.com>, ..."
> 
> but it's like this, at least it was for me:
> 
> Oct  4 21:05:54 server amavis[10471]: (10471-01) Blocked SPAM,
> <root at server.localdomain> -> <john at example.com>

Did you really set the D_* actions right? Spam shouldn't be blocked but
passed.

> - "use the conversion script."
> "conversion script" is a hyperlink to dbconvert.py. Straight after it
> you go on to talk about ispadmin.py. It would be good if the text
> instead said something like 'use the conversion script, dbconvert.py.'
> where 'dbconvert.py' was hyperlinked. Because then on the next line when
> you mention ispadmin.py the reader won't have to hover over 'conversion
> script' to see if it's the same thing as ispadmin.py or something different.

Better now?

> I tried running dbconvert.py but it failed with "  File
> "./dbconvert.py", line 16, in ? from sqlalchemy import * ImportError: No
> module named sqlalchemy" - you don;t mention that it needs
> python-sqlalchemy; you do for ispadmin.py but not for dbconvert.py.

Yes, I do. Quote: "You only need to have the ``python-sqlalchemy`` and
``python-mysqldb`` packages installed."

> - after installing the python libraries I get the following:
> "server:~# ./dbconvert.py
> Traceback (most recent call last):
>   File "./dbconvert.py", line 25, in ?
>     meta_sarge = BoundMetaData(db_sarge)
>   File "/usr/lib/python2.4/site-packages/sqlalchemy/schema.py", line
> 893, in __init__
>     self._engine = sqlalchemy.create_engine(engine_or_url, **kwargs)
>   File "/usr/lib/python2.4/site-packages/sqlalchemy/engine/__init__.py",
> line 91, in create_engine
>     return strategy.create(*args, **kwargs)
>   File
> "/usr/lib/python2.4/site-packages/sqlalchemy/engine/strategies.py", line
> 29, in create
>     u = url.make_url(name_or_url)
>   File "/usr/lib/python2.4/site-packages/sqlalchemy/engine/url.py", line
> 84, in make_url
>     return _parse_rfc1738_args(name_or_url)
>   File "/usr/lib/python2.4/site-packages/sqlalchemy/engine/url.py", line
> 115, in _parse_rfc1738_args
>     return URL(name, **opts)
>   File "/usr/lib/python2.4/site-packages/sqlalchemy/engine/url.py", line
> 36, in __init__
>     self.port = int(port)
> ValueError: invalid literal for int(): port"

Did you enter a proper database URI?

> - You have a mention of spamassassin without a capital 'S': "Sieve has a
> simple scripting language that allows us to forward all emails that are
> tagged by spamassassin"

Okay.

> - this file doesn't already exist: "Put the following lines into the
> /home/vmail/globalsieverc file:" so you should say to create it with the
> following contents.

Okay.

> - "Then watch the /home/vmail/dovecot-deliver.log file. The last line
> should look like:
> deliver(john at example.com): "2007-06-18 22:17:46 "Info:
> msgid=<GTUBE1.1010101 at example.net>: saved mail to spam"
> 
> Actually, I get this instead:
> 
> deliver(john at example.com): "2007-10-04 20:43:37 "Error:
> chdir(/home/vmail/example.com/john) failed: No such file or
> directorydeliver(john at example.com): "2007-10-04 20:43:37 "Info:
> msgid=<20071004194330.97990175EA at server.localdomain>: saved mail to INBOX
> deliver(john at example.com): "2007-10-04 20:56:28 "Info:
> msgid=<20071004193403.AC378175E4 at server.localdomain>: saved mail to INBOX

Then the mail wasn't tagged as spam as spam by amavis/spamassassin.
I just wonder why the /home/vmail/example.com/john isn't created
automatically. Has anyone else seen that? I somehow assumed that Dovecot
is creating the delivery targets automagically.

> - typo: "local email address where you can use piped aliases. </para>"

Docbook cruft removed.

> - poor translation from German to English: "But you will delay
> legitimate email for at least five minutes what might annoy your users
> who may impatiently wait for an urgent email."

Please help by suggesting a better wording.

> - poor translation from German to English: "Greylisting seems to become
> less useful with the time"

Suggestion?

> - typo: "which define the email servers responsible for receiving emails
> for certain domain"

Oops. That section was supposed to stay out of the document until
finished. :)

> - typo: (english please)

Hmm?

> - missing the word 'other': This tutorial is meant for Debian "Etch". If
> you are trying this setup on any distribution you are completely on your
> own.

Right.

Cheers
 Christoph



More information about the Workaround-chitchat mailing list