热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

sendmail+sasl2配置

Sendmail的配置文件/etc/mail/sendmail.cf:Sendmail的主配置文件;/etc/mail/access:中继访问控制;/etc/mail/domaintable;域名映射;/etc/mail/local-host-names;本地主机别名;/etc/mail/mailertable:为特定

Sendmail配置文件
/etc/mail/sendmail.cf :Sendmail的主配置文件;
/etc/mail/access :中继访问控制;
/etc/mail/domaintable ;域名映射;
/etc/mail/local-host-names ;本地主机别名;
/etc/mail/mailertable :为特定的域指定特殊的路由规则;
/etc/mail/virtusertable :虚拟域配置

Sendmail 宏定义说明
divert(n) 为m4定义一个缓冲动作,当n=-1时缓冲被删除,n=0时开始一个新缓冲
OSTYPE 定义宏所使用的操作系统,该宏允许m4程序增加同相关操作系统相关的文件
Domain 定义MTA将使用哪些域来传输邮件
Feature 定义配置文件中使用的一个特定的功能集
Define 定义配置文件中的一个特定的选项值
MASQUERADE_AS 定义sendmail来应答邮件的其它主机名
MAILER 定义sendmail使用的邮件传输方法
dnl 注释

中继的配置

是指一台服务器接受并传递源地址和目的地址都不是本服务器的邮件。
在两个文件中进行设置:
/etc/mail/relay-domains
/etc/mail/access。

下面是安装部分

1. 保障DNS服务器正常解析,有MX有对应的A记录等

