⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 基于freebsd和postfix的邮件系统与邮件列表的web mail安装 linuxsir_org.htm

📁 linuxSir 网站的精华文章
💻 HTM
📖 第 1 页 / 共 5 页
字号:
      <P>
      <DIV class=codeblock><CODE>smtpd_helo_required = 
      yes<BR>strict_rfc821_envelopes = yes<BR>smtpd_etrn_restrictions = 
      permit_mynetworks, 
      reject<BR>#=====================BASE=====================<BR>myhostname = 
      mail.toping.net<BR>mydomain = toping.net<BR>mydestination = 
      $myhostname<BR>local_recipient_maps =<BR>command_directory = 
      /usr/local/sbin<BR>local_transport = 
      virtual<BR>#=====================MySQL=====================<BR>virtual_alias_maps 
      = 
      mysql:/usr/local/etc/postfix/mysql_virtual_alias_maps.cf<BR>virtual_gid_maps 
      = static:125<BR>virtual_mailbox_base = /<BR>virtual_mailbox_domains = 
      mysql:/usr/local/etc/postfix/mysql_virtual_domains_maps.cf<BR>virtual_mailbox_limit 
      = 51200000<BR>virtual_mailbox_maps = 
      mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf<BR>virtual_minimum_uid 
      = 125<BR>virtual_transport = virtual<BR>virtual_uid_maps = 
      static:125<BR>#=====================Quota=====================<BR>virtual_create_maildirsize 
      = yes<BR>virtual_mailbox_extended = yes<BR>virtual_mailbox_limit_maps = 
      mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_limit_maps.cf<BR>virtual_mailbox_limit_override 
      = yes<BR>virtual_maildir_limit_message = Sorry, the user's maildir has 
      overdrawn his diskspace quota, please try again 
      later.<BR>virtual_overquota_bounce = 
      yes<BR>#====================SASL=====================<BR>smtpd_sasl_auth_enable 
      = yes<BR>smtpd_sasl_security_options = 
      noanonymous<BR>broken_sasl_auth_clients = 
      yes<BR>smtpd_delay_reject=yes<BR>smtpd_recipient_restrictions = 
      permit_mynetworks,permit_sasl_authenticated,permit_auth_destination,reject<BR>smtpd_client_restrictions 
      = permit_sasl_authenticated</CODE></DIV>
      <P></P>
      <P>更详细的参数设置请看论坛:</P>
      <P>http://www.toping.net/bbs/htm_data/7/0601/871.html</P>
      <P>(4)编辑/usr/local/etc/postfix/mysql_virtual_alias_maps.cf<BR>
      <DIV class=codeblock><CODE>mail# ee 
      /usr/local/etc/postfix/mysql_virtual_alias_maps.cf</CODE></DIV>
      <P></P>
      <P>
      <DIV class=codeblock><CODE>user = postfix<BR>password = postfix<BR>hosts = 
      localhost<BR>dbname = postfix<BR>query = SELECT alias FROM userinfo WHERE 
      address='%s' AND active = 1</CODE></DIV>
      <P></P>
      <P>(5)编辑/usr/local/etc/postfix/mysql_virtual_domains_maps.cf</P>
      <P>
      <DIV class=codeblock><CODE>mail# ee 
      /usr/local/etc/postfix/mysql_virtual_domains_maps.cf</CODE></DIV>
      <P></P>
      <P>
      <DIV class=codeblock><CODE>user = postfix<BR>password = postfix<BR>hosts = 
      localhost<BR>dbname = postfix<BR>query = SELECT domain FROM domaininfo 
      WHERE domain='%s'</CODE></DIV>
      <P></P>
      <P>(6)编辑/usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf</P>
      <P>
      <DIV class=codeblock><CODE>mail# ee 
      /usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf</CODE></DIV>
      <P></P>
      <P>
      <DIV class=codeblock><CODE>user = postfix<BR>password = postfix<BR>hosts = 
      localhost<BR>dbname = postfix<BR>query = SELECT maildir FROM userinfo 
      WHERE address='%s' AND active = 1</CODE></DIV>
      <P></P>
      <P>(7)编辑/usr/local/etc/postfix/mysql_virtual_mailbox_limit_maps.cf</P>
      <P>
      <DIV class=codeblock><CODE>mail# ee 
      /usr/local/etc/postfix/mysql_virtual_mailbox_limit_maps.cf</CODE></DIV>
      <P></P>
      <P>
      <DIV class=codeblock><CODE>user = postfix<BR>password = postfix<BR>hosts = 
      localhost<BR>dbname = postfix<BR>query = SELECT quota FROM userinfo WHERE 
      address='%s'</CODE></DIV>
      <P></P>
      <P><FONT id=2.3 size=3><B><BR>2.3 配置Courier-imap<BR></B></FONT></P>
      <P>(1)修改Courier相关设置,/usr/local/etc/courier-imap/imapd:</P>
      <P>
      <DIV class=codeblock><CODE>IMAP_CAPABILITY="IMAP4rev1 CHILDREN NAMESPACE 
      THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA"</CODE></DIV>
      <P></P>
      <P>(2)修改/usr/local/etc/courier-imap/pop3d</P>
      <P>
      <DIV class=codeblock><CODE>POP3AUTH="LOGIN CRAM-MD5 
