通过vpopmail实现qmail邮件账户的数据库管理

Centos 安装 qmail+vpopmail 一.安装环境 1.检测是否安装C编译 yum install gcc 2.先安装好  php mysql named yum install mysql-server mysql-devel bind* [自行配置好DNS服务器] 3.关闭SELINUX; .... 立即下载

通过vpopmail实现qmail邮件账户的数据库管理

LinuxAid.com.cn  ideal

〖 返回〗〖转发〗

通过vpopmail实现qmail邮件账户的数据库管理

    摘要:本文在“qmail使用系统用户作为邮件账户的安装与配置”一文的基础上讨论如何通过vpopmail实现qmail邮件账户与系统账户分离,邮件账户存放在数据库文件中的解决方案。

    硬件环境:HP Netserver E60 128M内存 单网卡

    软件环境:redhat6.2 vpopmail4.9.4 qmail1.3 Mysql-3.23.22-beta ucspi-tcp-0.88

前言
1、mysql安装
2、vpopmail安装过程
3、vpopmail的详细配置选项
4、Qmail和虚拟域
5、笔者安装过程

前言
    在一台邮件服务器的上实现多个域的邮件系统是qmail用户非常关心的问题之一,为了解决这个问题,Inter7开发了遵从GPL版权的vpopmail(vchkpw)来使用户方便地在一台qmail邮件服务器上实现邮件虚拟域和非系统账号。其具有一下特点:

    ●所有的qmail配置及数据文件都提供了具有详细说明的修改的命令。 
    ●仅仅占用一个系统账号,所有的相关进程运行在单个UID/GID之下。
●支持基于named和IP的虚拟域。安全的使用NFS之上。
●通过使用三级平衡树填充技术实现动态的为十个到一千万用户创建邮件目录。
●根据真实世界的管理需求提供了可配置的记录功能。
●支持Oracle, Sybase, Mysql, LDAP, /etc/passwd, /etc/shadow和缺省的cdb用户认证信息存储方式。 
●直接传递数据到Maildir,来和qmail-pop3d, .qmail文件或其他任何Maildir程序。 
●不需要为虚拟域提供很多.qmail文件,每个域在vpopmail用户主目录下拥有自己的目录,每个域有独立的密码文件。 
    ●详细说明的命令程序能被用在脚本文件及远程管理。 
    ●所有的vpopmail特性的C库都有详细的说明文档。 

    而且提供了下面的软件包来增强qmail+vpopmail的特性:

    ●QmailAdmin 基于web的vpopmail管理工具。 
    ●vqsignup一个基于vpopmail管理工具的cgi程序,其允许用户自己申请email账号。 
    ●Courier IMAP IMAP服务器。 
    ●SqWebMail 基于web的email客户程序。 

1、Mysql的安装;

    笔者使用的rpm包方式的源代码,因此首先要解开rpm包:

    [root@radiusd ideal]# rpm -ivh MySQL-3.23.22-1.src.rpm
    MySQL ##################################################
然后:
    [root@radiusd ideal]# cd /usr/src/redhat/SOURCES/
    [root@radiusd SOURCES]# ls -al
    total 6432
    drwxr-xr-x 2 root root 4096 Oct 29 14:07 .
    drwxr-xr-x 7 root root 4096 Oct 30 2000 ..
    -rw-r--r-- 1 root root 6560696 Jul 30 11:23 mysql-3.23.22-beta.tar.gz
    -rw-rw-r-- 1 root root 3082 Jul 30 11:23 mysql.gif
    [root@radiusd SOURCES]# tar xvgz mysql-3.23.22-beta.tar.gz

    解压源代码包,就会在当前目录下生成mysql-3.23.22-beta的子目录,其中包含了mysql的源代码,然后使用下面的命令进行安装:

     ./configure
     make
     make install
     scripts/mysql_install_db

    就实现了Mysql数据库服务器安装,其中启动mysql服务器的命令为:

    /usr/local/mysql/bin/safe_mysqld &

    现在就实现了mysql数据库服务器的安装和运行,下面我们应当设立基本的用户权限信息。缺省的,mysql拥有一个缺省的具有对数据库完全访问可控制的用户,名字为root,所以首先应当为该用户添加访问密码:

    [root@radiusd src]# mysql -u root mysql
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 183 to server version: 3.23.22-beta
    Type 'help' for help.
    mysql>
    
    这样就进入了mysql服务器的客户程序,然后发出sql语句命令:
    
    UPDATE user SET Password = PASSWORD ('new_password') WHERE user = 'root';
    FLUSH PRIVILEGES;

    这里的new_password是为mysql的root用户设立的密码。但是一般推荐再创建一个权限和root完全相同的用户,命令如下:

    INSERT INTO user
    VALUES ('host','user','passwd',
    'y','y','y','y','y','y','y','y','y','y','y','y','y','y');

    一般,mysql与icradius服务器都是运行在同一个服务器上,这时候,host为localhost,若你的icradius服务器运行在另外一台服务器上,则你需要在这里设定host为你的icradius服务器的名字。用户为你设定的用户名,密码为该用户的密码。

