May 19

Step by step installation
1.Install postfix
# yast2 -i postfix

2. install Courier-Authlib, Cyrus-SASL

# yast2 -i courier-authlib cyrus-sasl cyrus-sasl-crammd5 cyrus-sasl-digestmd5 cyrus-sasl-gssapi cyrus-sasl-otp cyrus-sasl-plain cyrus-sasl-saslauthd

3. Install vm-pop3d
#wget http://www.ibiblio.org/pub/Linux/system/mail/pop/vm-pop3d-1.1.6.tar.gz
#tar -zxvf vm-pop3d-1.1.6.tar.gz
#cd vm-pop3d-1.1.6
#./configure && make && make install

4. Create user using yast

5. Set Config postfix main.cf

inet_protocols = all
biff = no
soft_bounce = no
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
mail_owner = postfix
default_privs = nobody
inet_interfaces = all
unknown_local_recipient_reject_code = 450
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = maildrop
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/packages/postfix/samples
readme_directory = /usr/share/doc/packages/postfix/README_FILES
mail_spool_directory = /var/mail
canonical_maps = hash:/etc/postfix/canonical
virtual_maps = hash:/etc/postfix/virtual
relocated_maps = hash:/etc/postfix/relocated
transport_maps = hash:/etc/postfix/transport
sender_canonical_maps = hash:/etc/postfix/sender_canonical
masquerade_exceptions = root
masquerade_classes = envelope_sender, header_sender, header_recipient
program_directory = /usr/lib/postfix
masquerade_domains =
mydestination = $myhostname, localhost.$mydomain
defer_transports =
disable_dns_lookups = no
relayhost =
content_filter =
mailbox_command =
mailbox_transport =
smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_client_restrictions =
smtpd_helo_required = no
smtpd_helo_restrictions =
strict_rfc821_envelopes = no
mynetworks_style = subnet
smtpd_recipient_restrictions =
permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtp_sasl_auth_enable = no
smtpd_sasl_auth_enable = yes
smtpd_use_tls = no
smtp_use_tls = no
alias_maps = hash:/etc/aliases
mailbox_size_limit = 0
message_size_limit = 10240000
#myhostname = linux.local
#change below information as needed
myhostname = mail.test.com
mynetworks = 11.11.11.11, 127.0.0.1

6. Configure virtual in /etc/postfix
# cd /etc/postfix/virtual
# vim virtual
test.com           virtual
admin@test.com     admin

# postfix start
# postmap virtual
# postfix reload

7. Start it all
#postfix stop
#postfix start
#/usr/sbin/saslauthd -a shadow
#/usr/local/sbin/vm-pop3d -d

ERROR
============
1.
Got this error when trying to retrieve pop3
May 18 15:07:25 linux vm-pop3d[20211]: pam_unix(vm-pop3d:auth):
authentication

failure; logname= uid=0 euid=0 tty= ruser= rhost=  user=help

and when trying to access vm-pop3d

# telnet mail.test.com 110
Escape character is ‘^]’.
+OK POP3 Welcome to vm-pop3d 1.1.6
user admin
pass test123
-ERR Bad login

solution
create vm-pop3d files on /etc/pam.d and add the needed library
#cd /etc/pam.d
#vim vm-pop3d
add this

#%PAM-1.0
auth required /lib64/security/pam_unix.so shadow
account required /lib64/security/pam_unix.so

May 11

url referer : http://wiki.list.org/display/DOC/From+field+displayed+by+Microsoft+Outlook

Some users of the MS Outlook MUA find that mail they receive that has been sent out by a Mailman list server is displayed on the Outlook GUI with a ‘From’ field that is structured like this:

From listname-admin@mailman.server.com On behalf of fred@poster.domain.com

or this,

From listname-bounces@mailman.server.com On behalf of fred@poster.domain.com

or even this:

From listname-bounces+jim=reader.domain.com@mailman.server.com On behalf of fred@poster.domain.com

This is because of the way Microsoft software including Hotmail/Windows Live Mail and many versions of Outlook interpret the meaning of the Sender header. Here is the relevant passage from RFC2822:

=================================
The “Sender:” field specifies the mailbox of the agent responsible for the actual transmission of the message. For example, if a secretary were to send a message for another person, the mailbox of the secretary would appear in the “Sender:” field and the mailbox of the actual author would appear in the “From:” field. If the originator of the message can be indicated by a single mailbox and the author and transmitter are identical, the “Sender:” field SHOULD NOT be used. Otherwise, both fields SHOULD appear.

http://www.faqs.org/rfcs/rfc2822.html

=================================

Given this description, Microsoft’s display choice is not entirely unwarranted (surprisingly enough).

This author knows of no way to stop this behaviour by Outlook; if you do then add it to this FAQ page.

Of the three examples given above, the first, using the -admin list alias is what comes from a MM 2.0.x installation.

The second, using the -bounces list alias comes from a MM 2.1 installation.

The third is from a MM 2.1 installation that is sending out VERP’ed e-mail (for more information about VERP see So what is this VERP stuff).

It appears that not all versions of MS Outlook have this behaviour. If you know of versions that do or do not, then add the information to this FAQ page.

MS MUA/Version with the behaviour described:

MS Outlook 2007
MS Outlook 2003 (including SP2)
MS Outlook 2002
MS Outlook 2000

MS MUA/Version without the behaviour described:

MS Outlook Express 6

Note: The change from the -admin suffix to -bounces suffix (introduced by MM 2.1) was to separate the incoming e-mail to Mailman between what was bounced e-mail being returned and what was other administrative stuff. This was part of the changes in 2.1, including VERP’ing, aimed at improving bounce handling.

A partial ‘solution’ to this problem you can try, is a hack at the file $prefix/Mailman/Handlers/SMTPDirect.py in the MM 2.1.2 released code. If you change line 342 in the function bulkdeliver() from:

msg[‘Sender’] = envsender

to:

msg[‘Sender’] = mlist.GetListEmail()

then it will (hopefully) shorten:

test-bounces@listdomain.tld

to:

test@listdomain.tld

in what the subscriber’s Outlook MUA displays in its ‘From’ field’.

The risk with this hack is that any response sent to the address in the Sender: header gets sent to the list not to the list’s bounce alias. But an MTA generating a bounce message should not be using the address in the Sender: header of the message but the address of the sender from the envelope of the SMTP transaction.

But no warranty with the hack. Take a copy of SMTPDirect.py before you start. Be careful with the editing. Remember source code indentation is syntactically significant with Python. Try some tests, including adding duff mail addresses to your test list to check what happens when things bounce.

The change described below has also been proposed but is questionable because RFC2822 says: ‘The “Sender:” field specifies the mailbox of the agent responsible for the actual transmission of the message’. Which in our case is the mailman list.

Using the listname-bounces or listname aliases seems to be within the spirit of the RFC.

The following suggestion proposes having no Sender: header or leaving the incoming Sender: header intact. This does not seem to be a valid interpretation of the RFC; nevertheless, you can comment out a line in $PREFIX/Mailman/Handlers/SMTPDirect.py in Mailman 2.1.x released code in the function bulkdeliver(). You end up with:

#msg[‘Sender’] = envsender

And then restart mailman: $prefix/mailman/bin/mailmanctl restart