CRAM-SHA1"</CODE></DIV>
      <P></P>
      <P>(3)编辑修改/usr/local/etc/authlib/authmysqlrc</P>
      <P>
      <DIV class=codeblock><CODE>mail# mv /usr/local/etc/authlib/authmysqlrc 
      /usr/local/etc/authlib/authmysqlrc_bak<BR>mail# ee 
      /usr/local/etc/authlib/authmysqlrc</CODE></DIV>
      <P></P>
      <P>
      <DIV class=codeblock><CODE>MYSQL_SERVER localhost 
      //数据库主机地址<BR>MYSQL_USERNAME postfix //数据库用户名<BR>MYSQL_PASSWORD postfix 
      //数据库密码<BR>MYSQL_PORT 0<BR>MYSQL_OPT 0<BR>MYSQL_DATABASE postfix 
      //数据库名称<BR>MYSQL_USER_TABLE userinfo<BR>MYSQL_CRYPT_PWFIELD 
      passwd<BR>MYSQL_UID_FIELD '125'<BR>MYSQL_GID_FIELD 
      '125'<BR>MYSQL_LOGIN_FIELD address<BR>MYSQL_HOME_FIELD 
      homedir<BR>MYSQL_NAME_FIELD realname<BR>MYSQL_MAILDIR_FIELD 
      maildir<BR>MYSQL_QUOTA_FIELD quota</CODE></DIV>
      <P></P>
      <P><B>注:</B>这里得用tab键来跳格</P>
      <P>(4)编辑/usr/local/etc/authlib/authdaemonrc</P>
      <P>
      <DIV class=codeblock><CODE>mail# mv /usr/local/etc/authlib/authdaemonrc 
      /usr/local/etc/authlib/authdaemonrc_bak<BR>mail# ee 
      /usr/local/etc/authlib/authdaemonrc</CODE></DIV>
      <P></P>
      <P>
      <DIV 
      class=codeblock><CODE>authmodulelist="authmysql"<BR>authmodulelistorig="authmysql"<BR>version="authdaemond.mysql"<BR>daemons=5<BR>authdaemonvar=/var/run/authdaemond<BR>subsystem=mail<BR>DEBUG_LOGIN=0<BR>DEFAULTOPTIONS="wbnodsn=1"</CODE></DIV>
      <P></P>
      <P>重启服务器</P>
      <P>3、手动设置第一个用户并测试 </P>
      <P>本章介绍如何开通用户,并且测试系统是否正常。</P>
      <P><B>注:</B>增加用户时请到这里生成加密后的密码后直接插入到数据库中就可以了。</P>
      <P>http://www.toping.net/soft<BR>
      <DIV class=codeblock><CODE>mail# mysql<BR>mysql&gt; use 
      postfix;<BR>mysql&gt; show tables;<BR>+-------------------+<BR>| 
      Tables_in_postfix |<BR>+-------------------+<BR>| address |<BR>| admin 
      |<BR>| card |<BR>| domaininfo |<BR>| lastauth |<BR>| logs |<BR>| message 
      |<BR>| personal |<BR>| scheduler |<BR>| stow |<BR>| userinfo |<BR>| 
      vpopmail |<BR>+-------------------+<BR>12 rows in set (0.00 
      sec)</CODE></DIV>
      <P></P>
      <P>增加域名和管理员</P>
      <P>
      <DIV class=codeblock><CODE>mysql&gt; desc 
      domaininfo;<BR>+-------------+-------------+------+-----+------------+----------------+<BR>| 
      Field | Type | Null | Key | Default | Extra 
      |<BR>+-------------+-------------+------+-----+------------+----------------+<BR>| 
      domain_id | int(5) | | PRI | NULL | auto_increment |<BR>| domain | 
      varchar(25) | | UNI | | |<BR>| alias | varchar(30) | YES | | NULL | |<BR>| 
      passwd | varchar(35) | | | | |<BR>| usernum | int(5) | | | 0 | |<BR>| 
      quota | int(11) | | | 0 | |<BR>| des | varchar(30) | YES | | NULL | |<BR>| 
      expire | date | | | 0000-00-00 | |<BR>| active | tinyint(1) | | | 1 | 
      |<BR>| create_time | datetime | YES | | NULL | 
      |<BR>+-------------+-------------+------+-----+------------+----------------+<BR>10 
      rows in set (0.00 sec)<BR>mysql&gt; INSERT INTO `domaininfo` VALUES (7, 
      'toping.net', NULL, '$1$jNXThQXq$KPjm.WE2f2yX5rceY48vX. ', 50, 500, NULL, 
      '0000-00-00', 1, '2005-04-19 23:19:11');<BR>Query OK, 1 row affected (0.00 
      sec)</CODE></DIV>
      <P></P>
      <P><B>注:</B>这里的toping.net的管理密码为:admin123</P>
      <P>
      <DIV class=codeblock><CODE>mysql&gt; desc 
      userinfo;<BR>+-------------+-------------+------+-----+---------------------+----------------+<BR>| 
      Field | Type | Null | Key | Default | Extra 
      |<BR>+-------------+-------------+------+-----+---------------------+----------------+<BR>| 
      id | int(11) | | PRI | NULL | auto_increment |<BR>| userid | varchar(20) | 
      | | | |<BR>| domain_id | int(5) | | | 0 | |<BR>| address | varchar(50) | | 
      UNI | | |<BR>| alias | varchar(60) | YES | | NULL | |<BR>| passwd | 
      varchar(35) | | | | |<BR>| realname | varchar(20) | YES | | NULL | |<BR>| 
      quota | int(11) | | | 0 | |<BR>| active | tinyint(1) | | | 0 | |<BR>| 
      homedir | varchar(60) | | | | |<BR>| maildir | varchar(60) | | | | |<BR>| 
      create_time | datetime | | | 0000-00-00 00:00:00 | |<BR>| fax | 
      varchar(20) | | | | |<BR>| telephone | varchar(15) | | | | |<BR>| sex | 
      int(1) | | | 0 | |<BR>| year | int(4) | | | 0 | |<BR>| MONTH | int(2) | | 
      | 0 | |<BR>| DAY | int(2) | | | 0 | |<BR>| education | varchar(4) | | | | 
      |<BR>| marital | int(1) | | | 0 | |<BR>| occupation | varchar(15) | | | | 
      |<BR>| companyname | varchar(30) | | | | |<BR>| province | varchar(6) | | 
      | | 
      |<BR>+-------------+-------------+------+-----+---------------------+----------------+<BR>23 
      rows in set (0.00 sec) <BR>mysql&gt; INSERT INTO `userinfo` VALUES (8, 
      'webmaster', 7, 'webmaster@toping.net', 
      NULL,'$1$4DLQeNkz$QKCAQqg244XwvLl2SD11f0', 'webmaster', 209715200, 1, 
      '/var/mail/toping.net/webmaster/', 
      '/var/mail/toping.net/webmaster/Maildir/', '2005-04-20 23:45:17', '', '', 
      0, 0, 0, 0, '', 0, '', '', '');</CODE></DIV>
      <P></P>
      <P><B>注:</B>这里的webmaster用户的邮箱密码为:000000</P>
      <P>
      <DIV class=codeblock><CODE>mysql&gt;quit</CODE></DIV>
      <P></P>
      <P>设置用户的目录与权限:</P>
      <P>
      <DIV class=codeblock><CODE>Mail# mkdir -p 
      /var/mail/toping.net/webmaster<BR>Mail# /usr/local/bin/maildirmake 
      /var/mail/toping.net/webmaster/Maildir<BR>Mail# chmod -R 777 
      /var/mail/toping.net/<BR>Mail# chown -R postfix:postfix 
      /var/mail/toping.net</CODE></DIV>
      <P></P>
      <P>至此用户设置完毕,这里只使用一个域名,同理可以设置多个域名。</P>
      <P><FONT id=4 size=4><B><BR>4、安装postfix管理工具<BR></B></FONT></P>
      <P>本节主要介绍如何安装和使用postfix管理工具。</P>
      <P><FONT id=4.1 size=3><B><BR>4.1 
      安装postfix管理工具来设置第一个域名和用户<BR></B></FONT></P>
      <P>上传管理工具到网站目录</P>
      <P>后修改include/config.inc.php中的<BR>
      <DIV 
      class=codeblock><CODE>define(DOMAINSDIR,"/home/vmail");  为  define(DOMAINSDIR,"/var/mail");<BR>define(MYSQL_HOST, 
      'localhost'); 为  您的MySQL服务器的主机名<BR>define(MYSQL_USER, 
      'root');     为  您的MySQL的用户名<BR>define(MYSQL_PASS, 
      'mypasswd');   为  您的MySQL的密码<BR>define(MYSQL_DATA, 'postfix');    
      为  您的邮件服务器的数据库</CODE></DIV>
      <P></P>
      <P>修改完成后运行: http://mail.toping.net/webadmin/index.php</P>
      <P>完装完成!!</P>
      <P><FONT id=4.2 size=3><B><BR>4.2 用户登录测试<BR></B></FONT></P>
      <P>用户登录测试</P>
      <P>安装p5-MIME-Base64</P>
      <P>
      <DIV class=codeblock><CODE>mail# cd 
      /usr/ports/converters/p5-MIME-Base64/<BR>mail# make install 
      clean</CODE></DIV>
      <P></P>
      <P>通过p5-MIME-Base64来取得用户名和密码的base64编码</P>
      <P>
      <DIV class=codeblock><CODE>mail# perl -MMIME::Base64 -e 'print 
      encode_base64("webmaster\@toping.net");'<BR>d2VibWFzdGVyQHRvcGluZy5uZXQ=<BR>mail# 
      perl -MMIME::Base64 -e 'print 
      encode_base64("000000");'<BR>MDAwMDAw</CODE></DIV>
      <P></P>
      <P>测试发送邮件(端口:25):</P>
      <P>
      <DIV class=codeblock><CODE>mail# telnet 127.0.0.1 25<BR>Trying 
      127.0.0.1...<BR>Connected to 0.<BR>Escape character is '^]'.<BR>220 
      mail.toping.net ESMTP Postfix<BR>ehlo 
      mail<BR>250-mail.toping.net<BR>250-PIPELINING<BR>250-SIZE 
      4194304<BR>250-VRFY<BR>250-ETRN<BR>250-AUTH NTLM LOGIN PLAIN 
      OTP<BR>250-AUTH=NTLM LOGIN PLAIN OTP<BR>250 8BITMIME<BR>auth login<BR>334 
      VXNlcm5hbWU6<BR>d2VibWFzdGVyQHRvcGluZy5uZXQ= 
      //此为用户名id:webmaster@toping.net<BR>334 UGFzc3dvcmQ6<BR>MDAwMDAw 
      //此为用户密码password:000000<BR>235 Authentication successful<BR>MAIL 
      FROM:&lt;webmaster@toping.net&gt; //告诉服务器发件人的Email地址<BR>250 Ok<BR>RCPT 
      TO:&lt;webmaster@toping.net&gt; //告诉服务器收件人的地址<BR>250 OK<BR>DATA 
      //告诉服务器开始写信<BR>354 End data with 
      &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;<BR>SUBJECT:test 
      //subject后面填写的是邮件的主题<BR>test<BR>. //换行后输入.后按回车,表示信件内容书写完毕<BR>250 Ok: 
      queued as 58DC71D5<BR>quit //发送信件,结束对话,退出SMTP服务器<BR>221 Bye<BR>Connection 
      closed by foreign host</CODE></DIV>
      <P></P>
      <P>测试收取邮件(端口:110):</P>
      <P>
      <DIV class=codeblock><CODE>mail# telnet 127.0.0.1 110<BR>Trying 
      127.0.0.1...<BR>Connected to 0<BR>Escape character is '^]'<BR>+OK Hello 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -