postfix+dovecot+extmail打造开源邮件系统

postfix+dovecot+courier-authlib+mariadb+extmail打造开源邮件系统

 

企业中处于邮件账户的数量众多,使用商业版本的邮件系统价格高昂,再加上使用商业版本的邮件系统,邮件内容保护也会带一定的麻烦,所以还是有不少企业选择了开源邮件系统,毕竟自己的邮件数据存储在自己的服务器上还是比较放心的,那么就给大家分享一下如何使用阿里云的ECS搭建自己的纯开源方案的邮件系统。

 

环境展示

操作系统:CentOS7.2
yum源:阿里base源+阿里epel源
postfix:3.2.4 编译安装
dovecot:2.2.10-8 yum安装
courier-unicode:2.0
courier-authlib:0.68.0
extmail:1.2
extman:1.1
perl-Unix-Syslog:1.1-17 yum安装
Time-HiRes:1.9746 编译安装
File-Tail:1.3 编译安装
nginx:1.12.2-1 yum安装
阿里云ECS默认不是开放25号端口的,所以需要提交工单申请开通25号端口
 

系统自带的postfix用户ID是89,使用起来有些问题 所以这里我们直接卸载,后面再编译安装

yum remove -y postfix
userdel -r postfix
groupdel postdrop
rm -rf /var/spool/postfix/
rm -rf /var/lib/postfix/
 
最小化安装系统上需要安装的一些基础包
yum install -y vim lrzsz wget dos2unix psmisc tcpdump net-tools iftop
yum install -y bash-completion && source /etc/profile.d/bash_completion.sh
yum install -y tree lsof screen telnet
yum install -y gcc gcc-c++ perl-CPAN perl-GD perl-DB_File perl-DBD-MySQL perl-ExtUtils-MakeMaker rrdtool-perl libicu-devel perl-Crypt-PasswdMD5 perl-CGI perl-CGI-Session gdbm-devel libtool-ltdl-devel bzip2
 
安装及配置虚拟域需要用到的数据库
yum install -y mariadb-server mariadb-devel
mkdir /data/mysql
chown mysql:mysql /data/mysql
vim /etc/my.cnf
grep -v ^# /etc/my.cnf | tr -s [[:space:]]
[mysqld]
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
skip_name_resolve
innodb_file_per_table
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
!includedir /etc/my.cnf.d
 
编译安装postfix
mkdir /data/package
cd /data/package
wget http://cdn.postfix.johnriley.me/mirrors/postfix-release/official/postfix-3.2.4.tar.gz
tar xf postfix-3.2.4.tar.gz
cd postfix-3.2.4/
useradd -u 2525 -M -s /sbin/nologin postfix
useradd -u 2526 -M -s /sbin/nologin postdrop
yum install -y cyrus-sasl cyrus-sasl-devel cyrus-sasl-md5 cyrus-sasl-plain
make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS' 'AUXLIBS=-L/usr/lib64/mysql -lmysqlclient -lz -lrt -lm -L/usr/lib64/sasl2 -lsasl2 -lssl -lcrypto
make -j4
make install
 
配置postfix
newaliases
cp /etc/postfix/main.cf{,.bak}
vim /etc/postfix/main.cf
grep -v ^# /etc/postfix/main.cf | tr -s [[:space:]]
compatibility_level = 2
queue_directory = /data/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
inet_interfaces = all
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
home_mailbox = Maildir/
mail_spool_directory = /var/spool/mail
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $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 = postdrop
html_directory = no
manpage_directory = /usr/local/man
sample_directory = /etc/postfix
readme_directory = no
inet_protocols = ipv4
meta_directory = /etc/postfix
shlib_directory = no
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
broken_sasl_auth_clients=yes
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_security_options = noanonymous
virtual_transport = virtual
virtual_uid_maps = static:2525
virtual_gid_maps = static:2525
virtual_mailbox_base = /data/mailbox
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
 
