Linux&&Postfix&&sendEmail&&邮件服务

了解邮件服务器

邮件系统包含哪几个邮件系统角色?

MUA(邮件用户代理)
管理客户端的邮件发出,将客户端的邮件发送到邮件系统端的MTA。
MTA(邮件传输代理)
实现不同邮件系统间的邮件传输,基于SMTP协议完成邮件发送(传输)。
MDA(邮件分发代理)
管理邮件系统端的邮件分发,将收到的邮件分发到客户端。

邮件服务的相关协议有哪些?

SMTP
简单邮件传输协议,监听在TCP的25端口
POP3
第三版邮局协议,监听在TCP的110端口
IMAP4
第四版互联网消息访问协议,监听在TCP的143端口

客户端1:客户端通过访问邮件系统端的143/110端口来取自己的邮件。一般使用POP3协议取自己的邮件。
客户端2:webmail是处在邮件系统端的web页面的邮件收发系统。客户端通过80端口访问web页面的邮件收发系统平台。一般使用IMAP协议取自己的邮件。
webmail与MUA客户端功能类似。

工作示意图
在这里插入图片描述

常见的MTA邮件服务器软件

在这里插入图片描述

常见的邮局服务有哪些?

dovecot

常见的webmail邮件客户端有哪些?

squirrelmail

常见的MUA邮件客户端有哪些?

Foxmail
在这里插入图片描述

Postfix邮件服务器

Postfix(MTA)邮件服务器搭建

如果服务器默认安装了sendmail服务,则关闭该服务

/etc/init.d/sendmail  stop
chkconfig  --level  2345  sendmail  off

Postfix源码编译、安装

#创建程序组
groupadd  -g  1200  postdrop
groupadd  -g  1000  postfix
##创建程序用户postfix
useradd  -M  -u  1000  -g  postfix  -G  postdrop  -s  /sbin/nologin  postfix

#解压postfix源码包、编译前配置、编译安装
tar  zxf  postfix-2.11.3.tar.gz
cd  postfix-2.11.3
make  makefiles  'CCARGS=-DUSE_SASL_AUTH -DUSE_CYRUS_SASL  -I/usr/include/sasl'  'AUXLIBS=-L/usr/lib/sasl2  -lsasl2'
make  &&  make install
#安装时提示设置服务安装根目录等操作,均采用默认即可。

#查看postfix配置文件的有效配置
cd  /etc/postfix/
postconf
#查看非默认配置
postconf  -n
#查看默认配置
postconf  -d

#简化配置文件.本质上就是把主配置文件备份,并用非默认配置命令形成新的主配置文件。
postconf  -n  >  tmp.file
mv  /etc/postfix/main.cf  /etc/postfix/main.cf.bak
mv  tmp.file  /etc/postfix/main.cf

Postfix的主要目录

在这里插入图片描述

扫描二维码关注公众号,回复: 9546303 查看本文章

incoming : 刚刚收到的邮件
active : 正在投递的邮件
deferred : 延迟转发的邮件
hold : 邮件过滤,配合杀毒软件检测邮件是否安全
corrupt : 损坏的邮件,如邮箱格式填写的异常的邮件或外域邮件地址。
postconf : 简化配置文件的目录
postfix : 启动控制脚本

安装、配置dns服务

yum  clean  all
yum  -y  install  bind  bind-chroot
vim  /etc/named.conf
    options {
        directory  "/var/named";
        dump-file  "/var/named/data/cache_dump.db";
        statistics-file  "/var/named/data/named_stats.txt";
        recursion  yes;
        dnssec-enable  yes;
        dnssec-validation  yes;
        /*等等等等
        配置本地监听和禁用允许访问队列这些*/
    }
vim  /etc/named.rfc1912.zones
    zone  "test.com"  in  {
        type  master;
        file  "test.com";
    };
