首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

解决方案

反垃圾邮件解决方案 | 邮件系统解决方案 | 网络安全解决方案 | 移动电邮解决方案 | 招标信息 |
首页 > 解决方案 > 邮件系统产品与解决方案 > 一个适合ISP使用的Mail方案全英文 > 正文

一个适合ISP使用的Mail方案全英文

出处:5DMail.Net收集整理 作者:请作者联系 时间:2006-10-25 17:45:00
This is G o o g l e's cache of http://www.marlow.dk/tech/postfix.html.
G o o g l e's cache is the snapshot that we took of the page as we crawled the web.
The page may have changed since that time. Click here for the current page without highlighting.
To link to or bookmark this page, use the following url: [url]http://www.google.com/search?q=cache:v1cE_29kOmoC:www.marlow.dk/tech/postfix.html+sqwebmail+patch+download&hl=zh-CN&ie=UTF-8[/url]


Google is not affiliated with the authors of this page nor responsible for its content.
These search terms have been highlighted:  sqwebmail  patch  download  



--------------------------------------------------------------------------------

ISP Mailserver Solution Howto

Author: Martin List-Petersen martin@list-petersen.dk
The newest version of this document can allways be found at http://www.marlow.dk/postfix/
Version: 0.04
Created: May 11th, 2002
Last updated: May 15th, 2002

Acknowledgements: There has been many efforts out there to describe how to get a mailserver to work with storing tables, users and so on in databases, but most of the stuff found out there did only describe parts of, what was needed. So what i try, is to describe the setup, the way i did it. This is maybe not the solution you want, but it'll give you pretty much insight in, how it can be done. This document describes a working solution, which is used in production on several hosting servers with multiple domains, but gives you no warranty on that it'll work for you. This document is provided as is.
Thanks to Ryan Skov for testing and the work spend on getting this setup together.



Purpose

The goals of this document:
- archive an ISP hosting solution that is dynamically and easy to manage.
- to get rid of different limitations in comparison to creating unix accounts for every mailuser.
- to archive the possibility for CRAM-MD5 encryptet password challenges on POP and IMAP instead of cleartext.
- the domains hosted should be handled independant to each other (different namespaces for every domain).
- to be able to act as SMTP for clients without knowing their ip upfront, but still not being an open relay.
- scan mails for virus and notify hostmaster, sender and receiver on virus alerts.



Related Stuff:

- Postfix (MTA): http://www.postfix.org
- MySQL (sql server): http://www.mysql.com
- Courier-IMAP, POP3, SqWebMail (courier imap/pop3 servers and webmail, supporting maildirs): http://sourceforge.net/projects/courier/
- pam-mysql (pam plugin for storing auth data in mysql): http://sourceforge.net/projects/pam-mysql/
- sasl (client/server library for smtp auth): http://asg.web.cmu.edu/sasl/
- Amavis (wrapper script for virusscan): http://www.amavis.org

Packages which can be used on Debian:
postfix-mysql, postfix-tls
mysql-server
courier-imap, courier-pop, courier-authdaemon, courier-authmysql
libpam-mysql
libsasl7, libsasl-modules-plain
-- optionally courier-imap-ssl, courier-pop-ssl
-- optionally sqwebmail
-- optionally courier-maildrop, but the version in Debian has no MySQL support, needs recompile.
-- amavis has to be compiled by hand, no module found for that, but you will need the following packages:
  file, bzip2, lha (min. rev. 1.14g), unarj, unzip, gzip, unrar, zoo,
  perl-5.004, libio-stringy-perl, mailtools, libmime-perl, libmailtools-perl, libmime-base64-perl, libcompress-zlib-perl,
  libnet-perl, libconvert-uulib-perl, libconvert-tnef-perl, tnef, libarchive-tar-perl, libarchive-zip-perl, libunix-syslog-perl

  Also you will need arc, which can be found here: http://www.gws-online.de/download/arc_5.21e-5_i386.deb



The Background Story