因修改过postfix工作目录,需要创建并授权其属主为postfix
mkdir /data/mailbox
chown postfix /data/mailbox
 
yum安装cyrus认证框架
yum install -y cyrus-sasl cyrus-sasl-devel cyrus-sasl-md5 cyrus-sasl-plain
 
安装及配置dovecot
yum install -y dovecot.x86_64 dovecot-mysql.x86_64
cp /etc/dovecot/dovecot.conf{,.bak}
vim /etc/dovecot/dovecot.conf
grep -v ^[[:space:]]# /etc/dovecot/dovecot.conf | tr -s [[:space:]]
protocols = imap pop3
listen =

base_dir = /data/dovecot/
!include conf.d/.conf
!include_try local.conf
 
mv /var/run/dovecot/ /data/
cp /etc/dovecot/conf.d/10-auth.conf{,.bak}
vim /etc/dovecot/conf.d/10-auth.conf
grep -v ^[[:space:]]
# /etc/dovecot/conf.d/10-auth.conf | tr -s [[:space:]]
disable_plaintext_auth = no
auth_mechanisms = plain
!include auth-sql.conf.ext
 
cp /etc/dovecot/conf.d/10-mail.conf{,.bak}
vim /etc/dovecot/conf.d/10-mail.conf
grep -v ^[[:space:]]# /etc/dovecot/conf.d/10-mail.conf | tr -s [[:space:]]
 
mail_location = maildir:/data/mailbox/%d/%n/Maildir
namespace inbox {
inbox = yes
}
mbox_write_locks = fcntl
 
cp /etc/dovecot/conf.d/10-ssl.conf{,.bak}
vim /etc/dovecot/conf.d/10-ssl.conf
 
grep -v ^[[:space:]]
# /etc/dovecot/conf.d/10-ssl.conf | tr -s [[:space:]]
ssl = no
 
手动添加dovecot连接mysql的认证配置文件
vim /etc/dovecot/dovecot-sql.conf.ext
cat /etc/dovecot/dovecot-sql.conf.ext
driver = mysql
connect = host=localhost dbname=extmail user=extmail password=extmail
default_pass_scheme = CRYPT
password_query = SELECT username AS user,password AS password FROM mailbox WHERE username = '%u'
user_query = SELECT maildir, uidnumber AS uid, gidnumber AS gid FROM mailbox WHERE username = '%u'
 
编译安装courier-unicode和courier-authlib
wget https://jaist.dl.sourceforge.net/project/courier/courier-unicode/2.0/courier-unicode-2.0.tar.bz2
wget https://jaist.dl.sourceforge.net/project/courier/authlib/0.68.0/courier-authlib-0.68.0.tar.bz2
tar xf courier-unicode-2.0.tar.bz2
tar xf courier-authlib-0.68.0.tar.bz2
cd courier-unicode-2.0
./configure
make -j4 && make install
 
cd ../courier-authlib-0.68.0/
./configure \
--sysconfdir=/etc \
--without-authpam \
--without-authshadow \
--without-authvchkpw \
--without-authpgsql \
--with-authmysql \
--with-mysql-libs=/usr/lib64/mysql \
--with-mysql-includes=/usr/include/mysql \
--with-redhat \
--with-authmysqlrc=/etc/authmysqlrc \
--with-authdaemonrc=/etc/authdaemonrc \
--with-mailuser=postfix
make -j4 && make install
 
配置courier-authlib
echo "/usr/local/lib/courier-authlib/" > /etc/ld.so.conf.d/courier-authlib.conf
ldconfig
cp courier-authlib.sysvinit /etc/init.d/courier-authlib
chmod +x /etc/init.d/courier-authlib
cp /etc/authdaemonrc.dist /etc/authdaemonrc
cp /etc/authmysqlrc.dist /etc/authmysqlrc
 