2、vpopmail的安装过程
    1、解压软件包:

    [root@www src]# tar xvfz vpopmail-4.9.4.tar.gz

    2、添加必需的组和用户:

    [root@www vpopmail-4.9.4]# /usr/sbin/groupadd vchkpw
    [root@www vpopmail-4.9.4]# /usr/sbin/useradd -g vchkpw vpopmail 

    若希望将vpopmail用户的主目录存放在其他目录,则需要使用下面的命令:

    [root@www vpopmail-4.9.4]# /usr/sbin/useradd -g vchkpw -d /path/to/where/you/want vpopmail 
    
    3、创建~vpopmail/etc/tcp.smtp文件

    若你具有192.168.0的一个c类地址,则在该文件中应该包含内容:

    127.0.0.:allow,RELAYCLIENT=""
    10.1.1.:allow,RELAYCLIENT=""
    :allow

    若具有多个C地址,则需要在文件中分别包含对应各个C的地址的条目。

    4、配置编译vpopmail:

    [root@www vpopmail-4.9.4]# ./configure
    [root@www vpopmail-4.9.4]# make
    [root@www vpopmail-4.9.4]# make install-strip

    5、支持漫游用户

    若希望支持漫游用户通过邮件服务器的转发邮件(mail relay),则需要使用如下配置选项:

    [root@www vpopmail-4.9.4]# ./configure --enable-roaming-users=y

    设置crontab,运行:

    [root@www etc]# crontab -e

    添加如下内容:
    40 * * * * /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null

    支持漫游用户的原理是当某个漫游用户使用pop3取信以后,则在某断时间内允许该地址通过邮件服务器的转发信件。

    6、添加虚拟域

    [root@www /]# cd /home/vpopmail/bin
    [root@www /]# ./vadddomain test.com
    或:
    [root@www /]# ./vadddomain test.com password-for-postmaster

    该命令将会修改一下几个qmail的配置文件:

    /var/qmail/control/locals
    /var/qmail/control/rcpthosts
    /var/qmail/control/morercpthosts (if rcpthosts > than 50 lines)
    /var/qmail/control/virtualdomains
    /var/qmail/users/assign
    /var/qmail/users/cdb
    
    同时,将创建以下目录或文件:
    
    ~vpopmail/domains/test.com
    ~vpopmail/domains/test.com/postmaster/Maildir ...
    ~vpopmail/domains/test.com/vpasswd
    ~vpopmail/domains/test.com/vpasswd.cdb

    然后需要重新启动qmail进程来更新配置:
    /etc/rc.d/init.d/qmailstartup restart

    6、添加新的邮件POP用户

    [root@www /]# cd /home/vpopmail/bin/
    [root@www bin/]#./vadduser newuser@test.com
    or
    注[root@www bin/]]#./vadduser newuser@test.com <password-for-newuser>

    在这种情况下,用户邮件域需要被指定test.com,这个用户被添加到                          
    ~vpopmail/domains/test.com。

    7、删除邮件pop用户

    [root@www bin/]]# /home/vpopmail/bin/vdeluser newuser@test.com

    8、修改一个POP用户密码:

    [root@www bin/]]# /home/vpopmail/bin/vpasswd newuser@test.com

    9、结合vchkpw与qmail-pop3d

    当使用vpopmail时,则需要将pop的运行脚本run修改为:

    #!/bin/sh

    exec /usr/local/bin/tcpserver -v -H -R 0 pop-3 -u vpopmail -g 
    vchkpw /var/qmail/bin/qmail-popup   
    domain1.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d 
    Maildir 2
    >&1 | 
    /var/qmail/bin/splogger pop3d

    注:从exec到"| "都是同一行的内容。

