首页 > 代码库 > SMTP

SMTP

本单元涵盖的主题:
 *基本电子邮件配置
 *空壳电子邮件服务器配置

*邮件群发

*空壳邮件

*【postfix+dovecot+mysql】

_________________________________________________________________________________________________________________________________________

基本电子邮件配置

 

            [基本电子邮件发送]
  *服务器使用SMTP协议将电子邮件提交至TCP端口25,或由本地客户端通过
/usr/bin/sendmail程序进行提交。如果该MTA是最终目标位置,邮件将传递至MDA。否
则,将使用MX记录在DNS中查找下一个MTA,并使用SMTP进行转发。

  *MDA:“邮件发送代理”。MDA将邮件发送至收件人的本地邮件存储位置(默认情
况下是/var/spool/mail/user)。Postfix提供自己的MDA,以发送至基于文件的本地默认
邮件存储位置/usr/libexec/postfix/local.
  

  *转发:电子邮件服务器(MTA)将提交的邮件转发至另一个服务器,以进行发送
   

  *排队:失败的发送或转发尝试排队等待,并由MTA定义重试。(默认情况下,Postfix
每小时执行此操作一次)
  

  *拒绝:在首次提交期间,电子邮件被电子邮件服务器拒绝
  

  *退回:远程服务器接受电子邮件以进行发送以后,又将该电子邮件退回给始发电子邮
件服务器和/或用户

技术分享
---------------------------------------------------------------------------------------------------------------------------------

                【Postfix】

  *Postfix由postfix RPM包提供,并通过postfix服务脚本控制。它是一个由多个协同操作程序构成的模块化程序,它的组件由master进程控制。
  

  *Postfix的主配置文件是/etc/postfix/main.cf,可以使用文本编辑器或postconf命令进行编辑。postconf命令还可用于确定Postfix的所有当前和默认配置设置或逐项确定这些设置。
  

  *默认情况下,Postfix仅侦听来自本地主机的传入电子邮件。若要重新配置postfix以接收从远程主机发送的本地邮件,必须在/etc/postfix/main.cf中设置inet_interfaces = all
  

  *对电子邮件进行故障排除时,将在/var/log/maillog中保留所有与邮件相关的操作日志,其中包括关于被事件和成功事件的信息。mailq命令(或postqueue -p)显示已排队的所有传出邮件的列表。若要尝试再次立即发送所有已排队的邮件,可以运行postfix flush命令(或postqueue -f);否则,postfix将大约每小时尝试重新发送一次,直至邮件被接受或过期.

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

            [重要的Postfix配置指令]
可以在/etc/postfix/main.cf文件中找到以下所有指令。所有指令前不可有空格。

#myhostname :

      设置所发邮件显示的主机名

      例:技术分享

 

#myorigin:
    重写本地发布的电子邮件,使其显示为来自该域。这样有助于确保响应返回入站邮件服务器
    显示域:myorigin = $mydomain

技术分享

 

#inet_interfaces:
    控制Postfix侦听传入电子邮件的网络接口。如果设置为loopback-only,仅侦听127.0.0.1和::1,如果设置为all,则侦听所有网络接口。还可以指定特定地址。
    默认:inet_interfaces = localhost (all为监听所有)

技术分享

#mydestination:
    收到地址为这些域的电子邮件将传递至MDA,以进行本地发送。(确定你的postfix的收件类型)
    mydestination = $myhostname,  $mydomain, localhost

技术分享

 

*若不能接收到邮件,查看25号端口是否开启

技术分享

*接收邮件需要关闭防火墙对SMTP的限制

——————————————————————————————————————————————————————————————————

                                【邮件群发】

修改 /etc/aliases

1.在文件末尾见添加收件用户名单的路径:

“qun“为接收群组名,/etc/...为收件用户名单路径;

技术分享

 postalias /etc/aliases 更新设置

编辑用户名单:

技术分享

发送格式:

技术分享

查看:

技术分享

____________________________________________________________________________________________________

                      【空壳邮件客户端】

1.伪装收件地址

vim /etc/postfix/virtual:

在了文件末尾添加:

@puer.com(伪装域名)  @server.com (真域名)

技术分享


postconf -e " virtual_alias_maps = hash:/etc/postfix/virtual"  修改virtual_alias_maps为经过哈希加密的/etc/postfix/virtual(virtual.db)
postmap /etc/postfix/virtual  更新设置
systemctl restart postfix     重启

2.伪装发件地址

vim /etc/postfix/generic

文件末尾添加

@server.com (真域名)   @puer.com(伪装域名)

 技术分享

postconf -e "smtp_generic_maps = hash:/etc/postfix/generic"

postmap generic

systemctl restart postfix     重启

 

以上操作即可实现 *@server.com的接发邮件都以*@puer.com实现

——————————————————————————————————————————————————————————————————————————

                            【mysql+dovecot+apache+postfix】

yum install dovecot -y  安装 豆腐块(接收邮件服务器)

yum install dovecot-mysql -y  建立豆腐块与mysql的连接

mysql -uroot -p

登陆mysql,建立用户postfix,并赋予读写权限;

由postfix用户建立收件用户信息的数据库,包含字段username,password,domain,maildir(邮件目录最后必须加“/“),字段必须与/etc/dovecot/dovecot-sql.conf.ext中第108行相同;

邮件经过加密后存放在dovecot服务器的指定用户目录中;

收件用户通过dovecot从数据库读取用户信息后生成的验证即可查看收到的邮件。

 

 

  205  systemctl start dovecot.service 启动服务
  206  vim /etc/dovecot/dovecot.conf  编辑豆腐块配置文件

技术分享

48行  允许登陆的ip

49行  关闭禁止明文登陆


  207  vim /etc/dovecot/conf.d/10-auth.conf

技术分享

修改认证机制为“明文“

技术分享

123行,开启与mysql的连接

 

  208  cp /usr/share/doc/dovecot-2.2.10/example-config/dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext
  209  vim /etc/dovecot/dovecot-sql.conf.ext

添加驱动:mysql

技术分享

 

技术分享

连接方式:本地连接; 数据库名:mailuser(自定义)user(登陆用户名)=*** password=****

技术分享

默认密码体系:明文

 

技术分享

参数含义

技术分享

*登陆收件服务器用户密码验证设置

技术分享

选择字段

技术分享为选择 表psotfix;%u为带域的完整用户名,%d为域(@****)

技术分享

*登陆收件服务器用户名验证设置


  210  vim /etc/dovecot/conf.d/10-mail.conf

技术分享

*所收邮件存放位置
 
systemctl restart dovecot 重启服务

 

*收件用户访问方式:

以“雷鸟“为例

1.点击Email

  技术分享

2.点击skip

技术分享

3.输入用户名和邮箱地址,continue

技术分享

4.点击手动配置

技术分享

技术分享

输入邮件服务器的ip或域名,点击re-test,无报错即输入正确,完成后点击Done.

5.登陆邮件服务器

技术分享

 点击“Read messagrs”,输入数据库中设置的密码即可完成登陆

SMTP