vim /etc/authdaemonrc
grep -v ^# /etc/authdaemonrc | tr -s [[:space:]]
authmodulelist="authmysql"
authmodulelistorig="authmysql"
daemons=4
authdaemonvar=/usr/local/var/spool/authdaemon
DEBUG_LOGIN=0
DEFAULTOPTIONS=""
LOGGEROPTS=""

vim /etc/authmysqlrc
grep -v ^# /etc/authmysqlrc | tr -s [[:space:]]
MYSQL_SERVER localhost
MYSQL_USERNAME extmail
MYSQL_PASSWORD extmail
MYSQL_SOCKET /var/lib/mysql/mysql.sock
MYSQL_OPT 0
MYSQL_DATABASE extmail
MYSQL_USER_TABLE mailbox
MYSQL_CRYPT_PWFIELD password
MYSQL_UID_FIELD 2525
MYSQL_GID_FIELD 2525
MYSQL_LOGIN_FIELD username
MYSQL_HOME_FIELD concat('/data/mailbox',homedir)
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD concat('/data/mailbox',maildir)
 
修改SASL认证为authdaemond
vim /etc/sasl2/smtpd.conf
cat /etc/sasl2/smtpd.conf
pwcheck_method: authdaemond
log_level: 3
mech_list: PLAIN LOGIN
authdaemond_path:/usr/local/var/spool/authdaemon/socket
 
安装并配置extman及extmail
wget http://7xivyw.com1.z0.glb.clouddn.com/extman-1.1.tar.gz
wget http://7xivyw.com1.z0.glb.clouddn.com/extmail-1.2.tar.gz
tar xf extman-1.1.tar.gz
tar xf extmail-1.2.tar.gz
mkdir /data/extsuite
mv extman-1.1 /data/extsuite/extman
mv extmail-1.2 /data/extsuite/extmail
cd /data/extsuite/
 
修改/data/extsuite目录下所有配置文件中的/var/www字符为/data
sed -i s@/var/www@/data@g find /data/extsuite -type f
 
修改extan和extmail的cgi目录的属主改组为postfix
chown -R postfix:postfix /data/extsuite/{extman,extmail}/cgi
为postfix提供extman官方给出的mysql虚拟域配置文件
cp -v /data/extsuite/extman/docs/mysqlvirtual* /etc/postfix/
‘/data/extsuite/extman/docs/mysql_virtual_alias_maps.cf’ -> ‘/etc/postfix/mysql_virtual_alias_maps.cf’
‘/data/extsuite/extman/docs/mysql_virtual_domains_maps.cf’ -> ‘/etc/postfix/mysql_virtual_domains_maps.cf’
‘/data/extsuite/extman/docs/mysql_virtual_limit_maps.cf’ -> ‘/etc/postfix/mysql_virtual_limit_maps.cf’
‘/data/extsuite/extman/docs/mysql_virtual_mailbox_maps.cf’ -> ‘/etc/postfix/mysql_virtual_mailbox_maps.cf’
‘/data/extsuite/extman/docs/mysql_virtual_sender_maps.cf’ -> ‘/etc/postfix/mysql_virtual_sender_maps.cf’
 
cp -r /data/extsuite/extman/addon/mailgraph_ext/ /usr/local/mailgraph_ext
 
vim /etc/postfix/mysql_virtual_alias_maps.cf
vim /etc/postfix/mysql_virtual_domains_maps.cf
vim /etc/postfix/mysql_virtual_limit_maps.cf
vim /etc/postfix/mysql_virtual_mailbox_maps.cf
vim /etc/postfix/mysql_virtual_sender_maps.cf
 
修改extmail官方给出的mysql数据库示例脚本再导入数据库
sed -i s/TYPE=MyISAM/ENGINE=InnoDB/g extman/docs/extmail.sql
sed -i s/extmail.org/hehegame.com/g extman/docs/init.sql
mysql -uroot -ppassword < extman/docs/extmail.sql
mysql -uroot -ppassword < extman/docs/init.sql
 