3、vpopmail的详细配置选项
    --enable-roaming-users=n|y 
    当pop3认证通过以后,是否打开对该用户的邮件转发(mail relay),缺省是关闭的。若设置该方法为yes,则当某个用户通过了pop3认证,则将其ip地址加入许通过该邮件服务器的进行邮件relay的列表中。一个名为clearopensmtp的cronjob程序可以用来实现在一段时间以后从允许转发邮件地址列表中将该ip地址去除。这个选项要求以-x /etc/tcp.smtp.cdb选项来使用tcpserver运行smtp服务器。 
    --enable-hardquota=#|n
    设置或打开磁盘限额,NOQUOTA为没有限制为没有邮件账号设置磁盘限额,缺省为50M,这里=后面的数字单位为字节,也就是为了限制磁盘限额为10M就需要使用配置参数:
    --enable-hardquota=10000000。
    若磁盘限额超出,则将拒绝接收该用户的新邮件,并返回一封拒绝信息信件,其中的信息可以定制。 
    --enable-default-domain=name 设定缺省域名
    推荐将所有的域都设置为虚拟域,并且挑选一个作为缺省域。对于缺省域的用户,其通过接收邮件时,只需要在用户名中设置其邮件用户名即可,而对于其他非缺省用户,则需要将用户名设置为 <user>%<virtualdomain>的格式才能通过pop3收取信件。 
    --enable-ip-alias-domains=y|n 
    允许通过反向解析来察看虚拟域.缺省情况下,每个域使用基于虚拟域的名字,也就是用户必需在pop用户名中提供相应的域信息,也就是<user>%<virtualdomain>。
    当然可以是用enable-default-domain配置选项来覆盖该要求。Vpopmail同样支持基于IP地址的虚拟域,若该选项打开则用户不需要在pop用户名中提供
%<virtualdomain>,则vpopmai自动对用户连接的服务器的IP地址进行反向解析,若解析得到一个域名,则vpopmail使用该名字作为域,例如:
    IP w.x.y.z 对应于域名test.com,用户设置pop服务器的IP地址为w.x.y.z,然后连接pop服务器,vpopmail1得到连接请求,并察看连接的服务器端的IP,然后进行反向DNS查询,得到test.com的域名,用户使用joe作为pop用户名,vpopmail使用test.com。 
    --enable-relay-clear-minutes=360 允许漫游用户通过邮件服务器的转发邮件的时间段。
    若--enable-roamin-users=y,则该选项设置clearopensmtp应该保持该IP在允许列表中的时间,缺省是3小时。 

    Mysql options
    --enable-mysql=n|y 使用mysql,缺省是no.允许通过将账号存放在mysql数据库中来认证用户。 
   意:在配置和编译以前需要修改文件vmysql.h,正确的设置mysql服务器的name/ip, mysql用户和mysql用户密码。该用户必需要拥有创建数据库和在其中创建表格的权限。 
    --enable-sqlincdir= sql头文件的目录,缺省为/usr/local/mysql.
    --enable-sqllibdir=/usr/lib/mysql 库文件libmysqlclient.a的目录,缺省为/usr/lib/mysql
    --enable-sqllibs=mysqlclient mysql库名,缺省为libmysqlclient.a.
    --enable-large-site=n|y 缺省值为no,使用该选项是为了适应大量用户的情况。
    缺省的vpopmail将所有的域信息存放在同一个table-vpopmail中,这对于一般情况下具有很好的效率。但是对于大量用户的系统,则需要将该选项设置为yes。这时候,vpoomail将为每个域创建一个table。最主要的区别是域名不存放在数据库中,因为表格包含了域名。对于大于500,000+的用户,这可以节省大量的磁盘空间。但是对于有大量虚拟域的系统可能会影响mysql的性能。 
    
    Vpasswd/cdb options
    --enable-ucspi-dir=dir 编译好ucspi包的目录位置
    使用该目录来设定ucspi-tcp软件包的路径,缺省为../ucspi-tcp-0.84。vpopmail需要使用该目录中的头文件和两个.a文件。 

    Logging options
    --enable-logging=e|y|n 打开(y)或关闭(n)使用syslog进行log,或e仅仅log错误信息。
    设置log级别,缺省仅仅记录pop认证错误信息。 
    --enable-log-name=vpopmail 设置log名

    User/group options
    --enable-vpopuser=vpopmail
    若使用其他的用户来安装该软件包,则在该选项中指定组名。 
    --enable-vpopgroup=vchkpw
    若使用其他的组来安装该软件包,则在该选项中指定组名。 
    --enable-admin-email=email-address 系统管理员的电子邮件地址。

    Directory and file location options
    --enable-tcpserver-file=/etc/tcp.smtp tcpserver -x使用的邮件转发配置文件的存放目录,缺省为/etc
    --enable-qmaildir=dir qmail的安装目录指定,缺省为/var/qmail。
    --enable-tcprules-prog=/usr/local/bin/tcprules tcprules程序的安装位置,缺省为/usr/local/bin
    --enable-apop-file=/etc/apop-secrets apop密钥存放目录

    Other options
    --enable-apop=y|n 允许或禁止apop认证,缺省是yes
    --enable-passwd=y|n 允许或禁止/etc/passwd(或shadow)认证。
    覆盖自动配置,缺省的配置程序将自动检测系统是使用passwd或shadow密码,通过设置该选项为no,可以禁止所有的/etc/passwd账号认证。 
  