The reason for this setup was quite simple. I wanted a solution, that was as flexible and easy to support as possible. To keep this as short and clear as possible, i'll take this in different parts.

- the user should have an easy login, like their complete email-address.
This does not polute the passwd file with thousands of different aliases and gives you as the system administrator a good view on, what customer you are talking to. Besides a customer knows nearly allways his email-address, since he uses it all the time. The username is easily forgotten. Another thing is, that you allways know the answer, if a customer can't remember his/her username.

- the password should be stored in plain text, not encryptet.
There are two reasons why this should be done. However, it's your choice. You have the ability to store it encryptet in the database, if you like that better.
The first reason is, that you'll be able to use CRAM-MD5 encryption for the password challenge. For this you need the plaintext password on both sides, since this is a one way encryption method.
The customers i know personally (and that are many of them) can give me a call and get their password on the phone, if they should forget it or so ...

- the smtp server should be used for smtp relay for accounts related on it.
There are several methods to archive that (pop-over-smtp, domain based relay, ip based relay and so on) without getting an open relay, but most of them require, that you know your customers location or requires him to authentificate on pop3 before being able to use smtp. I wanted to the smtp-auth feature, which is supported by most clients and i wanted to use the same username and password as on the pop3/imap server. Makes it easier for the customer to remember things. Also i didn't want to store the username in two places. I did choose pam-mysql for that, because the sasl-mysql patch out there is quite buggy. I managed to apply it and compiled the sasl lib afterwards, but couldn't get it to work. Pam-mysql works nice and does exactly fit my needs. Also in mind, that i can use it for ever i want afterwards (samba, shell-login .....)

- maildir is used for faster access to mails and a better structure, which mail is stored in.


Installation

Amavis

To configure Amavis:

   ./configure --enable-postfix --with-logdir=/var/log/amavis
               --sysconfdir=/etc/amavis
               --with-warnsender=/etc/amavis/template/sender
               --with-warnrecip=/etc/amavis/template/recip
               --with-warnadmin=/etc/amavis/template/admin
               --with-amavisuser=vscan
               --with-mailto=virusalert
               --with-mailfrom=postmaster
   


- Documentation of this issue is not finished yet -

McAfee uvscan

The following Debian packages need to be installed:
libstdc++2.8


- Documentation of this issue is not finished yet -


Database

- "alias" table:

Overview
   +-------------+--------------+------+-----+---------+----------------+
   │ Field       │ Type         │ Null │ Key │ Default │ Extra          │
   +-------------+--------------+------+-----+---------+----------------+
   │ id          │ int(11)      │      │ PRI │         │ auto_increment │
   │ alias       │ varchar(128) │      │     │         │                │
   │ destination │ varchar(128) │      │     │         │                │
   +-------------+--------------+------+-----+---------+----------------+
   

Comment
This table is only used on local delivery. So it wont work, if you deliver "virtual". Just have that in mind, when you configure your aliases. Also this is the only table, where can execute scripts directly.

Description id  This is not necessary, but I also use the id field as an unique identifier in some other places, so it's up to you, if you want to use it.  
alias  The alias, you wish to redirect, could be postmaster, root or other aliases.  
destination  This field can hold several types of destinations. I can be one or more addresses (delimited by comma), a file for delivery to file, a "pipe" to a command for executing a script handling STDIN or an include, which has several addresses, one on each line.  
Manual: aliases(5)

- "relocated" table:

Overview
   +-------------+--------------+------+-----+---------+----------------+
   │ Field       │ Type         │ Null │ Key │ Default │ Extra          │
   +-------------+--------------+------+-----+---------+----------------+
   │ id          │ int(11)      │      │ PRI │         │ auto_increment │
   │ email       │ varchar(128) │      │     │         │                │
   │ destination │ varchar(128) │      │     │         │                │
   +-------------+--------------+------+-----+---------+----------------+
   

Comment
This table is only used to tell senders, that the user, they tried to contact doesn't exist on the server anymore, but has moved to a new address. All this does is generating a mailer-daemon message, telling the sender the new address, where this recipient moved to.