vim extman/webman.cf
grep -v ^# extman/webman.cf | tr -s [[:space:]]
SYS_CONFIG = /data/extsuite/extman/
SYS_LANGDIR = /data/extsuite/extman/lang
SYS_TEMPLDIR = /data/extsuite/extman/html
SYS_MAILDIR_BASE = /data/mailbox
SYS_SHOW_WARN = 0
SYS_SESS_DIR = /data/tmp/extman/
SYS_CAPTCHA_ON = 0
SYS_CAPTCHA_KEY = r3s9b6a7
SYS_CAPTCHA_LEN = 6
SYS_PURGE_DATA = 0
SYS_PSIZE = 20
SYS_LANG = zh_CN
SYS_APP_TYPE = ExtMan
SYS_TEMPLATE_NAME = default
SYS_DEFAULT_EXPIRE = 3y
SYS_GROUPMAIL_SENDER = postmaster@hehegames.com
SYS_DEFAULT_SERVICES = webmail,smtpd,smtp,pop3,netdisk
SYS_ISP_MODE = no
SYS_DOMAIN_HASHDIR = yes
SYS_DOMAIN_HASHDIR_DEPTH = 2x2
SYS_USER_HASHDIR = yes
SYS_USER_HASHDIR_DEPTH = 2x2
 
SYS_MIN_UID = 500
SYS_MIN_GID = 100
SYS_DEFAULT_UID = 2525
SYS_DEFAULT_GID = 2525
SYS_QUOTA_MULTIPLIER = 1048576
SYS_QUOTA_TYPE = courier
SYS_DEFAULT_MAXQUOTA = 2147483648
SYS_DEFAULT_MAXALIAS = 100
SYS_DEFAULT_MAXUSERS = 500
SYS_DEFAULT_MAXNDQUOTA = 2147483648
SYS_USER_DEFAULT_QUOTA = 2147483648
SYS_USER_DEFAULT_NDQUOTA = 2147483648
SYS_USER_DEFAULT_EXPIRE = 3y
SYS_BACKEND_TYPE = mysql
SYS_CRYPT_TYPE = md5crypt
SYS_MYSQL_USER = extman
SYS_MYSQL_PASS = extman
SYS_MYSQL_DB = extmail
SYS_MYSQL_HOST = localhost
SYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock
SYS_MYSQL_TABLE = manager
SYS_MYSQL_ATTR_USERNAME = username
SYS_MYSQL_ATTR_PASSWD = password
SYS_RRD_DATADIR = /var/lib
SYS_RRD_TMPDIR = /data/tmp/viewlog
SYS_RRD_QUEUE_ON = yes
SYS_CMDSERVER_SOCK = /tmp/cmdserver.sock
SYS_CMDSERVER_MAXCONN = 5
SYS_CMDSERVER_PID = /var/run/cmdserver.pid
SYS_CMDSERVER_LOG = /var/log/cmdserver.log
SYS_CMDSERVER_AUTHCODE = your_auth_code_here
SYS_IGNORE_SERVER_LIST = web
 
创建extman和extmail所需要的目录并授权属主为postfix
mkdir -pv /data/tmp/{extman,extmail,viewlog}
mkdir: created directory ‘/data/tmp’
mkdir: created directory ‘/data/tmp/extman’
mkdir: created directory ‘/data/tmp/extmail’
mkdir: created directory ‘/data/tmp/viewlog’
chown postfix /data/tmp/{extman,extmail,viewlog}
 
