第九章 Nginx服务器的邮件服务【笔记】
2017-10-27 20:44
218 查看
涉及内容:
邮件服务基本知识
Nginx配置邮件服务的指令
邮件服务的配置实例
用户代理: 相当于电子邮件的信箱(邮箱)、主要用于阅读、回复、转发、保存和编写邮件消息
邮件服务器:实现了部分邮件数据存储和维护功能,相当于用户邮箱的载体。
简单邮件传送协议SMTP 是右键服务器在提供服务的过程中应该遵守的规范,它定义了如何实现把邮件消息从发信人的邮件服务器传送收信人的邮件服务器。
有两种重要协议:
邮局协议(Post Office Protocol POP) 规定如何实现将PC接入到网络中的邮件服务器和下载邮件的协议。目前使用第三版本,因此通常称为POP3
协议
交互式邮件存取协议(Internet Mail Access Protocol IMAP) : I它与POP3不同的是,在于邮件服务器上右键不会在用户下载之后被删除。在本地对邮件进行任何操作也都会反馈到邮件服务器。
listen address:port;
address 为邮件服务器监听的IP地址,支持通配符“*”、主机名称。
port 为邮件服务器监听的端口
listen 127.0.0.1:110;
listen *:110;
listen 110; #与*:110配置含义相同
listen localhost:110;
支持IPv6地址
listen [::1]:120;
listen [::]:120;
支持UNIX-domain sockets
listen unix:/var/run/nginx.sock;
该指令只能在server块中配置
server_name name;
name 为配置的服务器域名
如果mail块中配置了多个虚拟主机,该指令只能在server块中配置 如果只有一个虚拟主机,该指令可以在mail块中配置
protocol imap | pop3 | smtp;
该指令只能在server块中配置
so_keepalive on | off
默认情况下, 该指令配置为off
该指令可以在mail块或者server块中配置
pop3_auth method ...; (该指令可以在mail 块中,或者server块中配置)
method支持以下配置
plain 使用USER/PASS、AUTH PLAIN 、 AUTH LOGIN方式认证。 这是Nginx默认设置
apop 使用APOP方式认证,该方法需要客户端提供的密码是非加密密码
cram-md5 ,使用AUTH CRAM-MD5方法认证。该方法也需要客户端提供的密码是非加密密码
pop3_capabilities extension ...;
extension为要加入POP3协议扩展。
默认值配置
pop3_capabilities TOP USER UIDL;
imap_auth 指令 用于配置POP3认证用户的方式
imap_auth method ...; (该指令可以在mail块中或server块中配置)
methd支持以下配置
plain 使用AUTH=PLAIN方法认证。仍然是Nginx邮件服务提供IMAP协议的默认设置。
login 使用AUTH=LOGIN方法进行认证
cram-md5 使用 AUTH CRAM-MD5 方法认证,该方法也需要客户端提供的密码是非加密密码。
配置IMAP协议扩展功能
imap_capabilities extension ...;
auth_http URL;
URL为HTTP认证服务器的地址
通过该指令可以Nginx服务器向HTTP认证服务器发起认证请求时,向请求头添加指定的头域
auth_http_header X-Auth-Key "secret_string";
该指令可以在mail块或者server块中进行配置
auth_http_timeout time;
time为超时时间 默认设置为60s 一般该时间设置不超过75s;
proxy_buffer 4k | 8k;
proxy_pass_error_message on | off; (默认是off)
邮件服务基本知识
Nginx配置邮件服务的指令
邮件服务的配置实例
9.1、邮件服务
一套完整的邮件服务主要有三类主要部件构成:分别是用户代理、邮件服务器和用于实现传输的简单邮件传送协议(Simple Mail Transfer Protocol SMTP)用户代理: 相当于电子邮件的信箱(邮箱)、主要用于阅读、回复、转发、保存和编写邮件消息
邮件服务器:实现了部分邮件数据存储和维护功能,相当于用户邮箱的载体。
简单邮件传送协议SMTP 是右键服务器在提供服务的过程中应该遵守的规范,它定义了如何实现把邮件消息从发信人的邮件服务器传送收信人的邮件服务器。
有两种重要协议:
邮局协议(Post Office Protocol POP) 规定如何实现将PC接入到网络中的邮件服务器和下载邮件的协议。目前使用第三版本,因此通常称为POP3
协议
交互式邮件存取协议(Internet Mail Access Protocol IMAP) : I它与POP3不同的是,在于邮件服务器上右键不会在用户下载之后被删除。在本地对邮件进行任何操作也都会反馈到邮件服务器。
9.2、Nginx邮件服务器的配置的12个指令
相关模块:ngx_mail_core_module、ngx_mail_pop3_module、ngx_mail_imap_module、ngx_mail_smtp_module、ngx_mail_auth_http_module、ngx_mail_proxy_module和ngx_mail_ssl_module 等。注意不会默认安装,需要配置 --with-mail参数1、listen指令
该指令用于配置邮件服务器服务监听的IP地址和端口listen address:port;
address 为邮件服务器监听的IP地址,支持通配符“*”、主机名称。
port 为邮件服务器监听的端口
listen 127.0.0.1:110;
listen *:110;
listen 110; #与*:110配置含义相同
listen localhost:110;
支持IPv6地址
listen [::1]:120;
listen [::]:120;
支持UNIX-domain sockets
listen unix:/var/run/nginx.sock;
该指令只能在server块中配置
2、server_name指令
该指令用于设置每个server块构成的虚拟主机配置的域名server_name name;
name 为配置的服务器域名
如果mail块中配置了多个虚拟主机,该指令只能在server块中配置 如果只有一个虚拟主机,该指令可以在mail块中配置
3、protocol指令
该指令用于配置当前虚拟机主机支持的协议protocol imap | pop3 | smtp;
该指令只能在server块中配置
4、so_keepalive指令
该指令用于配置后端代理服务器是否启动“TCP keepalive” 模式来处理Nginx邮件服务器转发的客户端连接so_keepalive on | off
默认情况下, 该指令配置为off
该指令可以在mail块或者server块中配置
5、配置POP3协议
pop3_auth 指令用于配置POP3认证用户的方式pop3_auth method ...; (该指令可以在mail 块中,或者server块中配置)
method支持以下配置
plain 使用USER/PASS、AUTH PLAIN 、 AUTH LOGIN方式认证。 这是Nginx默认设置
apop 使用APOP方式认证,该方法需要客户端提供的密码是非加密密码
cram-md5 ,使用AUTH CRAM-MD5方法认证。该方法也需要客户端提供的密码是非加密密码
pop3_capabilities extension ...;
extension为要加入POP3协议扩展。
默认值配置
pop3_capabilities TOP USER UIDL;
6、配置IMAP协议
用于配置IMAP协议的指令包含imap_auth指令、imap_capabilities指令和imap_client_buffer指令、imap_auth 指令 用于配置POP3认证用户的方式
imap_auth method ...; (该指令可以在mail块中或server块中配置)
methd支持以下配置
plain 使用AUTH=PLAIN方法认证。仍然是Nginx邮件服务提供IMAP协议的默认设置。
login 使用AUTH=LOGIN方法进行认证
cram-md5 使用 AUTH CRAM-MD5 方法认证,该方法也需要客户端提供的密码是非加密密码。
配置IMAP协议扩展功能
imap_capabilities extension ...;
8、auth_http指令
该指令用于配置Nginx提供邮件服务时的用于HTTP认证的服务地址auth_http URL;
URL为HTTP认证服务器的地址
9、auth_http_header指令
通过该指令可以Nginx服务器向HTTP认证服务器发起认证请求时,向请求头添加指定的头域auth_http_header X-Auth-Key "secret_string";
该指令可以在mail块或者server块中进行配置
10.auth_http_timeout指令
该指令用于配置Nginx服务器向HTTP认证服务器发起认证请求等待响应的超时时间。auth_http_timeout time;
time为超时时间 默认设置为60s 一般该时间设置不超过75s;
11、proxy_buffer指令
该指令用于配置了后端代理服务器(组)的情况,用于配置Nginx服务器代理缓存的大小。一般为平台的一个内存页大小proxy_buffer 4k | 8k;
12、proxy_pass_error_message指令
该指令用于配置了后端代理服务器(组)的情况,用来配置是否将后端服务器上邮件服务认证过程中产生的错误发送给客户端proxy_pass_error_message on | off; (默认是off)
9.3、Nginx邮件服务配置实例
... mail { server_name mail.myweb.name; auth_http mail.postfix.cn:80/auth.php; #配置了HTTP认证地址 imap_capabilities IMAP4rev1 UIDPLUS IDLE LITERAL+ QUOTA; pop3_auth plain apop cram-md5; pop3_capabilities LAST TOP USER PIPELINING UIDL; smtp_auth login plain cram-md5; smtp_capabilities "SIZE 10485760" ENHANCESTATUSCODES 8BITMIME DSN; xclient off; server{ listen 25; protocol smtp; } server{ listen 110; protocol pop3; proxy_pass_error_message on; } server { listen 143; protocol imap; } }
相关文章推荐
- 第七章 Nginx服务器的代理服务【笔记】
- 20. nginx 服务器的邮件服务
- 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级
- 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级
- 树莓派研究笔记(2)-- 安装Nginx 服务器,PHP 和 SQLite
- CentOS下nginx+mono+fastcgi构建asp.net服务器笔记
- nginx 学习笔记(9) 配置HTTPS服务器--转载
- nginx下载服务生产服务器调优
- CentOS4.4下架设简单的邮件服务器笔记
- 使用JavaMail通过QQ/126服务器服务发送邮件
- nginx学习笔记之三:nginx作为反向代理服务器
- centos6.5服务器安装Nginx设置服务和开机自启的方法
- Nginx下载服务生产服务器调优
- 笔记:阿里云服务器下python 配置邮箱服务
- docker学习笔记3—使用Dockerfile与docker build命令创建一个nginx服务器镜像,并使用浏览器进行访问
- 启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级
- 更新至第三章-读实战Nginx取代Apache的高性能Web服务器之笔记-
- Tomcat系列之服务器的基本配置及Nginx反向代理tomcat服务
- 最近Linux测试服务器之Centos+Nginx-笔记
- nginx架构(三)Nginx服务器的代理服务