When you get this error on Exim installations with Solaris:
Undefined first referenced
symbol in file
libiconv rfc2047.o
Just specify the path to libiconv.so in your Exim Makefile:
EXTRALIBS_EXIM=-L/usr/local/lib -liconv
Then, try to build Exim again.
Question:I want to integrate @Mail into my billing system, and need a way to manually delete a user-account via an SQL query
Answer:To manually delete a user-account in @Mail via SQL you can use the following.
Note there are various tables within @Mail that start with a prefix, depending on the first character of the username ( if non A-Z, use the prefix _other )
(more...)
When installing @Mail Server on CPanel, keep the following in mind:Make sure that your Cpanel-POP3 service is disabled. This, along with CPIMAP, must be disabled from your WHM. The configuration panel for it can be found in the Service Manager portion of your WebHost Panel.
Make sure that you have a separate VirtualHost for the @Mail installation. You can do this by creating a barebones VirtualHost in your Apache configuration (/etc/httpd/conf/httpd.conf):
DocumentRoot /usr/local/atmail/webmail
ServerName yourdomain.com
ServerAlias mail.yourdomain.com
Replace yourdomain.com with your hostname, and
mail.yourdomain.com with your ServerAlias.
Afterwards, restart Apache:
% /etc/init.d/httpd restart
You can choose to save email headers for all emails that pass by your MTA - just do the following:
- open up your /usr/local/atmail/mailserver/configure file, and look for the following line:
sms_delivery:
driver = accept
domains = ${lookup mysql {MYSQL_SMSREPLY}{$value}}
condition = "${if !eq{$h_X-Spam-Flag:}{YES} {1}{0}}"
transport = mysql_sms
unseen
- add the following on top of it:
header_logging:
driver = accept
unseen
transport = header_logging
- look for the following:
mysql_autoreply:
driver = autoreply
to = ${sender_address}
from = ${sender_address}
reply_to = "${local_part}@${domain}"
subject = "AutoReply from ${local_part}@${domain}"
text = ${lookup mysql {MYSQL_AUTOREPLY}{$value}}
- add the following below it:
header_logging:
driver=appendfile
headers_only
directory = /usr/local/atmail/mailserver/headers
- create the /usr/local/atmail/mailserver/headers directory
- restart @mail:
% /etc/init.d/atmailserver restart
This will then save all the headers in the /usr/local/atmail/mailserver/headers directory
This is a list of ACLs that you can place in the Exim configure file to reduce Spam. You can put these in the /usr/local/atmail/mailserver/configure file, below the following line:
acl_check_content:
These are the ACL statements you can add:
deny condition = ${if !def:h_Message-ID: {1}}
message = Message ID Missing
This basically blocks any message that doesn't have a Message-ID - since de-facto setups add a Message-ID whereas Spammers and viruses commonly don't.
deny condition = ${if !def:h_To: {1}}
message = Message Recipient missing
This blocks messages that don't have a defined To:. Again, only Spammers make this mistake.
deny message = MIME broken ($demime_reason)
log_message = Broken MIME ($mime_reason)
demime = *
condition = ${if >{$demime_errorlevel}{2}{1}{0}}
This blocks messages that are broken, MIME-wise. Again, most commonly done by viruses.
After making the changes, restart @Mail:
% /etc/init.d/atmailserver restart
Question:
I receive the following when installing the server-mode of @Mail:
"Cant open the message file - its gone"
This is when I try to POP/IMAP a message from a local account hosted in @Mail. How do I fix this?
Answer:
This error can occur when the POP3/IMAP server does not have permissions to access the maildir of @Mail. Most likely the UID of the 'atmail' user is not set to UID 3000.
Check: cat /etc/passwd | grep atmail
If the user does not have the correct UID of 3000 the POP3/IMAP server will have incorrect permissions.
As a solution run:
# userdel atmail# adduser -u 3000 atmail
# chown -R atmail /usr/local/atmail/
# /etc/init.d/atmailserver restart
This will correctly set the permissions for @Mail.