Description id  This is not necessary, but I also use the id field as an unique identifier in some other places, so it's up to you, if you want to use it.  
email  The originally email-address.  
destination  The email-address, where the user can be found now. Eventually you just put "unknown" here, if you don't want to refer to a new address or you don't know the users new address.  
Manual: relocated(5)

- "transport" table:

Overview
   +-------------+--------------+------+-----+---------+----------------+
   │ Field       │ Type         │ Null │ Key │ Default │ Extra          │
   +-------------+--------------+------+-----+---------+----------------+
   │ id          │ int(11)      │      │ PRI │         │ auto_increment │
   │ domain      │ varchar(128) │      │ UNI │         │                │
   │ destination │ varchar(128) │      │     │         │                │
   +-------------+--------------+------+-----+---------+----------------+
   
Description id  This is not necessary, but I also use the id field as an unique identifier in some other places, so it's up to you, if you want to use it.  
domain  The domain field contains the domainnames, of the domains you host.  
destination  This field is describing the way, postfix should deliver the mail. "local:" would be for local delivery, "virtual:" for delivery to the virtual accounts, we are going to use. You can use every transport type you want in this place. "maildrop:" for mails, who have to be filtered first (see description of maildrop, later in this document) or "uucp:" for delivery to UUCP. IMPORTANT: The hosts primary hostname has to be "local:" delivery !!  
Manual: transport(5)

- "users" table:

Overview
   +-------------+---------------+------+-----+---------+----------------+
   │ Field       │ Type          │ Null │ Key │ Default │ Extra          │
   +-------------+---------------+------+-----+---------+----------------+
   │ id          │ int(11)       │      │ PRI │         │ auto_increment │
   │ email       │ varchar(128)  │      │ UNI │         │                │
   │ clear       │ varchar(128)  │      │     │         │                │
   │ name        │ tinytext      │      │     │         │                │
   │ uid         │ int(11)       │      │     │ 1001    │                │ < replace with your vmail users uid
   │ gid         │ int(11)       │      │     │ 1001    │                │ < replace with your vmail users gid
   │ homedir     │ tinytext      │      │     │         │                │
   │ maildir     │ tinytext      │      │     │         │                │
   │ quota       │ tinytext      │      │     │         │                │
   │ postfix     │ enum('y','n') │      │     │ y       │                │
   +-------------+---------------+------+-----+---------+----------------+
   
Description id  This is not necessary, but I also use the id field as an unique identifier in some other places, so it's up to you, if you want to use it.  
email  The users eMail-address and username  
clear  The cleartext password used for smtp-auth, pop3 and imap  
name  The users name. This is only for informational purpose and totally optionally. Courier can use it, but wont need it necessarily.  
uid  The uid (User ID) of the vmail-user, that we are going to create. This is the only unix-user, that is needed for virtual-delivery, since there still must be some kind of ownership on the stored mails.
You can also create your local unix-users in this table, if you want to give them the possibility to use CRAM-MD5 challenging and maybe give them another password, than the one used for local access. The fun thing about Courier is, that it will check both this and the local password, so that the unix-user will be able to authentificate with both passwords, however CRAM-MD5 challenging can not be used on allready encryptet passwords.  
gid  The gid (Group ID) of the vmail-user.  
homedir  This is the path, where the path where the homedir of the user resides. It's "/home/vmail" for our virtual users and should be the same allways for the virtual user, because it'll be hardcoded in postfix configuration. This field is only used by Courier. For any local unix-user this is his/her homepath.  
maildir  This is the path, where the mails reside inside the homedir. Postfix-style is, that the mails reside in "/Maildir" on local unix-users. For our vmail-user this is a bit different, because all mails for all users reside in the same homedir. Personally i use the format "/domain.tld/user/", some other prefer "/domain.tld/user/Maildir/". This is totally up to you, to choose, what fits your needs best. There is one caveeat here: Remember the trailing slash or else postfix will deliver your mail to a mailspool instead of a maildir.  
quota  - still not documented -  