4、Qmail和虚拟域
    Qmail对于邮件域有"local"和"virtual"的概念。local域是实现匹配/etc/passwd账号;而虚拟域则匹配于罗列在qmail的控制文件"virtualdomains"的各个域。Vpopmail则利用qmail的users/assign和virtualdomains文件。users/assign文件(该文件的含义可以参考Life with qmail中的qmail-users 3.6的说明)被编译为users/cdb的形式,它是一个哈希数据库来加快查找速度。若任意一个模式得到匹配,则qmail使用文件中定义的uid和gid传送该邮件到文件中定义的目录。Vpopmail利用该方法来实现使qmail以单一的vpopmail/vchkpw身份来传输所有的虚拟域的邮件,从而实现将邮件传输到vpopmail/domains/<virtualdomain>目录下的不同用户。

    对于qmail来说,qmail-local程序一旦从users/assign得到相关信息,则其进行标准的.qmail文件操作。一般来说,.qmail-<user>文件被用来完成邮件转发、别名或调用其他程序如ezmlm等。若没有找到匹配,则qmail-local查找.qmail-default文件,这是qmail-local邮件投递机制中最后一步。 Vpopmail利用该文件来调激活vdelivermail 程序,该程序以两个参数被调用,第一个当前没有作用,主要是用作向后兼容的;第二个参数是用来在一个虚拟域用户没有被找到时的缺省投递,一般来说,缺省投递可以是将邮件投递到某个目录或某个邮件地址或返回无此用户的返回信件。

