SMTP邮件协议体系

SMTP邮件协议体系


MUA(Mail User Agent)接收邮件所使用的邮件客户端,使用IMAP或POP3协议与服务器通信;如 outlook、thunderbird、Mac Mail、mutt;
MTA(Mail Transfer Agent) 通过SMTP协议发送、转发邮件;如:sendmail、postfix
MDA(Mail Deliver Agent)将MTA接收到的邮件保存到磁盘或指定地方,通常会进行垃圾邮件及病毒扫描;如 procmail、dropmail
MRA(Mail Receive Agent)负责实现IMAP与POP3协议,与MUA进行交互;dovecot。
SMTP(Simple Mail Transfer Protocol)简单邮件传输协议;
IMAP(Internet Message Access Protocol)接收邮件使用的标准协议之一;
POP3(Post Office Protocol 3) 接收邮件使用的标准协议之一。

POP3通常用于网络连接较慢的用户连接至邮件服务器。POP3的一条基本原则是,MUA从服务器上下载邮件并保存在本地磁盘上,然后将服务器上的邮件删除。
IMAP通常用于局域网(LAN)或网络连接较快的用户,使用 IMAP的目的就是只在每次有未读消息时才连接服务器(而不是使用类似于MUA的缓存)。

##邮件格式:
1、[email protected](用户名@域名)
2、[email protected](用户名@主机名)
而1是最早创建的格式,2是最为确切的位置
域并不代表一个特定的主机,所以还不知道邮件服务器的主机名是那个,而在dns中可以记录一个域的邮件服务器地址(称为mx记录)。所以在发送邮件时候还要通过dns去查找该域下的邮件服务器的地址。

##SMTP
SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地;
SMTP使用TCP端口25。要为一个给定的域名决定一个SMTP服务器,需要使用MX (Mail eXchange)DNS。

登陆smtp服务器:
telnet smtp.qq.com 465
ping smtp.qq.com

状态码:
220 : 服务就绪
250 :请求邮件动作正确,完成(HELO,MAIL FROM,RCPT TO,QUIT 指令执行成功会返回此信息)
235 :认证通过
221 :正在处理
354 :开始发送数据,结束以 .(DATA指令执行成功会返回此信息)
500 :语法错误,命令不能识别
550 :命令不能执行,邮箱无效
552 :中断处理:用户超出文件空间

1.利用qq邮箱的smtp发送邮件
SMTP邮件协议体系

 auth login后需要输入你的qq邮箱的用户名和密码,而且要转换为BASE64编码,如QQ 352000114 用户名对应MzUwNTEwMzc2,

SMTP邮件协议体系


出现的问题:

SMTP邮件协议体系

由于qq邮箱的安全设置问题,需要开启POP3/SMTP服务获取授权码登陆;
一般通过网站发送的邮件会被认为不安全的,可以在邮箱首页-自助查询-收信查询-邮件拦截     查看被过滤的邮件


2.postfix的配置(发送邮件服务器)
vim /etc/postfix/main.cf
主要配置参数:
myhostname = mail.lysine.com
 #postfix邮件系统的主机名
mydomain = lysine.com
 
myorigin = $mydomain
#指明发件人域名,为@后面的域名
 
inet_interfaces = all
#指定postfix系统监听的网络接口
inet_protocols = all
 
mydestination = $myhostname, localhost.$mydomain, localhost,$mydomain
#指定postfix接收邮件时的收件人域名
mynetworks = 192.168.1.0/24, 127.0.0.0/8
#指定所在网络地址,区别远程还是本地,允许本地访问
broken_sasl_auth_clients = yes
smtpd_banner = $myhostname ESMTP Server
smtpd_sasl_auth_enable = yes   #服务器使用smtp认证
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_security_options = noanonymous  #不允许匿名登陆
message_size_limit = 5242880    #邮件大小为5M


2.smtp认证的相关配置
vim /etc/sasl2/smtp.conf

SMTP邮件协议体系

为了提高安全性,不将系统用户的密码作为相应用户SMTP认证的密码,而将在后面为用户建立SMTP认证专用的密码,并采用MD5加密方式;


vim /etc/sysconfig/saslauthd
MECH=shadow
FLAGS=sasldb2


chmod 755 /etc/sasldb2
chkconfig postfix on

SMTP邮件协议体系

 发送邮件

SMTP邮件协议体系

SMTP邮件协议体系

日志查看  tailf /var/log/maillog

SMTP邮件协议体系


3.dovercot  开源的IMAP和POP3,作为MRA
vim /etc/dovecot/dovecot.conf

SMTP邮件协议体系

vim /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no

auth_mechanisms = plain login

SMTP邮件协议体系

在/etc/hosts 添加本地的域名映射:192.168.1.120  mail.lysine.com

测试devocot

SMTP邮件协议体系