cd  /var/named/
vim  test.com
    @TTL  1D
    @           IN  SOA  @  rname.invalid.  (
                                                 0    
                                                 1D
                                                 1H
                                                 1W
                                                 3H)
               in  ns  dns
    dns        in  a  192.168.75.111
    @          in  mx  5  mail
    mail       in  a  192.168.75.111
vim  /etc/resolv.conf
    nameserver    192.168.75.111
#重启服务生效
service  named  restart

配置Postfix服务

vim  /etc/postfix/main.cf
    #监听在哪个网卡
    inet_interfaces=192.168.75.111,127.0.0.1
    #配置主机名全称
    myhostname=mail.test.com
    #配置为哪个域服务
    mydomain=test.com
    #定义邮件服务器向外发送邮件时使用的域名
    myorigin=$mydomain
    #定义当前邮件服务器为哪些类型的域名提供服务
    mydestination=$mydomain,$myhostname
    #定义邮件存放目录。默认邮件保存在/var/spool/mail/目录下。
    home_mailbox=Maildir/
    
#运行邮件服务
postfix  start
#检测是否已启动
netstat  -ant  |  grep  :25

home_mailbox=Maildir/ : 每个用户在其宿主目录下创建邮件保存目录Maildir并以单个文件的形式存放邮件。

发送邮件测试

#添加测试账号
useradd  u1
useradd  u2
#发送邮件测试
telnet  mail.test.com  25
    #与邮件服务器打招呼
    helo localhost
    #邮件发送
    mail from: [email protected]
    #指定邮件接收用户
    rcpt to: [email protected]
    #定义邮件内容。第一行以data开头代表邮件内容开始。最后一行以点开头代表邮件内容结束。
    data
    this is test mail
    .
    #退出
    quit