5、笔者安装过程
    笔者是在安装成功了真实用户qmail系统的基础上进一步实现将账号存放在mysql数据库中。这里支持漫游用户,用户磁盘限额为10M,系统具有多个域:domain1.com和domain2.com,并且这两个域是完全等同的,即:用户一旦拥有了系统信箱,将拥同时有usr1@domain1.com和usr2@domain2.com两个地址。笔者的mysql服务器按照缺省配置已经安装成功,运行正常。并且将所有的邮件账号都放进虚拟域中,不允许通过/etc/passwd进行认证。

    第一步:修改文件/usr/src/vpopmail-4.9.4/vmysql.h,修改

    /* Edit to match your set up */
    #define MYSQL_SERVER "localhost"
    #define MYSQL_USER "root"
    #define MYSQL_PASSWD "passwoerd"
    /* End of setup section*/

    中mysql服务器的地址,若你的mysql服务器存放在其他机器上,则将localhost修改为你的mysql服务器的ip地址;若你希望使用其他具有对数据库读写及创建库和表格的用户来访问数据库,则将root为你希望的用户名;将passwoerd修改为你的mysql数据库对应的访问密码。

    拷贝//usr/local/lib/mysql下的所有内容到/lib/中

    第二步:创建需要的用户和组:

    /usr/sbin/groupadd vchkpw
    /usr/sbin/useradd -g vchkpw vpopmail 

    第三步:配置编辑vpopmail:

    ./configure --enable-roaming-users=y --enable-hardquota=10000000 
    --enable-default-domain=secfocus.com --enable-mysql=y 
    --enable-sqlincdir=/usr/local/include/mysql/ 
    --enable-sqllibdir=/usr/local/lib/mysql 
    --enable-ucspi-dir=../ucspi-tcp-0.88 --enable-passwd=n
    (注:以上全为一行)
    make
    make install

    第四步:添加虚拟域
    /home/vpopmail/bin/vadddomain domain1.com 
    /home/vpopmail/bin/vaddaliasdomain domain2.com 

    第五步:添加用户
    /home/vpopmail/bin/vadduser user@domain1.com 

    第六步:支持pop3
    当使用vpopmail时,则需要将pop的运行脚本run修改为:
    
    #!/bin/sh
    exec /usr/local/bin/tcpserver -v -H -R 0 pop-3 -u vpopmail -g    
    vchkpw /var/qmail/bin/qmail-popup 
    domain1.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d 
    Maildir 2
    >&1 | 
    /var/qmail/bin/splogger pop3d
    
    注:从exec到“|“为一行 
    注:在这里笔者在dns的设置中,有如下的容:

    @ IN SOA ns.domain1.com. root.ns.domian1.com. (
    2000103001 ; serial
    0 ; refresh
    0 ; retry
    0 ; expire
    0 ; default_ttl
    )
    @ IN NS ns.domian1.com.
    @ IN MX 10 mail.domian1.com.
    @ IN A 210.112.11.200
    ..
    ...
    mail IN A 210.112.11.200
    
    @ IN A 210.112.11.200表示当按照一般的域名查询(非MX查询,而是A查询)domain1.com时,返回解析地址为210.112.11.200,而mail.doamin1.com也解析为210.112.11.200。

ABAQUS单元刚度矩阵输出全攻略:从理论到实践(含MTX/DAT文件对比) 本文详细解析了ABAQUS中单元刚度矩阵的输出方法,涵盖理论原理、MTX与DAT文件格式对比及二次开发应用。通过具体操作步骤和性能优化建议,帮助用户高效获取并利用刚度矩阵数据,特别适合需要进行有限元分析验证和二次开发的工程师。 阅读详情

相关推荐

MacOS M芯片部署ComfyUI:从环境排雷到插件生态一站式指南

本文为MacOS M系列芯片用户提供了一份详尽的ComfyUI部署指南。文章深入剖析了因架构差异导致的常见安装报错根源,并给出了基于MPS后端的正确PyTorch安装命令。从创建纯净Python虚拟环境、分步安装依赖,到验证GPU加速,手把手指导完成部署。同时,还推荐了包括管理器、汉化在内的必备插件,以完善使用生态,帮助用户一站式解决从环境搭建到效率提升的所有问题。

weixin_29261711的博客 992

关于qmail邮件转发的问题 qmail+vpopmail

qmail邮件的转发环境 qmail vpopmail 设置转发需要在/vpopmail/domains/yourdomain/ 下建立 .qmail 文件。对于单独用户的转发可以建立  .qmail-userid 文件内容为/vpopmail/domains/yourdomain/userid/Maildir//vpopmail/domains/yourdomain/backupuserid

larsonguo的专栏 633

告别Keil?在Mac上配置STM32CubeIDE + CMSIS-DAP调试器全攻略(含常见报错解决)

本文详细介绍了在Mac平台上配置STM32CubeIDE与CMSIS-DAP调试器的全流程,包括硬件准备、软件安装、工程创建及调试优化。通过实战指南,帮助开发者高效完成STM32开发,解决常见报错问题,提升开发效率。

weixin_30485379的博客 432

安装Qmail/Vpopmail

 安装Qmail/Vpopmail1、http://shupp.org/software 下载相关包   netqmail-1.05.tar.gz      Qmail主程序   toaster-scripts-0.6.tar.gz   Qmail相关启动脚本   qmail-toaster-0.6-1.patch.bz2 Qmail的patch   ucspi-tcp-0.88.tar.gz

我爱OL - Oracle & Linux 1202