- "virtual" table:

Overview
   +-------------+--------------+------+-----+---------+----------------+
   │ Field       │ Type         │ Null │ Key │ Default │ Extra          │
   +-------------+--------------+------+-----+---------+----------------+
   │ id          │ int(11)      │      │ PRI │         │ auto_increment │
   │ email       │ varchar(128) │      │     │         │                │
   │ destination │ varchar(128) │      │     │         │                │
   +-------------+--------------+------+-----+---------+----------------+
   
Comment - IMPORTANT !!
There are some caveeats in this table and the way, i've chosen to setup my postfix. If you want to use maildrop-address (addresses, that collect all mails not going to other recipients), you'll have to make an alias for every account created in the users-table. If an user isn't found in the virtual table, but a maildrop-address is found, mails will be delivered to the maildrop-address instead. By creating a row containing the user (some@domain.tld) in the email- and destination-fields, this doesn't happen. Postfix then also checks the users table and delivers the mail correctly.

Description id  This is not necessary, but I also use the id field as an unique identifier in some other places, so it's up to you, if you want to use it.  
email  The email-address field. Here you can specify aliases of addresses in the format user@domain.tld, create a maildrop-address, create domain-canonicals or distributers.
The formats are accepted:
"domain.tld" - destination just has to contain anything. This is used for domains that are hosted without actually having an account. If you have an entry in the transport-table allready, you should not create this type, but in every other case it's needed to tell postfix, that this domain is hosted. This type has top priority for postfix. It'll allways be the first thing for a domain, that postfix looks for.
"user@domain.tld" - an email-alias or entry as mentioned in the comment. It's also the second priority.
"@domain.tld" - a maildrop-address. This takes all mail not yet delivered and sends it all to one recipient. Read the comment earlier in this document carefully, if you plan to use this. This thing has third priority.
The priorities are a nice thing about postfix, meaning, that you don't have to care about the order you insert your aliases in the database. Postfix handles this totally by itself and doesn't care about where in the database you aliases are and what order they are in.
One additional nice feature is having "@domain.tld" in email and "@other-domain.tld" in destination. This is normally used in the canonical table, but can also be put here, which is the reason, why i left the canonical table out. So if you want to have the same accounts on two domains you can do it this way.  
destination  The destination address for the alias. This could be a virtual user (user@domain.tld), a local unix-users or a remote email-address. You can also specify more than one recipient delimited by comma.  
Manual: virtual(5)



Configuration

Linux Users/Files