2. 安装sendmail-8.12.11-4.RHEL3.1+sendmail-cf-8.13.1-2+cyrus-sasl,并增加SMTP认证
cd /etc/mail ; vi sendmail.mc
#找到下面这一段: AEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA') dnl
#将他改成: AEMON_OPTIONS(`Port=25,Addr=0.0.0.0, Name=MSA')dnl
#将下面两前前面的dnl去掉
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
#在上面两行前面增加一行,增加多队列处理能力
define(QUEUE_DIR, `/var/spool/mqueue/q*') #记得在/var/spool/mqueue/目录下建立q1,q2,q3,q4,q5,q6目录!

#编辑完成后,运行m4命令生成sendmail.cf文件

mv sendmail.cf sendmail.cf.old
m4 sendmail.mc > sendmail.cf
#如果m4报Cannot open /usr/share/sendmail-cf/m4/cf.m4错,就看看sendmail-cf这个包安装了没!
#另外在rc.local中增加
/usr/sbin/saslauthd -a pam     #如果没有运行过,可以手工运行一次.

3.安装rpm -ivh /app/imap-2002d-11.i386.rpm

vi /etc/xinetd.d/ipop3
# 找到下面这一行:
disable = yes
# 将他改成
disable = no
#最后重启:
/etc/rc.d/init.d/xinetd restart

#如果用的是dovecot,那么需要在安装RPM包后,编辑/etc/dovecot.conf
找到这一行
#protocols = imap imaps
增加一行
protocols = imap imaps pop3 pop3s
另外在/etc/rc.local中增加
/usr/sbin/saslauthd -a pam

4.其它设置:
vi local-host-names    #在这个文件里面添加你的邮件服务器域名,如zhangjianfeng.com
vi /etc/mail/access     #预设情况下有启用的 IP
localhost.localdomain           RELAY
localhost                       RELAY
127.0.0.1                       RELAY
# 想要开放权限的 IP 与网域
192.168.0           RELAY
140.116.44.125         RELAY
# 挡掉的 IP、主机名称与 E-mail
h8h.com       DISCARD
192.168.1.100    DISCARD
test@testing.domain.name  REJECT
# 储存后离开,并运行make access.db (或makemap hash access.db

#编辑别名设定档:
vi /etc/aliases
新加入这一行在 aliases 的最底下:
groupname: st001,st002,st003,st004.st005,st006,st007….. #设置一个群用户,便于群发
groupname:   :include:/etc/mail/student9213 #读取所有群用户的资料在student9213文件中,利于管理
vbird:     vbird,vbird@vbird.adsldns.org #设置一个转发帐户,一封邮件在发给vbird的同时,会抄一份至vbird@vbird.adsldns.org

#制作数据库 /etc/aliases.db   ,运行命令newaliases
在 Red Hat 的预设条件中,在 /var/spool/mqueue 当中的信件会每隔 60 分钟由 Sendmail 尝试重新传送一次到目的地去!这个尝试的时间是可以改变的!可以利用 sendmail 的指令或者直接修改 /etc/sysconfig/sendmail 里面的 『QUEUE=时间』来修订!例如,如果你想要让 Sendmail 每隔 30 分钟就帮你尝试传送 /var/spool/mqueue 里面的未寄出的信件时,那么就将 /etc/sysconfig/sendmail 这个档案里面的『QUEUE=1h 』改成『QUEUE=30m 』即可!

????????-
mail使用相关
????????-
++给某用户发邮件
mail user@email.domain.name
Subject: This is a test mail
There are writing area!
You can't use the Up/Down button in this form…
you can finish with "."
. <==这个『.』就是结束符号!要正常离开编辑画面就是 . !
Cc: <==这就是副本!

++用 mail 寄出纯文本文件
mail -s '这里可以接邮件标题' 这里是邮件收件者 < 文件名称
范例: mail -s 'This is a test mail' vbird
++sendmail
中,可不可以把一个用户的信转发的同时保存副本
经理想把发到eee@iie.com 的信都转到eee@sohu.com去。但同时在eee@iee.com里保存一封!@
edit $HOME/.forward
address1 #这个是要转发的地址
address2\ #这 address2\ 是自己,自己要加 \ 的原因是避免 loop

++h除mail
    mail -u username
    del 邮件编号
       & d user
       & d 1-100

++
显示信件队列
mailq -v

++显示邮件在 Mailer 中的统计状态  
mailstats

++立即发送队列的邮件
sendmail -q

++立即处理队列中alpha用户的邮件  
sendmail -qS alpha

++邮件别名、组建立等
vi /etc/aliases ;newalises

++限制最大邮件
vi /etc/sendmail.cf
# maximum message size
O MaxMessageSize=20000000 (注:20M)
注:sendmail模块里不能判断有无附档,只能判断整个邮件大小

++限制最大的群发数目
vi /etc/sendmail.cf
# maximum number of recipients per SMTP envelope
O MaxRecipientsPerMessage=100 (注:100个)

++控制sendmail发送邮件列表的时间设置
vi /etc/sysconfig/sendmail
QUEUE=1h表示1小时,1m表示1分钟,自己根据需要调整吧.

++mailstats邮寄状态查询命令
M :
msgsfr:发送的邮件数量。
bytes_from:邮件容量
megsto:收到邮件的数量。
bytes_to:同上
msgsrej:邮件deny的次数。
msgsdis:邮件discard的次数。
Mailer :esmtp对外邮件 ,local本地邮件 。

++Sendmail中添加RBL功能
需要对sendmail.mc添加以下内容:
FEATURE(`dnsbl",`relays.ordb.org",`″Email blocked using ORDB.org - see ″")  
最后执行"m4 sendmail.mc>sendmail.cf"

++sendmail启动慢
在hosts里面加入主机名的FQDN名称

++清除队列邮件
rm /var/spool/mqueue/xxxx

sendmail stop
cd /var/spool/mqueue
rm -f *
sendmail start

++修改telnet mailserver 25时得到的邮件服务器FQDN信息
修改/etc/sysconfig/network里的hostname

++# my official domain name
++#… define this only if sendmail cannot automatically determine your domain
Dj$w.Foo.COM #其中$w指主机名部分(no domain name)

++定义aliases档案位置
0 AliasFile=/etc/mail/aliases

++ minimum number of free blocks on filesystem
O MinFreeBlocks=100

++ maximum hop count
#O MaxHopCount=25

++ send to me too, even in an alias expansion?
#O MeToo=True

++ queue directory
O QueueDirectory=/var/spool/mqueue

++ maximum number of children we allow at one time
#O MaxDaemOnChildren=0 # sendmail预设可以同时启动12个,表示可以同时收12封信

++sendmail仅做转发服务器设置
1).去掉local-host-names中相应域名
2).编辑mailertable,加入类似下行
zhangjianfeng.com      relay:[192.168.0.200] #192.168.0.200即为后端邮件服务器
3).vi access,add following line.
zhangjianfeng.com RELAY

++smarthost 邮件转寄设置方法
vi /etc/mail/sendmail.cf
找到DS
改为DS[*.*.*.*] 注:填入要转寄的smarthost地址

测试服务器是否已经限制了第三方转发:http://www.abuse.net/relay.html,正确的Relay test result应该是
All tests performed, no relays accepted.

推荐阅读
  • asp中如何嵌入python的简单介绍
    本文目录一览:1、如何在IIS中执行Python脚本 ... [详细]
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 服务器上的操作系统有哪些,如何选择适合的操作系统?
    本文介绍了服务器上常见的操作系统,包括系统盘镜像、数据盘镜像和整机镜像的数量。同时,还介绍了共享镜像的限制和使用方法。此外,还提供了关于华为云服务的帮助中心,其中包括产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题和视频帮助等技术文档。对于裸金属服务器的远程登录,本文介绍了使用密钥对登录的方法,并提供了部分操作系统配置示例。最后,还提到了SUSE云耀云服务器的特点和快速搭建方法。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • vb6集成ad登录共享文件_SCSP实验2单点登录
    01—实验目的掌握单点登陆相关原理和深信服配置02—实验环境1.AC版本v12.0.42AC1地址:https:172.172.1.1AC2地址:htt ... [详细]
  • 问题描述:域名已经备案,我全部都有,也在后台配置了,但是手机预览,还是请求失败,PC端是可以请求 ... [详细]
  • http:www.cnblogs.compirloarchive200909091563368.html以前操作Excel的话,一般都会去用Microsoft.Jet.OLEDB.4. ... [详细]
  • linux6.5 配置邮件服务,centos 6.5服务器搭建邮件服务postfix和dovecot
    centos6.5搭建邮件服务postfix和dovecot------------------------------------------------安装DNS指定邮件交换记 ... [详细]
  • 你是否注意到,当你在高优先级下运行应用程序是,应用程序运行得特别快(这也视你运行什么样的应用程序而定)。拿WinRar做例子 ... [详细]
  • npminstall-Dbabelcorebabelpreset-envbabelplugin-transform-runtimebabelpolyfillbabel-loader ... [详细]
  • C++程序员视角下的Rust语言
    自上世纪80年代初问世以来,C就是一门非常重要的系统级编程语言。到目前为止,仍然在很多注重性能、实时性、偏硬件等领域发挥着重要的作用。C和C一样&#x ... [详细]
  • .NET中各种数据库连接大全(转)[more].NET中各种数据库连接大全sql.gif)SQLSERVEROdbCStandardSecurity:driver{SQLSe ... [详细]
author-avatar
你去过的地方叫远方
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有