该实验系统:cetnos 6.5

sendmail:性能好,设置复杂,适合老手

qmail:体积小260+k,模块化。需要做二次开发,适合对邮件性能有要求的

postfix:前身是sendmail,postfix原本是sendmail里面的一个模块,红帽6默认安装好postfix

zmailer:近几年才出来的邮件

coremail:国内做的最好的商业平台,运行在linux上

Pop:允许客户端下载邮件,移动标记已读等操作  不会反馈到服务器、

Imap4:双向通讯,客户端的操作会反馈到服务器,提供想更过的功能,听歌更好的邮件管

发邮件:

收邮件的时候都是用的pop3和IMAP4 ,区别在于pop3最早的收邮件的协议,功能最简单IMAP4是后来新加入了的一个收邮件的协议,功能相对复杂,可以支持邮件预览、附件预览等等。从根本上来说pop3这个收邮件的操作都必须在本地进行,而ipmap4这个收邮件的操作都必须服务器上进行,如果用的pop3当你收到邮件时必须先下载下来才能看,ipmap4则是在服务器端,如用的imap4协议的话可以先是谁发的, 什么时候发的有没必要下载下来然后做决定是下载到本地还是放弃下载,能看到一部分摘要信息。Imap4协议和pop比起来imap4协议支持的功能更多一点但是在实际生产环境里用的pop3的多,功能简单,要知道功能强大的背后牺牲的是服务器的性能

收邮件:

SMTP协议

和FTP一样是诞生最早的一批协议,用的是25号tcp端口,加密时使用是tcp465端口

主配置文件:/etc/postfix/main.cf

master.cf里面存的是一些优化的参数

下来看些需要改的才参数:(黄色背景的,星号要去掉)

75 #myhostname = mail.xdl.com ##用来设置当前的主机名,需要域名解析

76 #myhostname = virtual.domain.tld ##虚拟主机名

邮件格式:

zhangsan@mail.xdl.com  ----->>邮件名和域都能拿来做邮件域的名称

正常情况下都是用域名里面的域来作为邮件域,某些时候也会使用主机名作为邮件域,所以要在主配置文件里声明一下“我的”主机名叫什么

83 #mydomain = xdl.com #这里写邮件服务器的邮件域 -----》原样

发送邮件的设置(如下):---->>

98 #myorigin = $myhostname ##允许发送邮件用户的邮件域,就是说哪些用户能够通过”我”这个邮件服务器往外发邮件,如果有个用户往外发邮件要检查邮件地址($myhostname),看后缀,如果后缀都正确才能允许发送,如果后缀不对,发送不出去

99 #myorigin = $mydomain ##

101#接收邮件的设置(如下): --->>

113 inet_interfaces = all ---->>(开启)用来设置要监听哪些地址以及使用什么样的协议,接收什么域的邮件,默认只接收本地的,要改成113行的all (如下)

116行注释掉

165mydestination = $myhostname, localhost.$mydomain, localhost

##和上面的98/99行的对应的,是用来设置允许接收邮件的用户的邮件域

原样----》》

原样:mydestination = $myhostname, localhost.$mydomain, localhost##和上一行一一对应

例:

收到一封未知用户时拒绝掉以后返回的错误代码

给一个部门做了别名时,当要给一个部门发邮件时就相当于给部门的所有人发

--->>>>做别发时候是要有个数据库的支持者是数据库的位置

419 #home_mailbox = Maildir/ ##指定邮箱的位置

setgid_group = postdrop ##收邮件时默认要设置的一个组名

#默认的邮件组

663 html_directory = no ##是否启用基于html的邮件目录

667 manpage_directory = /usr/share/man

##在线的帮助页面,位置

672 sample_directory = /usr/share/doc/postfix-2.6.6/samples         ##模板文件的位置

因为对主配置文件进行了设置,所以要重启服务:postfix]# service postfix restart

关闭防火墙(清理)和selinux:

iptables -F

setenforce  0

实验开始:

客户端DNS配置如下

[root@localhost ~]# mount /dev/sr0 /mnt/usb1

[root@localhost ~]# yum -y install bind

[root@localhost ~]# vim /etc/named.conf

[root@localhost ~]# cd /etc/

[root@localhost etc]# vim named.rfc1912.zones

####上图如果不懂可以留言######

[root@localhost etc]# cd /var/named/

[root@localhost named]# ls

[root@localhost named]# cp -p named.localhost  xdl.localhost ##复制模板并改名

[root@localhost named]: vim xdl.localhost  ##修改复制的模板

