配置电子邮件传输

基本电子邮件发送

电子邮件发送:
服务器使用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 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文件中找到以下所有指令。

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

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

mydestination
收到地址为这些域的电子邮件将传递至MDA,以进行本地发送。
默认:mydestination = $myhostname, localhost.$mydomain, localhost

mynetworks
IP地址和网络的逗号分隔列表(采用CIDR表示法)。这些地址和网络可以通过此MTA转发至
任何位置,无需进一步身份验证。
默认:mynetworks = 127.0.0.0/8

relayhost
relayhost转发所有通过的出站邮件。通常用方括号指定,以阻止MX记录查找。
默认:relayhost =local_transport

收件地址为$mydestination的邮件的发送方式。默认情况下,设置为local:$myhostname(使用Local MDA将传入电子邮件发送到/var/spool/mail中的本地邮件存储位置).
默认:local_transport = local:$myhostname
postconf  -d                                                             ##显示默认值。
postconf  -n                                                             ##显示不同于默认值的更改。


postfix(用来发送邮件)

1.

postfix提供smtp协议用来投递邮件

默认端口25
/var/log/maillog                                          ##服务日志
mail root@westos.com
Subject:hello
hello world
.                                                                   ##用"."来结束录入内容并发送
mailq                                                          ##查看邮件队列
postqueue -f                                              ##重新处理邮件队列

默认情况下邮件端口只在127.0.0.1上开启




2.
配置
vim /etc/postfix/main.cf
76 myhostname = westos-mail.westos.com          ##指定mta主机名称
83 mydomain = westos.com                                     ##指定mta的域名

99 myorigin = westo.com                                          ##指定邮件来源结尾(@后面的字符内容)

116 inet_interfaces = all                                            ##25端口开启的网络接口

164 mydestination = $myhostname, $myhostname, $mydomain, localhost  ##接收邮件结尾字符的指定

systemctl restart postfix.service                              ##重启postfix服务
systemctl stop firewalld                                            ##关闭防火墙

3.
邮件别名

编辑配置文件:

vim /etc/aliases

别名:    真名                           ##邮件别名

别名: :include:filename    ##邮件群发



vim filename
user1
user2

postalias /etc/aliases

mail 别名

4.
通过远程主机发送邮件
[Kiosk@foundation180 Desktop]$ telnet 172.25.254.180 25
Trying 172.25.254.180...
Connected to 172.25.254.180.
Escape character is '^]'.
220 westos-mail.westos.com ESMTP Postfix
ehlo hello
250-westos-mail.westos.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:root@westos.com
250 2.1.0 Ok
rcpt to:root@qq.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
adsf
asdf
asdf
.

5.
在mta上
postconf -e "smtp_client_restrictions = check_client_access hash:/etc/postfix/access"  ##做hash加密


编辑配置文件,将要拒绝岁的用户的ip写入:

vim /etc/postfix/access

172.25.254.80   REJECT



postfix /etc/postfix/access

systemctl restart postfix                                 ##重启服务

测试
[root@foundatio80 ~]#telnet 172.25.254.180 25
Trying 172.25.254.180 ...
Connected to 172.25.254.180
Escape character is '^]'.
220 westos-mail.westos.com ESMTP Postfix
mail from:root@westos.com
250 2.1.0 ok
rcpt to:root@qq.com

554 5.7.1 <unknow[172.25.254.22]>: Client host rejected:Access denied



6.

限制用户发送
postconf -e "smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender"  ##做hash加密


编辑配置文件,将要拒绝的用户的域名写入:

vim /etc/postfix/sender
student@westos.com    REJECT

postmap  /etc/postfix/sender

systemctl restart postfix                                      ##重启服务

测试
[kiosk@foundation80 Desktop]$ telnet 172.25.254.180 25
Trying 172.25.254.180...
Connected to 172.25.254.180.
Escape character is '^]'.
220 westos-mail.westos.com ESMTP Postfix
mail from:student@westos.com
250 2.1.0 Ok
rcpt to:root@westos.com
554 5.7.1 <student@westos.com>: Sender address rejected: Access denied