cp extmail/webmail.cf.default extmail/webmail.cf
vim extmail/webmail.cf
grep -v ^# extmail/webmail.cf | tr -s [[:space:]]
SYS_CONFIG = /data/extsuite/extmail/
SYS_LANGDIR = /data/extsuite/extmail/lang
SYS_TEMPLDIR = /data/extsuite/extmail/html
SYS_HTTP_CACHE = 0
SYS_SMTP_HOST = localhost
SYS_SMTP_PORT = 25
SYS_SMTP_TIMEOUT = 5
SYS_SPAM_REPORT_ON = 0
SYS_SPAM_REPORT_TYPE = dspam
SYS_SHOW_WARN = 0
SYS_IP_SECURITY_ON = 1
SYS_PERMIT_NOQUOTA = 1
SYS_SESS_DIR = /data/tmp/extmail
SYS_UPLOAD_TMPDIR = /data/tmp/extmail
SYS_LOG_ON = 1
SYS_LOG_TYPE = syslog
SYS_LOG_FILE = /var/log/extmail.log
SYS_SESS_TIMEOUT = 1
SYS_SESS_COOKIE_ONLY = 1
SYS_USER_PSIZE = 10
SYS_USER_SCREEN = auto
SYS_USER_LANG = zh_CN
SYS_APP_TYPE = WebMail
SYS_USER_TEMPLATE = default
SYS_USER_CHARSET = utf-8
SYS_USER_TRYLOCAL = 1
SYS_USER_TIMEZONE = +0800
SYS_USER_CCSENT = 1
SYS_USER_SHOW_HTML = 1
SYS_USER_COMPOSE_HTML = 1
SYS_USER_CONV_LINK =1
SYS_USER_ADDR2ABOOK = 1
SYS_MESSAGE_SIZE_LIMIT = 52428800
SYS_MIN_PASS_LEN = 6
SYS_MFILTER_ON = 1
SYS_NETDISK_ON = 1
SYS_SHOW_SIGNUP = 0
SYS_DEBUG_ON = 1
SYS_AUTH_TYPE = mysql
SYS_MAILDIR_BASE = /data/mailbox
SYS_AUTH_SCHEMA = virtual
SYS_CRYPT_TYPE = md5crypt
SYS_MYSQL_USER = extmail
SYS_MYSQL_PASS = extmail
SYS_MYSQL_DB = extmail
SYS_MYSQL_HOST = localhost
SYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock
SYS_MYSQL_TABLE = mailbox
SYS_MYSQL_ATTR_USERNAME = username
SYS_MYSQL_ATTR_DOMAIN = domain
SYS_MYSQL_ATTR_PASSWD = password
SYS_MYSQL_ATTR_QUOTA = quota
SYS_MYSQL_ATTR_NDQUOTA = netdiskquota
SYS_MYSQL_ATTR_HOME = homedir
SYS_MYSQL_ATTR_MAILDIR = maildir
SYS_MYSQL_ATTR_DISABLEWEBMAIL = disablewebmail
SYS_MYSQL_ATTR_DISABLENETDISK = disablenetdisk
SYS_MYSQL_ATTR_DISABLEPWDCHANGE = disablepwdchange
SYS_MYSQL_ATTR_ACTIVE = active
SYS_MYSQL_ATTR_PWD_QUESTION = question
SYS_MYSQL_ATTR_PWD_ANSWER = answer
SYS_AUTHLIB_SOCKET = /usr/local/var/spool/authdaemon/socket
SYS_G_ABOOK_TYPE = file
SYS_G_ABOOK_FILE_PATH = /data/extsuite/extmail/globabook.cf
SYS_G_ABOOK_FILE_LOCK = 1
SYS_G_ABOOK_FILE_CONVERT = 0
SYS_G_ABOOK_FILE_CHARSET = utf-8
 
修改extman官方提供的perl-cgi程序脚本的SU_UID和SU_GID都为postfix
vim extmail/dispatch-init
grep ^SU extmail/dispatch-init
SU_UID=postfix
SU_GID=postfix
 
为避免登录extman之后 再登录extmail之后提示sort文件名报错做出如下修改
mv /data/extsuite/extman/libs/Ext/Utils.pm{,.bak}
cp /data/extsuite/extmail/libs/Ext/Utils.pm /data/extsuite/extman/libs/Ext/
 