MX为邮件交换记录,用来标明当网络里有多台邮件服务器时优先使用哪台服务器来发送邮件

邮件服务器优先级设置格式:MX  3  mail.xdl.com数字越小优先级越高,即使只有一个邮件服务器优先级也必须得设,不设的话DNS起不来(一般是1-10之间)

正向和反向写的都是一样的 [root@localhost named]# service named start

服务器端:

[root@localhost named]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 ###添加DNS1=****

[root@localhost postfix]# service network restart (ifdown eth0;ifup eth0)

[root@localhost postfix]# cat /etc/resolv.conf

nameserver 192.168.12.155

[root@localhost postfix]# nslookup

> mail.xdl.com

Server: 192.168.12.155

Address: 192.168.12.155#53

Name: mail.xdl.com

Address: 192.168.12.154

> dns.xdl.com

Server: 192.168.12.155

[root@localhost ~]# rpm -qa postfix ##红帽6开始默认已经安装了posfix

postfix-2.6.6-2.2.el6_1.x86_64

[root@localhost ~]# cd /etc/postfix/

[root@localhost postfix]# vim main.cf  ##posfix的主配置文件

参数详解:

系统已经自带安装了postfix

主配置文件:/etc/postfix/main.cf

queue_directory = /var/spool/postfix    邮件服务器的位置

command_directory = /usr/sbin        邮件服务器的命令

daemon_directory = /usr/libexec/postfix   邮件服务器可执行程序位置

data_directory = /var/lib/postfix      邮件服务器数据库的存放位置

mail_owner = postfix             服务器的运行身份

75   myhostname = mail.djkk.com     邮件服务器的主机名称 (需要改成自己定的)

这个正常的情况就是我们服务器的的域名作为邮件的邮件域,同时也可以用域作为邮件域

比如主机的域名为mail.xdl.com

83  mydomain = djkk.com  服务器的域 (自行开启,改成@后面的部分,不含@)

98   myorigin = $myhostname   允许发送邮件用户的邮件域是谁 (自行开启)

99   myorigin = $mydomain     允许发送邮件用户的邮件域是谁 (自行开启)

就是说哪些用户可以通过这个邮件服务器发邮件呢?就是$后面设置的这个域。(不用改)

116  inet_interfaces = localhost (需注释掉)

113  inet_interfaces = all      用来设置监听的地址 (自行开启)

119   inet_protocols = all       使用的协议 (默认开启)

165 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain 用来设置本邮件服务器允许接收哪些地址发来的的邮件 (164行注释,165行开启)

unknown_local_recipient_reject_code = 550  收到未知用户的邮件的时候返回的一个错误代码(默认开启)

386 alias_maps = hash:/etc/aliases (邮件别名,有用)默认开启

397 alias_database = hash:/etc/aliases (搭配上一条使用,意思为使用别名时需要的数据库)

419 #home_mailbox = Maildir/ 邮件的存放位置 (默认不开启,一共2个,开下面那一个)

----->>>这2个相反

[root@localhost ~]# service postfix restart (默认是开启的,需要重启)

至此简单的邮件服务器搭建好了,为了测试一下还要装Telnet来进行测试

[root@localhost postfix]# useradd zhangsan ##创建用户并设上密码

[root@localhost postfix]# passwd zhangsan

[root@localhost postfix]# useradd lisi

[root@localhost postfix]# passwd lisi

[root@localhost postfix]# yum -y install telnet

[root@localhost postfix]# service postfix restart

[root@localhost postfix]# telnet mail.xdl.com 25 (25号端口为pop3邮件发送端口)

Trying 192.168.12.154...

Connected to mail.xdl.com.

Escape character is '^]'.

220 mail.xdl.com ESMTP Postfix (连接成功标示)

helo mail.xdl.com          (helo声明当前邮件服务器的域名)

250 mail.xdl.com

mail from:zhangsan@xdl.com (邮件从谁那发出来的,zhangsan发的)

250 2.1.0 Ok

rcpt to:lisi@xdl.com    (发给lisi的)

250 2.1.5 Ok

data (邮件的正文)

354 End data with .

wfgke k lrlr lrkypohk566 (内容)

h5kjkgjg

. (回车提交) (“点”为结束标示,一定要另起一行点“点”)

250 2.0.0 Ok: queued as 57C3F7F442

Quit (退出)

221 2.0.0 Bye

Connection closed by foreign host. (邮件就发送完了)

检验邮件有没发送成功:(还是在服务端)