7.

限制用户接收
postconf -e "smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recip"  ##hash加密


编辑配置文件,将要拒绝的用户的域名写入:

vim /etc/postfix/recip
westos@westos.com    REJECT

postmap /etc/postfix/recip

systemctl restart postfix          ##重启服务

测试

[kiosk@foundation80 Desktop]$ telnet 172.25.254.180 25
Trying 172.25.254.180...
Connected to 172.25.254.180.
Escape character is '^]'.
220 westos-mail.westos.com ESMTP Postfix
mail from:westos@westos.com
250 2.1.0 Ok
rcpt to:root@westos.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
adsf
adsf
asdf
.
250 2.0.0 Ok: queued as DE17D2461EA
qiut
502 5.5.2 Error: command not recognized
mail from:root@westos.com
250 2.1.0 Ok
rcpt to:westos@westos.com
554 5.7.1 <westos@westos.com>: Recipient address rejected: Access denied



8.

出站地址伪装
postconf -e "smtp_generic_maps = hash:/etc/postfix/generic"  ##做hash加密


编辑配置文件,将要伪装的域名写入,真域名写在前,伪装后的域名写在后:

vim /etc/postfix/generic
westos@westos.com    hello@sb.com

postmap /etc/postfix/generic

systemctl restart postfix

测试
su - westos
mail root@qq.com



9.

入战地址转换
dns mx 记录解析先做好
postconf -e "virtual_alias_maps = hash:/etc/postfix/virtual"  ##做hash加密


编辑配置文件,按如下格式写入:

vim /etc/postfix/virtual
虚拟名字        真实用户
hello@sb.com        westos@westos.com

postmap /etc/postfix/virtual

systectl restart postfix

测试
mail hello@sb.com


dovecot
1.
dovecot 用来提供收件协议
pop3        110
imap        143
imaps        993
pop3s        995



给定用户名称,用户密码,dovecot程序带我们去看这个用户的邮件文件

2.
yum install dovecot -y                             ##安装

3.

编辑以下两个配置文件,并做如下修改:

vim /etc/dovecot/dovecot.conf
24 protocols = imap pop3 lmtp
48 login_trusted_networks = 0.0.0.0/0
49 disable_plaintext_auth = no

vim /etc/dovecot/conf.d/10-mail.conf
30 mail_location = mbox:~/mail:INBOX=/var/mail/%u


systemctl restart dovecot               ##重启服务


[westos@qq-mail  ~] $ mkdir mail/.imap/ -p

[westos@qq-mail ~] $ touch mail/.imap/INBOX


测试:

[kiosk@foundation80 Desktop] $ mutt  -f  pop://westos@172.25.254.180



postfix和mysql

1.

编辑配置文件,并作如下修改:

vim  /etc/postfix/mailuser.cf                       ##用户名称查询


host  =  localhost                                          ##数据库所在主机                                               

user  =  postuser                                          ##登陆数据库的用户

password  =  postuser                                 ##登陆数据库的密码

dbname  =  email                                          ##postfix要查询的名称

table  =  emailuser                                        ##postfix要查询的表的名称

select_field  =  username                            ##postfix要查询的字段

where_field  =  username                                              ##用户给定postfix的查询条件


vim  /etc/postfix/maildomain.cf                   ##用户域名查询


host  =  localhost                                          ##数据库所在主机                                              
user  =  postuser                                          ##登陆数据库的用户
password  =  postuser                                 ##登陆数据库的密码
dbname  =  email                                          ##postfix要查询的名称
table  =  emailuser                                        ##postfix要查询的表的名称
select_field  =  domain                                 ##postfix要查询的域名

where_field  =  domain                                  ##用户给定postfix的查询条件



vim  /etc/postfix/maildomain.cf                   ##用户邮箱位置查询

host  =  localhost                                          ##数据库所在主机                                               
user  =  postuser                                          ##登陆数据库的用户
password  =  postuser                                 ##登陆数据库的密码
dbname  =  email                                          ##postfix要查询的名称
table  =  emailuser                                        ##postfix要查询的表的名称
select_field  =  maildir                                  ##postfix要查询的邮箱
where_field  =  username                            ##用户给定postfix的查询条件