#查看邮件发送记录
ls  /var/spool/postfix/defer/0/*

#启动postfix服务 postfix start
#查看postfix的运行状态 postfix status
postfix check
postfix reload
/var/spool/postfix/defer/0/* : 发送失败邮件的保存记录

配置dovecot邮局服务,允许客户端接收邮件

#解压
tar  zxf  dovecot-2.0.21.tar.gz
#创建程序用户
useradd  -M  -s  /sbin/nologin  dovecot
useradd  -M  -s  /sbin/nologin  dovenull
#编译、安装
cd  dovecot-2.0.21
./configure  --sysconfdir=/etc  &&  make  &&  make  install

#配置为系统服务
cp  doc/dovecot-initd.sh  /etc/init.d/dovecot
chmod  +x  /etc/init.d/dovecot
chkconfig  --add  dovecot

#建立dovecot服务的配置文件
cp  -r  /usr/local/share/doc/dovecot/example-config/*  /etc/dovecot/
#配置dovecot配置文件,指明由其负责验证。
vim  /etc/pam.d/dovecot
    #%PAM-1.0
    auth  required  pam_nologin.so
    auth  include  system-auth
    account  include  system-auth
    session  include  system-auth

#配置主配置文件dovecot.conf
vim  /etc/dovecot/dovecot.conf
    #定义包含子文件
    !include  conf.d/10-auth.conf
    #暂不启动https
    ssl=no
    #禁止明文认证
    disable_plaintext_auth=no
    #邮件存放路径
    mail_location=maildir:~/Maildir

service  dovecot  restart
#此时dovecot服务同时监听了110和143端口

配置禁止非法(匿名用户)随意发送邮件

即实现SMTP认证
结合Cyrus SASL(简单认证安全协议)软件实现
在这里插入图片描述

#设置Cyrus SASL函数库,并启动saslauthd服务
##建立SMTP认证配置文件smtpd.conf。基于saslauthd完成口令检查
vim  /usr/lib64/sasl2/smtpd.conf
    pwcheck_method:saslauthd
/etc/init.d/saslauthd  start
chkconfig  --level  35  saslauthd  on

#添加SMTP认证支持,并重载服务
vim  /etc/postfix/main.cf
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_security_options = noanonymous
    mynetworks = 127.0.0.1
    smtpd_recipient_restrictions = 
        permit_mynetworks,
        permit_sasl_authenticated,
        reject_unauth_destination
##重新加载postfix服务
postfix  reload

#此时Foxmail邮件客户端将无法正常发送邮件。因为开启了邮件合法性认证功能,邮件需要带有认证请求标识,需要设置“工具”》“账户”》“选择当前邮件账户”》“属性”》“服务器”》勾选“我的服务器要求身份验证”即可。

在这里插入图片描述
在这里插入图片描述

基于网页端的webmail邮件客户端搭建

在这里插入图片描述

#部署LAMP环境
yum  clean  all
yum  -y  install  httpd  mysql-server  php  php-mysql

#部署squirrelMail到网站目录
tar  zxf  sqirrelmail-1.4.22.tar.gz  -C /var/www/html/
tar  zxf  zh_CN-1.4.22-20110425.tar.gz  -C  /var/www/html/squirrelmail-1.4.22/
mv  /var/www/html/squirrelmail-1.4.22/  /var/www/html/webmail

#创建数据目录、附件目录
cd  /var/www/html/webmail/
mkdir  -p  data/  attach/
#修改属主属组
chown  -R  apache.apache  data/  attach/

#配置webmail主配置文件
cp  config/config_default.php  config/config.php
vim  config/config.php
    <?php
    #定义域名
    $domain = 'test.com';
    #定义发件服务器ip地址
    $smtpServerAddress = 'localhost';
    #定义端口号
    $smtpPort = 25;
    #定义收件服务器ip地址
    $imap_server_type = 'dovecot';
    $imapPort = 143;
    #定义数据文件存放路径
    $data_dir = '/var/www/html/webmail/data/';
    #定义附件文件存放路径
    $attachment_dir = '/var/www/html/webmail/attach/';
    #定义webmail界面语言
    $squirrelmail_default_language = 'zh_CN';
    #定义字符集
    $default_charset = 'zh_CN.UTF-8';
    ?>

通过浏览器访问webmail网站
在这里插入图片描述
发送邮件测试
通过别名设置邮件组

vim  /etc/postfix/main.cf
    #启动支持别名功能
    alias_maps = hash:/etc/aliases
#重新加载服务
postfix  reload

#添加别名设置.配置别名查询表
vim  /etc/aliases
    student:zhangsan,lisi,wangwu,zhouliu
    teacher:qwe,asd
#更新别名数据库
newaliases
#重新加载服务
postfix  reload

别名必须是非系统用户!

在这里插入图片描述

邮箱大小限制

在这里插入图片描述

基于pc端的Foxmail邮件客户端使用

  1. 百度下载Foxmail软件并安装
  2. 打开Foxmail软件,登录一个可用的邮箱账号。
  3. 打开“手动设置”,设置接收服务器类型为“POP3”
    在这里插入图片描述
  4. List item

基于pc端的Outlook Express邮件客户端使用

  1. 设置pc端的dns地址为192.168.75.11
  2. 打开Outlook Express软件
  3. 填写发送者名称、发送邮箱账号、接收邮件服务器域名、发送邮件服务器名称
  4. 登录邮箱账号
  5. 向u2发送邮件测试
    在这里插入图片描述
  6. 服务器端配置完成dovecot邮局服务后,就可以使用收邮件功能从邮局下载邮件到本地啦。

sendEmail邮件服务器

基于shell的sendEmail发送邮件

/usr/local/bin/sendEmail-v1.56/sendEmail -f [email protected] -t '.$email.' -s smtp.163.com -u "来自易博通的会议邀请" -o message-content-type=html -o message-charset=utf8 -xu [email protected] -xp qwe123qwe -m "易博通客户,您好:您的朋友'.$name.'邀请您参加视频会议,请及时参加会议!房间名称:'.$room_name.',房间密码:'.$room_password.',客户端下载地址:'.$url.'。谢谢。来自可爱的易博通。"

43:00

发布了73 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/dfq737211338/article/details/104012597
今日推荐