[root@localhost new]# cd /home/lisi/Maildir/

[root@localhost Maildir]# ls

cur  new  tmp

[root@localhost Maildir]# cd  new

[root@localhost new]# ls

1479935833.V802Iff008M899554.localhost.local (它就是我们发的邮件已记录下来)

[root@localhost new]# cat 1479935833.V802Iff008M899554.localhost.localdomain

服务端dovecot接收邮件步骤:

[root@localhost ~]# yum -y install dovecot*

[root@localhost ~]# service dovecot start

[root@localhost ~]# telnet mail.xdl.com 110 (收邮件)

Trying 192.168.12.154...

Connected to mail.zp.com.

Escape character is '^]'.

+OK Dovecot ready.

user lisi (输入用户名)

+OK

pass pppppp       ---->>这里是输入密码

+OK Logged in.     ---->>>成功登陆提示

list          ---->>>列出所有邮件

+OK 1 messages:

1 448         ---- >>>就1封邮件,代号是448

.

retr 1         ---->>>收第一封邮件的意思(查看的意思)

正文区

quit

+OK Logging out.

Connection closed by foreign host.

企业邮件服务搭建(Extmail)的搭建:

(该邮件服务器需要一个干净的系统,系统还原,dns服务器不还原)

客户端(DNS服务器):

[root@localhost ~]# yum -y install bind

[root@localhost ~]# vim /etc/named.conf

[root@localhost named]# vim /etc/named.rfc1912.zones

[root@localhost named]# cd /var/named/

[root@localhost named]# ls

[root@localhost named]# cp -p named.localhost extmail.localhost (named.localhost 转 自定义)

[root@localhost named]# vim extmail.localhost (如下图)

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

      #该图是另一个样本,不是该实验中的

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

[root@localhost named]# service named restart

服务端配置:

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.12.154

NETMASK=255.255.255.0

DNS1=192.168.12.155

[root@localhost ~]# service network restart

能正常解析出来域名后,接着上面的做----->>>

[root@localhost ~]# yum -y install gcc*

把包倒进来extmail-1.2.tar.gz  extman-1.1.tar.gz  Unix-Syslog-1.1.tar.gz

[root@localhost extmail]# yum -y install mysql mysql-server mailx (这3个数据库文件)

[root@localhost extmail]# service mysqld start

[root@localhost extmail]# yum -y install httpd

[root@localhost extmail]# mkdir /var/www/extsuite (新建一个目录用来存放和数据库相关的数据)

[root@localhost extmail]# tar -zxvf extmail-1.2.tar.gz -C /var/www/extsuite/ (指定解压到什么位置)

[root@localhost extmail]# tar -zxvf extman-1.1.tar.gz -C /var/www/extsuite/ (大C)

[root@localhost extmail]# cd /var/www/extsuite/

[root@localhost extsuite]# mv extmail-1.2/ extmail (mv命令把2个软件的版本号去掉)

[root@localhost extsuite]# mv extman-1.1/ extman (mv命令把2个软件的版本号去掉)

[root@localhost extsuite]# cd extman/docs/

(这里面的.sql文件就是数据库里的文件,直接把这些sql文件倒到“我们”的数据库中就可以得到它们的一些预定才参数了,倒的时候分前后顺序)如下

[root@localhost docs]# vim init.sql

[root@localhost docs]# mysql < extmail.sql (先)

这个文件倒完后会在MySQL里创建一个extmail的数据库,有来了这个文件init.sql才能导入成功

[root@localhost docs]# mysql < init.sql (后)

[root@localhost docs]# cp mysql_virtual_alias_maps.cf mysql_virtual_domains_maps.cf mysql_virtual_mailbox_maps.cf /etc/postfix/

(因为这个邮件网站用到的是虚拟用户,这些虚拟用户需要一些模板,把这3个模板cp到postfix主目录下)

[root@localhost docs]# cd /etc/postfix/

[root@localhost postfix]# useradd -u 600 vmail

(释上句:创建一个真实用户uid为600为邮件大量的虚拟用户作准备,

原因:我们不能因为邮箱服务器而生成大量的真实用户,这样我们会服务器会极度不安全。)

[root@localhost postfix]# vim main.cf (修改主配置文件)

上图框内的数据见下面:

virtual_mailbox_base = /home/vmail

virtual_uid_maps = static:600

virtual_gid_maps = static:600

virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf

virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf

virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf

[root@localhost postfix]# service postfix restart

确保这3个服务都开

service mysqld start

service postfix restart