论文理解【LLM-Clarification】—— 【QDrawer】Asking the Right Question at the Right Time: Human and Model Unce

本文基于 CoDraw 任务对 LLM 澄清提问的触发方式进行探索,发现模型内部不确定性与人类澄清决策相关性弱,使用不确定性阈值触发澄清提问相比模仿人类提问时机,性能和计算效率都更好

佚失的诗篇 770

PLDM入门(七):FRU Data Format

每个字段为TLV(Type-Length-Value)格式,具体类型、长度范围和值定义需参考。通过条件过滤(记录句柄、类型、字段类型等)分块获取FRU记录数据(可选功能)。整个FRU数据表由多个FRU记录数据块组成,每个数据块对应表2的结构(即包含。决定,每个字段按顺序排列(Type→Length→Value)通过分块传输方式写入FRU记录表数据(需终端支持写入操作)。(文档未提供表5内容,需结合标准文档完整版)。、字段数量、编码类型及具体字段的TLV数据)。无请求数据(空请求)。

weixin_44032634的博客 1762

qmail+vpopmail+mysql安装

qmail+vpopmail+mysql安装笔记 这是一篇qmail+vpopmail+mysql的安装笔记,有些地方的安装和配置笔者也是试了很多次才成功。希望对大家 有点帮助。本文参考了Bill's Linux Qmail Toaster. 第一部分:安装环境 1、硬件环境: 一台ip 地址为192.168.68.82的台式机 2、Linux操作系统,这里笔者使用的是...

dengxian7195的博客 426

Widar3.0复现日志(DFSExtractionCode)

需要使用的matlab基本功能

XiaoQiXiaoWei_J的博客 2436

在安装和使用qmail中遇到的问题及解决

 1、问题:使用igenus(web)可以对任何信箱收发邮件,但使用outlook、foxmail可以收但发信报:服务器:553 sorry, that domain isnt in my list allowed rcpthosts。  解决:mv /var/qmail/control/rcpthosts /var/qmail/control/rcpthosts_bak 原因:

java_xinjun的专栏 1219

昇腾910安装驱动出错,降低Centos7.6的内核版本

Centos7.6 启动内核修改,解决昇腾910安装驱动错误的问题。

深蓝 3300

C#每日面试题-属性和字段的区别

在C#面试中,“属性(Property)和字段(Field)的区别”是基础且高频的考点。很多初学者会把两者混为一谈,甚至觉得“属性就是加了get/set的字段”,但这种理解只停留在表面。面试考察的核心,是对“封装思想”的理解,以及两者在语法特性、底层实现、实际应用中的本质差异。今天我们从“基础认知→核心差异→底层原理→实际应用→面试避坑”五个层面,把这个知识点讲透,既保证新手能看懂,又能满足面试的深度要求。

Amon的专栏 779

使用PHP开发qmail邮件服务器管理系统

   电子邮件在网络中占有很重要的地位。目前,在企业中运行的邮件服务器均用各自独立的管理系统来实现账号创建、口令修改、邮箱扩容、删除邮箱等功能。当邮箱用户达到一定数量时,邮件管理员的日常维护工作显得极为繁重,这就需要将一部分管理任务(如账号申请)实现自动化处理;同时将一部分任务(如口令修改)由多个分组管理员来负责,从而使邮件管理员从繁琐的维护工作中解脱出来,真正对邮件服务器起到监管作用。   邮件

2060

HDMI接口及其在编程中的应用

在编程中,我们可以使用HDMI接口来控制和管理连接到计算机的HDMI设备。本文将介绍HDMI接口的基本原理以及如何在编程中使用HDMI接口。在编程中,我们可以使用HDMI接口来控制和管理连接到计算机的HDMI设备。本文介绍了HDMI接口的基本原理,并提供了使用Python编程语言和相关库实现HDMI接口应用的示例代码。我们可以使用编程语言提供的音频库来生成和播放音频,并将其通过HDMI接口输出到连接的设备上。我们可以使用编程语言提供的音频库来生成和播放音频,并将其通过HDMI接口输出到连接的设备上。

CodeByte的博客 802

QMAIL+mysql for ;LINUX_MAILSERVER

MAIL-SERVER说明书------------------------------------------------------------------------------------------------------ 一。Linux qmail安装指南 此文所实现的邮件系统功能列表:·...