Create a unix-user named vmail or whatever you want and change the configuration accordingly to that. Maildirs are created automatically by Postfix, when the first mail to an account arrive (if you've set the correct rights to the vmail-homedir). If you however use maildrop, then you'll be forced to create the maildirs manually with the maildirmake command, since maildrop and all other Courier utilities don't create maildirs automatically.

For Virus-scan add also a user named vscan, which is the user Amavis will be running under.

Postfix

Locate the postfix configuration files. These should reside in /etc/postfix on most Linux distributions (OpenBSD uses this also) or on FreeBSD you probably can locate them in /usr/local/etc/postfix

# master.cf
We'll have to create a new delivery, called virtual. The following line should do it:
   virtual   unix  -       n       n       -       -       virtual
   

If you're going to install maildrop filtering, add this line:
   maildrop  unix  -       n       n       -       -       pipe
           flags=R user=vmail argv=/usr/bin/maildrop -d ${recipient}
   

And finally the virus scanning support based on amavis needs you to change a bit more.

Find the following line:
   smtp      inet  n       -       n       -       -       smtpd
   
and change it to:
   smtp      inet  n       -       n       -       -       smtpd
       -o content_filter=vscan:
   
After that add the following lines:
   vscan     unix  -       n       n       -       10      pipe
        user=vscan argv=/usr/sbin/amavis ${sender} ${recipient}
   localhost:10025 inet n  -       n       -       -       smtpd
   

# main.cf
Here we got several changes to do. Please add the following lines (evt. changing the paths to suit your needs):

   home_mailbox = Maildir/
   
- this tells postfix to deliver Maildir-style.


   mydestination = $myhostname, $transport_maps
   
- this tells postfix, to accept mails to $myhostname (should be the hostname of your host) and mails send to any domain in the transport-table. Of course postfix also will look in the virtual-table, if that exists. Eventually you should specify $mydomain here also, but i do it in the transport-table instead. Remember, that default delivery is local, unless anything else is specified in the transport table.


   alias_maps            = mysql:/etc/postfix/mysql-aliases.cf
   relocated_maps        = mysql:/etc/postfix/mysql-relocated.cf
   transport_maps        = mysql:/etc/postfix/mysql-transport.cf
   virtual_maps          = mysql:/etc/postfix/mysql-virtual.cf
   
- here we tell postfix, where to find the tables needed for this. Every of the files mentioned has information about, how to get the needed data out of the sql database.


   local_recipient_maps  = $alias_maps $virtual_mailbox_maps unix:passwd.byname
   
- these are the methods, how postfix will deliver to local recipients

   virtual_mailbox_base  = /home/vmail
   virtual_mailbox_maps  = mysql:/etc/postfix/mysql-virtual-maps.cf
   virtual_uid_maps      = mysql:/etc/postfix/mysql-virtual-uid.cf
   virtual_gid_maps      = mysql:/etc/postfix/mysql-virtual-gid.cf
   
- and finally the information about the virtual users. As you can see, the homedir is hardcoded here, where it is stored in the database for use by Courier.


   broken_sasl_auth_clients    = yes
   smtpd_sasl_auth_enable      = yes
   smtpd_sasl_security_options = noanonymous
   
- these are for activation of sasl (smtp-auth)


   maps_rbl_domains = rbl.maps.vix.com,
                      relays.mail-abuse.org,
                      relays.ordb.org,
                      dev.null.dk,
                      spews.relays.osirusoft.com,
                      spamhaus.relays.osirusoft.com,
                      relays.visi.com
   
- if you want to check for spammers, this is an ok choice of rbl-lists to check. However it's you choice, what to use and what not


   smtpd_recipient_restrictions = permit_mynetworks,
                                  permit_sasl_authenticated,
                                  reject_maps_rbl,
                                  check_relay_domains,
                                  permit
   
- the permit_mynetworks allows your networks access no matter what, perm_sasl_authenticated is for smtp authentification, reject_maps_rbl rejects all mail from known spamsites and open relays defined by the maps_rbl_domains and the last permit allows everyone else to deliver to your site if the domain is located at your site.

Next the defintion of the mysql-queries. Note, that multiple sql-servers can be defined. This gives you the possibility for clustering. Also be careful: "127.0.0.1" is used intentionally instead of "localhost". Postfix tries to connect via socket, if you use "localhost" and that does somehow not work. By using "127.0.0.1" postfix get forced to connect by network via localhost.
Remember also to disable the "skip-networking" option in your MySQL configuration (on Debian /etc/mysql/my.cnf). It could give you trouble, if that is enabled.

# mysql-aliases.cf
   user         = mysql-postfix-user
   password     = mysql-postfix-pass
   dbname       = postfix
   table        = alias
   select_field = destination
   where_field  = alias
   hosts        = 127.0.0.1
   
# mysql-relocated.cf
   user         = mysql-postfix-user
   password     = mysql-postfix-pass
   dbname       = postfix
   table        = relocated
   select_field = destination
   where_field  = email
   hosts        = 127.0.0.1
   
# mysql-transport.cf
   user         = mysql-postfix-user
   password     = mysql-postfix-pass
   dbname       = postfix
   table        = transport
   select_field = destination
   where_field  = domain
   hosts        = 127.0.0.1
   
# mysql-virtual.cf
   user         = mysql-postfix-user
   password     = mysql-postfix-pass
   dbname       = postfix
   table        = virtual
   select_field = destination
   where_field  = email
   hosts        = 127.0.0.1
   
Now the definitions for the virtual users, providing postfix with maildir-directory, uid and gid to deliver to.

# mysql-virtual-maps.cf
   user                  = mysql-postfix-user
   password              = mysql-postfix-pass
   dbname                = postfix
   table                 = users
   select_field          = maildir
   where_field           = email
   additional_conditions = and postfix = 'y'
   hosts                 = 127.0.0.1
   
# mysql-virtual-uid.cf
   user                  = mysql-postfix-user
   password              = mysql-postfix-pass
   dbname                = postfix
   table                 = users
   select_field          = uid
   where_field           = email
   additional_conditions = and postfix = 'y'
   hosts                 = 127.0.0.1
   
mysql-virtual-gid.cf
   user                  = mysql-postfix-user
   password              = mysql-postfix-pass
   dbname                = postfix
   table                 = users
   select_field          = gid
   where_field           = email
   additional_conditions = and postfix = 'y'
   hosts                 = 127.0.0.1
   


Courier

Couriers configuration resides under /etc/courier on Debian. We'll have to edit a few of the configuration files here. I'll only mention lines to be changed. Everything else should stay in default or be changed to suit your needs # imapd

AUTHMODULES="authdaemon"
- we want all authentification handled by the authdaemon


IMAP_CAPABILITY="IMAP4rev1 CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT AUTH=CRAM-MD5 AUTH=CRAM-SHA1 IDLE"
- this tells the IMAP daemon about the stuff it can handle. Change it to suit your needs, however note the AUTH= parameters, which enable CRAM-MD5 and CRAM-SHA1 authentification.


IMAPDSTART=YES
- this has to be yes, if you want the IMAP daemon to start.


# pop3d

AUTHMODULES="authdaemon"
- also here we want the authdaemon to handle the authentification.


POP3AUTH="LOGIN CRAM-MD5 CRAM-SHA1"
- and also here we want to provide CRAM-MD5 and CRAM-SHA1 challenging methods.


POP3DSTART=YES
- this has to be yes, if you want the POP3 daemon to start.


# authdaemonrc
authmodulelist="authmysql authpam"
- we specify authmysql for mysql authenfication and if you want to authentificate local users also, you can, like here, specify authpam or authshadow also. All types will be checked in that order you provide them.


# authmysqlrc

   MYSQL_SERVER            localhost
   MYSQL_USERNAME          mysql-postfix-user
   MYSQL_PASSWORD          mysql-postfix-pass
   MYSQL_PORT              0
   MYSQL_OPT               0
   MYSQL_DATABASE          postfix
   MYSQL_USER_TABLE        users
   
   MYSQL_LOGIN_FIELD       email
   MYSQL_CLEAR_PWFIELD     clear
   MYSQL_UID_FIELD         uid
   MYSQL_GID_FIELD         gid
   MYSQL_HOME_FIELD        homedir
   MYSQL_MAILDIR_FIELD     maildir
   
- here we specify the access to the database for both pop3 and imap, actually even sqWebMail, if you want to use that. sqWebMail is a Webmail-Solution, which also is in the Courier Project. It works quite well and is pretty fast, since it accesses the maildirs directly and is written in C. It uses the same authdaemon and can easily be customized, since it uses templates.

Here are some other options, which might be of your interest:

MYSQL_SOCKET          /var/mysql/mysql.sock
- this gives you the possibility to use a local socket instead of an ip connnection.


MYSQL_CRYPT_PWFIELD     crypt
- if you rather want to store your passwords encryptet, use this. Remember to change the database and be aware of that you cannot use CRAM-MD5 encryption with allready encrypted passwords. Also keep in mind, that you have to use the crypt() function and not the password() function in mysql to encrypt passwords.


MYSQL_NAME_FIELD        name
- as mentioned before this is only of informational purpose and optional. Use it, if you want.


MYSQL_QUOTA_FIELD       quota
- -- needs documentation --


SASL library

yep .... you saw right, this baby also needs a bit configuration :)