service httpd start

服务端测试:

查看时和下面的都一样

echo “hi” |mail -s testsupport@extmail.org

(译:用mail这个工具给support的用户发一封邮件,邮件的标题是“test”。邮件的内容是“hi”)

[root@localhost vmail]# cd /home/vmail/ (接上面重启 postfix 后的操作)

[root@localhost vmail]#ls

extmail.org  (这是邮件域)

[root@localhost vmail]# cd extmail.org/

[root@localhost extmail.org]# ls

postmaster (这是邮件域)

[root@localhost extmail.org]# cd postmaster/

[root@localhost postmaster]# ls

Maildir (邮箱)

[root@localhost postmaster]# cd Maildir/

[root@localhost Maildir]# ls

cur  new  tmp (

[root@localhost Maildir]# cd new/

[root@localhost new]#ls

1479976033.V802I9f60aM856237.localhost.localdomain  1479976033.V802I9f60fM868644.localhost.localdomain

1479976033.V802I9f60bM865024.localhost.localdomain  1479976033.V802I9f610M871259.localhost.localdomain

1479976033.V802I9f60eM868351.localhost.localdomain  1479976033.V802I9f611M871433.localhost.localdomain

[root@localhost new]# cat 1479976033.V802I9f60

1479976033.V802I9f60aM856237.localhost.localdomain  1479976033.V802I9f60eM868351.localhost.localdomain

1479976033.V802I9f60bM865024.localhost.localdomain  1479976033.V802I9f60fM868644.localhost.localdomain

[root@localhost new]# cat 1479976033.V802I9f60aM856237.localhost.localdomain

Return-Path:

X-Original-To: support@extmail.org

Delivered-To: postmaster@extmail.org

Received: by localhost.localdomain (Postfix, from userid 0)

id BF7297F446; Thu, 24 Nov 2016 16:24:37 +0800 (CST)

Date: Thu, 24 Nov 2016 16:24:37 +0800

To: support@extmail.org

Subject: test

User-Agent: Heirloom mailx 12.4 7/29/08

MIME-Version: 1.0

Content-Type: text/plain; charset=us-ascii

Content-Transfer-Encoding: 7bit

Message-Id: <20161124082713.BF7297F446@localhost.localdomain>

From: root@localhost.localdomain (root)

hirpm -q httpdrpm -q httpdni zuo sha ne

以上只是做的上图的上半部分

>收邮件--->>>dovecot (还是服务端操作)

mount 查看挂载光盘情况

[root@localhost new]# yum -y install dovecot dovecot.mysql (dovecot-mysql )

(dovecot为主程序,让dovecot去dovecot-mysql数据库里验证用户名和密码用的,因为之前init.sql都倒到MySQL里面了)

[root@localhost new]# cd /etc/dovecot/ (配置目录)

[root@localhost dovecot]# ls

conf.d  dovecot.conf

[root@localhost dovecot]# cd conf.d/

[root@localhost conf.d]# vim 10-mail.conf (和邮件发送相关的一些配置)

mail_location = maildir:~/Maildir (用来设置邮件在本地保存的位置)

%d:邮件域

%n:一个邮件中用户名部分

所有配置里的选项必须顶头写,不顶头写系统会不认

167 #first_valid_uid = 600 (设置虚拟用户的起始uid号)

[root@localhost conf.d]# vim 10-auth.conf (需改认证文件)

意思就是说之前用系统去验证,现在要从sql中去验证

启用数据库验证

如何去数据库认证,数据库在哪,数据库密码多少得告诉它(如下)

[root@localhost conf.d]# cd ..

[root@localhost dovecot]#

[root@localhost dovecot]#cp /usr/share/doc/dovecot-2.0.9/example-config/dovecot-sql.conf.ext . (注意:当前目录)

[root@localhost dovecot]# ls

conf.d  dovecot.conf  dovecot-sql.conf.ext (数据库的文件就过来了)

[root@localhost dovecot]# vim dovecot-sql.conf.ext

释上图:意思就是说既然要连数据库,得告诉它要连什么样的数据库(这里只写mysql即可)

这些用户名和密码是在导入的init.sql时预先定义好了,dbname=extmail是在导入extmail.sql时它生成的

上图释:(从一个叫mailbox的数据表里调出username, domain, password \这3个字段,用户输入指定的username(用户名)和domain(域名)就去匹配 password )

释上图:当用户想要查询用户名的时候,同样去MySQL里面调用一个mailbox(104行)的表,从这个字段调出maildir、uid和gid这3个字段,调出来3个字段后后再去匹配一个叫username字段的值,username的值就是用户想要找的用户名

[root@localhost dovecot]# service dovecot start

[root@localhost dovecot]# yum -y install telnet (以下是收信测试)

[root@localhost conf.d]# telnet localhost 110

Trying ::1...

Connected to localhost.

Escape character is '^]'.

+OK Dovecot ready.

+OK

pass extmail (密码)

+OK Logged in. (登陆成功)

list   (列出所有邮件)

+OK 7 messages:

1 597

2 571

3 597

4 597

5 597

6 571

7 571

.

retr 1 (意思就是查看第一封邮件)

+OK 597 octets

Return-Path:

X-Original-To: support@extmail.org

Delivered-To: postmaster@extmail.org

Received: by localhost.localdomain (Postfix, from userid 0)

id BF7297F446; Thu, 24 Nov 2016 16:24:37 +0800 (CST)

Date: Thu, 24 Nov 2016 16:24:37 +0800

To: support@extmail.org

Subject: test

User-Agent: Heirloom mailx 12.4 7/29/08

MIME-Version: 1.0

Content-Type: text/plain; charset=us-ascii

Content-Transfer-Encoding: 7bit

Message-Id: <20161124082713.BF7297F446@localhost.localdomain>

From: root@localhost.localdomain (root)

hirpm -q httpdrpm -q httpdni zuo sha ne

.   (点是结束标志)

quit

+OK Logging out. (退出标志)

Connection closed by foreign host.

以上做的是认证方面的   图片的右边那一部分

如何配置网站邮箱来工作:(接上面继续做)

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf  (rpm安装出来的apache主配置文件位置)

ServerName mail.extmail.org (邮件服务器的域名)

DocumentRoot /var/www/extsuite/extmail/html/ #(指定一下用户登录到这个域名以后的默认工作目录)

scriptalias /extmail/cgi /var/www/extsuite/extmail/cgi   #(脚本别名)

alias /extmail  /var/www/extsuite/extmail/html     #(访问extmail的时候自动跳转到后面的路径下)

scriptalias /extman/cgi /var/www/extsuite/extman/cgi

alias /extman /var/www/extsuite/extman/html

suexecusergroup vmail vmail          #(useradd添加的那个真实用户,只有vmail用户和vmail组有权限加载之前的配置)

[root@localhost ~]# cd /var/www/extsuite/extmail/

[root@localhost extmail]# ll (查看、修改cgi和WebMail的权限)

[root@localhost extmail]# chown -R vmail:vmail cgi

[root@localhost extmail]# cp webmail.cf.default webmail.cf (cp模板产生一个新主配置文件)

[root@localhost extmail]# vim webmail.cf

###  /home/后面的位置在哪里看自己当时定的在哪里

[root@localhost extmail]# cd ../extman/

[root@localhost extman]# ll

[root@localhost extman]# pwd

/var/www/extsuite/extman

[root@localhost extman]# chown -R vmail:vmail cgi/

[root@localhost extman]# cp webman.cf.default webman.cf

[root@localhost extman]# vim webman.cf

(上图)认证:现实生产环境中应该启用这个,这是输入密码时的验证码,虚拟机环境中需关闭。 SYS_CAPTCHA_ON = 0,

[root@localhost extman]# service httpd start

[root@localhost extman]# netstat -apnt

返回压缩包所在的目录····

[root@localhost ext]# tar -zxvf Unix-Syslog-1.1.tar.gz

[root@localhost ext]# cd Unix-Syslog-1.1

[root@localhost Unix-Syslog-1.1]# perl Makefile.PL

[root@localhost Unix-Syslog-1.1]# make

[root@localhost Unix-Syslog-1.1]# make install

[root@localhost extman]# service httpd start

[root@localhost extman]# netstat -apnt

====================================================================

    ###出现这个是因为没安装unix-syslog这个包

=================================================================================

最后在本地C:\Windows\System32\drivers\etc下的HOSTS文件里映射出来即可

在客户浏览器端

密码是extmail

域名  extmail.org

#这里是使用你在mysql里面修改的账号密码

欢迎加入QQ群一起讨论Linux、开源等技术

pop3 postfix 命令_postfix 邮件服务的安装及详解相关推荐

  1. pop3 postfix 命令_postfix+pop3+imap+cyrus

    1.安装postfix软件包 2.安装smtp认证包 3.安装pop3和imap服务包 4.安装webmail软件包(webmail需要web服务器的支持) Postfix 一.Postfix邮件服务 ...

  2. python3.6.6卸载_Python3.6安装卸载、执行命令、执行py文件的方法详解

    Python3.6安装卸载.执行命令.执行py文件的方法详解 开发一个功能,C/C++可能要500行代码,Java可能需要200行代码,然而Python可能需要50行代码,虽然代码少,可能开发的飞起, ...

  3. Linux下Nginx编译安装过程详解

    Linux下Nginx编译安装过程详解 一.Nginx介绍 二.Nginx源码下载 1.打开Nginx官网 2.下载官网的源码包 三.Nginx源码安装 1.解压源码包 2.安装开发包组及环境 3.编 ...

  4. Linux redis安装教程,Linux 下redis5.0.0安装教程详解

    Linux redis5.0.0安装,教程如下所示: 1.从官网下载,然后传到服务器,tar -zxvf解压 2.进入redis ? 3.安装:make, (1)若提示:: gcc: Command ...

  5. 使用LVS实现负载均衡原理及安装配置详解

    使用LVS实现负载均衡原理及安装配置详解 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均 ...

  6. mysql5.7.14安装版_MySql5.7.14安装教程详解(解压版)_MySQL

    下面进入正式的教程: 第一步:下载最近的MySQL文件并且解压: 下载最新版的MySQL–mysql-5.7.12下载地址 将下载到的文件解压缩到自己喜欢的位置,例如我自己的位置是D:\MySQL\m ...

  7. Windows 网络服务架构系列课程详解(一) ----DHCP服务器的搭建与配置

    Windows 网络服务架构系列课程详解(一) ---------DHCP服务器的搭建与配置   实验背景: 企业网络环境中在没有配置DHCP服务器时,经常会遇到这样的情况,用户不懂怎么去配置IP地址 ...

  8. CentOS下DB2数据库安装过程详解

    这篇文章主要介绍了CentOS下DB2数据库安装过程详解,本文步骤详细,操作的命令也比较全 安装前请查看DB2版本和许可证说明来增加了解,先弄明白改安装什么版本,这里我用的是最新的Express-C版 ...

  9. 1 企业实战(3) Redis服务部署和配置详解 (资源)

    前言: 环境介绍: CentOS 7.5 Redis 5.0.0 gcc 下载: http://download.redis.io/releases/ 安装redis: [root@localhost ...

最新文章

  1. Codeforces Round #645 (Div. 2)(D.The Best Vacation)
  2. word2003快速排版工具栏_干货分享 | 闲到在家数瓜子?——先把ID排版秘籍学了吧(上)...
  3. 名为 cursor_jinserted 的游标不存在_生鲜电商存在的问题及对策解析:未来生鲜电商如何发展?...
  4. (编程解决)List和Hashtable都是可以存储数据的,可为什么有时选择List,有时需要Hashtable,这两个
  5. 打开网页出现运行脚本错误的解决技巧
  6. JUnit报错:Java.lang.Exception: No runnable methods解决方案
  7. ElasticHD Windows环境下安装(转载)
  8. 【MM32F5270开发板试用】基于MindSDK对接雨滴传感器
  9. VS2019下载地址和安装教程(图解)
  10. 什么是SoC?什么是IP核?它们有什么关系?
  11. 国民生产总值饼状图_预期寿命和国内生产总值
  12. linux php 验证码不显示_怎么解决php linux验证码不显示的问题
  13. android google翻译,在android中施用google翻译
  14. 《创业36条军规》读书笔记
  15. 关系型数据库设计原则
  16. 55.网页设计规则#3_图片和插图
  17. 桌面智能盆栽——【1】项目背景
  18. 【大数据入门核心技术-Tez】(一)Tez介绍
  19. 9104年了,你还中毒?—— Synaptics.exe 中毒小记
  20. Google Code Review最新指南

热门文章

  1. 007 封包式游戏功能的原理与实现
  2. webpack如何初始化vue项目教程
  3. javaMail多个收件人分号隔开的适配
  4. PCIe扫盲——PCI总线中的Reflected-Wave Signaling
  5. Zstack 鼎阳SDS6204示波器和Archiver Appliance的重度测试1
  6. 富士通FRAM三大优势直击热门应用领域
  7. c语言 字符串切片重组,c语言 字符串的拼接和分割实例
  8. vue-cli脚手架集成websocket客户端实现高仿微信网页版在线聊天
  9. Linux下syscall分析
  10. web前端入门到实战:网页开发中字体,字号与尺寸对应表