postmap  -q  "abc@abc.com"  mysql:/etc/postfix/mailuser.cf

abc@abc.com


postmap  -q  "abc@abc.com"  mysql:/etc/postfix/maildomain.cf

abc.com


postmap  -q  "abc@abc.com"  mysql:/etc/postfix/mailbox.cf

/mnt/abc.com/abc


配置postfix

groupadd  -g  888  vmail 

useradd  -s  /sbin/nologin  -u  888  vmail   -g  888


postconf -e ""virtual_mailbox_base  =  /home/vmail"                               ##设定虚拟用户的邮件目录

postconf -e ""virtual_uid_maps  =  static:888"                                           ##虚拟机用户建立文件的uid

postconf -e ""virtual_gid_maps  =  static:888"                                           ##虚拟机用户建立文件的gid
postconf -e ""virtual_alias_maps  =  mysql:/etc/postfix/mailuser.cf"
postconf -e ""virtual_mailbox_domain  =   mysql:/etc/postfix/maildomain.cf"

postconf -e ""virtual_mailbox_maps  =   mysql:/etc/postfix/mailbox.cf"


systemctl  restart postfix                                                                                                                                  ##重启服务


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Exchange 环境中抑制和阻止通过电子邮件传输的病毒 7 在 Exchange Server 2003 中抑制和阻止电子邮件病毒:推荐的操作和配置 7 了解恶意软件和 Microsoft 安全布告 8 台式机客户端的配置 8 配置 Windows 防火墙或其他个人防火墙软件 9 执行相应的步骤以保护 Outlook 10 Outlook 中的附件阻止功能 10 对象模型保护 10 保护 Outlook Web Access 11 Outlook Web Access 中的附件阻止功能 12 Internet Explorer 安全区域配置 12 最终用户知识培训 13 Exchange 服务器配置 14 在 SMTP 网关或邮箱服务器上部署防病毒软件 14 限制对 SMTP 的匿名访问 15 匿名中继 15 匿名 SMTP 访问 16 在 Exchange Server 2003 中抑制和阻止电子邮件病毒:可选配置 17 锁定 TCP 端口 25 17 使用 IPSec 锁定 TCP 端口 25 17 如何创建阻止 TCP 25 IPSec 策略 18 开始之前 18 步骤 19 如何创建基本组策略对象 19 开始之前 19 步骤 19 如何创建 IPSec 筛选列表 20 开始之前 20 步骤 20 如何创建入站 SMTP 筛选列表 20 开始之前 20 步骤 20 详细信息 21 如何创建出站 SMTP 筛选列表 21 开始之前 21 步骤 22 详细信息 22 如何创建阻止操作 22 开始之前 23 步骤 23 如何创建并分配 IPSec 策略 23 开始之前 23 步骤 24 如何分配 IPSec 策略 25 开始之前 25 步骤 25 如何在其他组织单位上应用现有 IPSec 策略 25 开始之前 26 步骤 26 禁止不安全的 Outlook 版本访问 Exchange 26 运行 Internet Security and Acceleration Server SMTP 筛选器 28 使用限定的通讯组 28 Exchange Server:病毒攻击发生时应采取的措施 29 了解 Windows 防火墙的“无例外打开”模式功能 29 清理 Exchange 环境 30 阻止 Internet 邮件流 31 合并面向 Internet 的 Exchange 服务器 31 如何在 Exchange 连接器上停止邮件流 31 开始之前 32 步骤 32 详细信息 32 阻止内部邮件流 32 隔离和清理受感染的服务器 32 禁止用户访问 Exchange 33 清理邮件传递基础结构 33 如何停止或重新启动队列中所有邮件的传输 34 步骤 34 详细信息 34 如何查找和删除 SMTP 队列中的特定邮件 34 步骤 35 应用防病毒软件更新 35 清理用户工作站 36 重建用户对邮箱的访问权限 36 重建邮件流连接 36 如何在 Exchange 连接器上重建邮件流 36 步骤 36 详细信息 36 Copyright 37
电子邮件服务器的建立及设置 实验5 电子邮件服务器的建立及设置 5.1 实验目的 了解电子邮件服务器的功能和作用。 熟练掌握一种电子邮件服务器的安装、配置及用户管理的方法。 进一步理解应用层协议。 5.2 实验环境 1.硬件环境 Pentium III 500MHz 以上的微型处理器,以及 256MB 以上内存(推荐计算机 1GHz CPU 和 1GB 内存)。 2.软件配置 Microsoft Windows 9x/NT4/2000/XP以上操作系统 + Internet Explorer 5.0以上版本。SMTP/POP/IMAP 及相关服务需要Winsock TCP/IP 堆栈。 3.网络环境 ISP 提供的互联网访问或局域网环境(仅把 MDaemon 当作一个内部邮件服务器,即不使用它发送和接收外部邮件)。 5.3 准备知识 电子邮件服务是目前Internet上使用最频繁的服务。电子邮件系统不但可以传输各种格式的文本信息,而且可以传输图像、声音、视频等多种信息。 邮件服务器系统的核心邮件服务器负责接收用户送来的邮件,并根据收件人地址发送到对方的邮件服务器中,同时负责接收由其他邮件服务器发来的邮件,并根据收件人地址分发到相应的电子邮箱中。当用户向ISP申请Internet账户时,ISP就会在它的邮件服务器上建立该用户的电子邮件账户,包括用户名(user name)和用户密码(password)。 在电子邮件程序向邮件服务器中发送邮件时,使用的是简单邮件传输协议SMTP;电子邮件程序从邮件服务器中读取邮件时,可以使用邮局协议POP3或交互式邮件存取协议IMAP,它取决于邮件服务器支持的协议类型。配置电子邮件服务器的准备知识如下: 1.相关协议 (1)SMTP(Simple Mail Transfer Protocol):简单邮件传输协议。SMTP是一种提供可靠且有效电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供与来信有关的通知。 电子邮件服务器的建立及设置全文共12页,当前为第1页。SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。SMTP的重要特性之一是其能跨越网络传输邮件,即"SMTP邮件中继"。通常,一个网络可以由公用互联网上TCP可相互访问的主机、防火墙分隔的TCP/IP网络上TCP可相互访问的主机及其他 LAN/WAN中的主机利用非TCP传输层协议组成。使用SMTP,可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关实现某处理机与其他网络之间的邮件传输电子邮件服务器的建立及设置全文共12页,当前为第1页。 在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一跳IP地址。 在传输邮件过程中使用25号端口 SMTP使用模型如图5-1所示。 发送SMTP用户文件系统接收SMTPSMTP命令,应答和邮件内容文件系统接收SMTP发送SMTP 发送 SMTP 用户 文件 系统 接收 SMTP SMTP命令,应答和邮件内容 文件 系统 接收SMTP 发送SMTP 图5-1 SMTP使用模型 (2)POP3(Post Office Protocol 3)。适用于C/S结构的脱机模型的电子邮件协议,目前已发展到第三版,称为POP3。它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是Internet电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件。 POP适用于C/S结构的脱机模型。脱机模型即不能在线操作,不像IMAP4(Netscape支持IMAP4)。当客户机与服务器连接并查询新电子邮件时,该客户机指定的所有邮件都将被程序下载到客户机,下载后,电子邮件客户机就可以删除或修改任意邮件,而无须与电子邮件服务器进一步交互。 (3)IMAP4(Internet Message Access Protocol 4):Internet信息访问协议的第4版本。这是用于从远程服务器上访问电子邮件的标准协议,它是一个客户机/服务器(Client/Server)模型协议,用户的电子邮件由服务器负责接收保存,用户可以通过浏览信件头来决定是不是要下载此信。用户也可以在服务器上创建或更改文件夹或邮箱,删除信件或检索信件的特定部分。 2.POP与IMAP的区别 虽然POP和IMAP都是处理接收邮件的,但两者在机制上有所不同。在用户访问电子邮件时,IMAP4需要持续访问服务器;POP3则

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值