第九章 Nginx服务器的邮件服务【笔记】
来源:互联网 发布:cf36 1网络异常 编辑:程序博客网 时间:2024/05/21 01:29
涉及内容:
- 邮件服务基本知识
- 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服务器的升级
- 18.nginx 服务器的代理服务
- nginx架构(三)Nginx服务器的代理服务
- 第五章Nginx服务器的Gzip压缩(笔记)
- 第八章 Nginx服务器的缓存机制【笔记】
- 搭建邮件服务器笔记
- 第一行代码笔记,第九章-----探究服务
- 启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级
- Nginx学习笔记七Nginx的Web缓存服务
- Nginx学习笔记七Nginx的Web缓存服务
- Nginx学习笔记七Nginx的Web缓存服务
- 第九章 服务
- 第九章:服务
- RHEl 5服务篇—部署Postfix邮件服务(二)配置邮件服务器的收、发信服务
- Nginx图片服务器的安装笔记《1》
- 实现文件描述符版的fwrite
- Swift 4.0 字符串(String)学习
- PHP消息队列
- python简洁代码实现快速排序
- Tensorflow 使用slim框架下的分类模型进行分类
- 第九章 Nginx服务器的邮件服务【笔记】
- BigDecimal
- POJ 3280
- opencv——利用轮廓信息画斜矩形、外接圆、拟合直线等
- U盘出现无法访问,文件或目录损坏且无法读取的情况的解决办法。
- 组合聚合区别
- POJ 1811 Prime Test(大素数判断和素因子分解)
- 树莓派3B+ 前世今生
- 【乱搞】BZOJ5074 [Lydsy十月月赛]小B的数字