修改extman默认记录的用户名为空
vim /data/extsuite/extman/html/default/index.html
input name=username value='' class=login_input
 
yum安装perl syslog所需组件
yum install -y perl-Unix-Syslog
 
编译安装Time-HiRes和/File-Tail这两个perl组件,否则extman后台的图形分析日志看不到,(一定要注意安装的先后顺序)
wget http://search.cpan.org/CPAN/authors/id/J/JH/JHI/Time-HiRes-1.9746.tar.gz
wget http://search.cpan.org/CPAN/authors/id/M/MG/MGRABNAR/File-Tail-1.3.tar.gz
tar xf Time-HiRes-1.9746.tar.gz
tar xf File-Tail-1.3.tar.gz
 
cd Time-HiRes-1.9746/
perl Makefile.PL
make -j4
mv blib/arch/auto/Time/HiRes/HiRes.so{,.old}
gcc -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -Wl,-z,relro HiRes.o -o blib/arch/auto/Time/HiRes/HiRes.so -lrt
make test
make install
 
cd ../File-Tail-1.3/
perl Makefile.PL
make -j4
make test
make install
 
yum安装nginx并提供虚拟主机配置文件
yum install -y nginx
sed -i '38,57s/^/#/' /etc/nginx/nginx.conf
vim /etc/nginx/conf.d/mail-server.conf
cat /etc/nginx/conf.d/mail-server.conf
server {
listen 80;
server_name mail.hehegame.com;
index index.html index.htm index.cgi index.php;
root /data/extsuite/extmail/html;
location /extmail/cgi/ {
fastcgi_pass 127.0.0.1:8888;
fastcgi_index index.cgi;
fastcgi_param SCRIPT_FILENAME /data/extsuite/extmail/cgi/$fastcgi_script_name;
include fastcgi.conf;
}
location /extmail {
alias /data/extsuite/extmail/html;
}
location /extman/cgi/ {
fastcgi_pass 127.0.0.1:8888;
fastcgi_index index.cgi;
fastcgi_param SCRIPT_FILENAME /data/extsuite/extman/cgi/$fastcgi_script_name;
include fastcgi.conf;
}
location /extman {
alias /data/extsuite/extman/html;
}
error_log /var/log/nginx/mail-server.log;
}
 
提供整个邮件系统所有组件的启动和停止脚本
mkdir /data/scripts
vim /data/scripts/mailserver_ctl.sh
cat /data/scripts/mailserver_ctl.sh
#!/bin/bash
 
#Author:chaojun
#Contact QQ:183530300
#Version:1.0
#Company:Hehehuyu
#Create time:2017-12-12 20:36:49
#Description:All mail service control script
 
case $1 in
stop)
systemctl stop nginx
postfix stop
systemctl stop dovecot
systemctl stop saslauthd
/etc/init.d/courier-authlib stop
/data/extsuite/extmail/dispatch-init stop
/usr/local/mailgraph_ext/mailgraph-init stop
;;
start)
/usr/local/mailgraph_ext/mailgraph-init start
/data/extsuite/extmail/dispatch-init start
/etc/init.d/courier-authlib start
systemctl start saslauthd
systemctl start dovecot
postfix start
systemctl start nginx
;;
*)
echo "Usage:$0 [start|stop]"
esac
 
Extmail+Extman架设好以后,打开extman显示 No such file or directory是没有启动cmdserve脚本所导致的
 
extmail配置完成后界面如下
postfix+dovecot+extmail打造开源邮件系统
 
extman配置完成后界面如下
postfix+dovecot+extmail打造开源邮件系统
 

至此一个基础功能版本的开源邮件系统就可以工作了,不足之处还望大神指教!

转载于:https://blog.51cto.com/183530300/2066972

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值