The configuration file needed is /usr/local/lib/sasl/smtpd.conf or on Debian /usr/lib/sasl/smtpd.conf and contains the following:
   pwcheck_method: PAM
   
That should cover it.

PAM-MySQL

Most Linux Distributions have this file at /etc/pam.d/smtp, however you can also use other services with pam-mysql authentification. This is only the example, how to do it for postfix with smtp-auth.

# smtp
   auth     optional       pam_mysql.so server=localhost db=postfix user=mysql-postfix-user
     passwd=mysql-postfix-pass table=users usercolumn=email passwdcolumn=clear crypt=n
   account  required       pam_mysql.so server=localhost db=postfix user=mysql-postfix-user
     passwd=mysql-postfix-pass table=users usercolumn=email passwdcolumn=clear crypt=n
   
As you can see, also here you'll be able to change to having the passwords encryptet. I haven't tried it, but since smtp-auth also sends encryptet passwords, i'm not sure, it'll work with encryptet passwords in this case.
相关文章 热门文章
  • 华科人 张小龙 (中国第二代程序员 QQ邮箱 Foxmail)
  • 微软推出新功能 提高Hotmail密码安全性
  • Hotmail新功能:“我的朋友可能被黑了”
  • 如何在iPhone/iPod touch/iPad邮件应用程序Mail中使用QQ邮箱Exchange移动终端同步服务?
  • 谷歌已着手整合数项Gmail/Google+功能
  • 新型电子邮件服务Shortmail获75万美元种子资金
  • Gmail事件启示:特大规模云计算不见得是好事
  • 恶意入侵者利用Gmail等发起精准性攻击
  • 谷歌禁止13岁以下儿童使用Gmail邮箱
  • Gmail推出可切换的多种收件箱模式
  • 谷歌确认已重新设计Gmail和Calendar日历服务
  • 继gmail之后谷歌购买并新注多个邮件域
  • LINUX下邮件服务器完全解决方案(英)
  • Microsoft Exchange Server应用案例
  • 建立大容量Web界面的Email系统
  • 电子邮件运营支撑平台解决方案
  • 浪潮中小企业邮件服务器方案
  • CSmail邮件系统内外网安全隔离解决方案
  • NEC存储服务器大学邮件系统成功案例
  • 中软Linux邮件系统解决方案
  • 一个适合ISP使用的Mail方案全英文
  • 中小企业如何有效架设邮件服务系统
  • 构建开放的企业邮件系统
  • 方正圆明FoundMail企业邮件解决方案
  • 自由广告区
     
    最新软件下载
  • SharePoint Server 2010 部署文档
  • Exchange 2010 RTM升级至SP1 教程
  • Exchange 2010 OWA下RBAC实现的组功能...
  • Lync Server 2010 Standard Edition 标..
  • Lync Server 2010 Enterprise Edition...
  • Forefront Endpoint Protection 2010 ...
  • Lync Server 2010 Edge 服务器部署文档
  • 《Exchange 2003专家指南》
  • Mastering Hyper-V Deployment
  • Windows Server 2008 R2 Hyper-V
  • Microsoft Lync Server 2010 Unleashed
  • Windows Server 2008 R2 Unleashed
  • 今日邮件技术文章
  • 腾讯,在创新中演绎互联网“进化论”
  • 华科人 张小龙 (中国第二代程序员 QQ...
  • 微软推出新功能 提高Hotmail密码安全性
  • 快压技巧分享:秒传邮件超大附件
  • 不容忽视的邮件营销数据分析过程中的算..
  • 国内手机邮箱的现状与未来发展——访尚..
  • 易观数据:2011Q2中国手机邮箱市场收入..
  • 穿越时空的爱恋 QQ邮箱音视频及贺卡邮件
  • Hotmail新功能:“我的朋友可能被黑了”
  • 入侵邻居网络发骚扰邮件 美国男子被重..
  • 网易邮箱莫子睿:《非你莫属》招聘多过..
  • 中国电信推广189邮箱绿色账单
  • 最新专题
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • Apache James 专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2010 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号