weixin_34004750的博客 1985

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

ubuntu-qmail安装配置详解(step by step)(2)

 编译并安装 deepfuture@ubuntu-sdp:/usr/tmp/vpopmail-5.4.30$ makemake  all-recursivemake[1]: Entering directory `/usr/tmp/vpopmail-5.4.30'Making all in cdbmake[2]: Entering directory `/usr/tmp/vpopmail-5.4...

深未来技术 401

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

qmail邮件系统(五)vpopmail和qmailadmin对用户的管理

http://www.chinaunix.net 作者:peng5.1目的 本文重点讨论vpopmail和qmailadmin的配置和应用,通过vpopmail和qmailadmin,来对用户进行设置和管理。 5.2 vpopmail功能简介     在一台邮件服务器的上实现多个域的邮件系统是qmail用户非常关心的问题之一,为了解决这个问题,Inter7开发了遵从GPL版权的vpopmail(v

NETOCOOL的专栏 2472

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

要努力去发光,而不是被照亮~ 120

Spring Boot 数据源与 MyBatis(-Plus) 自定义配置详解

本文详解 Spring Boot 中单数据源环境下 HikariCP 与 MyBatis-Plus 的自定义配置。通过手动声明 SqlSessionFactory,实现下划线转驼峰、日志输出、一级缓存策略等精细化控制。结合 HikariCP 核心参数调优(如最大连接数、连接生命周期),确保高性能与稳定性。适用于仅需访问单一数据库的场景,避免多数据源复杂性,兼顾性能与可维护性。

BADAO_LIUMANG_QIZHI的博客 196

Docker Compose:搭建本地多服务开发环境

从一个 Java API、PostgreSQL 和 Redis 开始,配置服务名、端口、环境变量、健康检查、数据卷和依赖关系。理解 Compose 文件如何被解析、项目如何隔离,以及哪些数据不能依赖“重建容器”保留,能够把个人开发环境整理成团队可复用的启动入口。

m0_62221377的博客 428

AI全栈实战 | 3.9-01 爬虫入门:requests 加 BeautifulSoup 三分钟跑通,但 90% 的人栽在这 4 个“礼貌“问题上

⚠️:本文内容仅用于。请遵守目标站点的服务条款与相关法律法规,不得对目标服务造成负担,不得采集、传播个人隐私数据。技术是中性的,边界在你手里。爬虫的入门技术(requests 发请求 + BeautifulSoup 解析)三分钟就能学会。真正区分"会用爬虫"和"会做爬虫的人"的,是这篇我们跑通"请求→解析→存储"的最小闭环,然后重点把"合规与礼貌"这根弦给你绷上。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 401

45-存储过程与函数

匿名块跑完就没了,想下次再用只能复制粘贴。给块起个名字存进数据库,就成了存储过程与函数:一次编译、处处调用、权限收口,还能让 Java 侧少拼 SQL。这篇讲封装、调用、限制与排错的完整套路。CREATE OR REPLACE 覆盖式创建,事务由调用方控制;参数三模式 IN 只进、OUT 只出、IN OUT 双向,OUT 参数调用时要备好变量接;调用三姿势 EXEC、CALL、匿名块,命名传参=>最清晰;函数必有 RETURN,想在 SQL 里调用就不能碰 DML 和事务控制;

yuhou25的博客 152

数据库主键选型指南:BIGINT vs VARCHAR

主键选型关乎数据库性能与架构演进。BIGINT(如雪花算法)在顺序写入、二级索引开销和分布式生成上优势显著,适合高并发核心链路;而传统 VARCHAR UUIDv4 因随机性导致频繁页分裂、存储膨胀,性能堪忧。UUIDv7 通过时间戳有序性实现高效追加写入,结合 BINARY(16) 存储可兼顾性能与安全,成为现代微服务新选择。关键在于:主键应稳定、无业务含义,优先选用趋势递增的紧凑类型,并根据场景合理采用双主键模式或 ULID 等替代方案。

小李同学的博客 300
上一篇: 使用vqsignup实现web方式的email账号申请(qmail系列文章)
下一篇: 第一篇:优美的程序需要优美的子程序
hem
hem
博客等级 码龄26年 19粉丝 287原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值