设为首页 收藏本站
查看: 1461|回复: 0

[经验分享] sendmail 学习笔记

[复制链接]
累计签到:6 天
连续签到:1 天
发表于 2015-11-25 12:08:36 | 显示全部楼层 |阅读模式
   基础知识
  1.守护进程
sendmail,监听端口25。
  2.配置文件
/etc/aliases /etc/mail
  /etc/mail/sendmail.cf
/etc/mail/sendmail.mc(通过修改该文件生成一个sendmail.cf文件,如下使用m4命令:)
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf (m4需要安装sendmail-cf-8.13.1-3.2.el4.i386.rpm)
  
  /etc/mail/access.db 决定那些主机可以通过本邮件服务器发送邮件,该文件是二进制,所以要通过修改access文件来生产access.db。
  access 文件格式:
  IP|域名  RELAY|REJECT|OK|DISCARD      (允许SMTP代理投递|拒绝接受并发布错误信息|无条件接受|放弃邮件,无错误信息发布)
  192.168  RELAY  //允许192.168整个网段的IP
  使用命令makemap生产access.db
  makemap hash /etc/mail/access.db < /etc/mail/access
    /etc/mail/submit.mc
  /etc/mail/submit.cf
  3.启动脚本
service sendmail start|stop|restart|status
  4.sendmail.mc初始配置
  include(`/usr/share/sendmail-cf/m4/cf.m4')dnl     包含/usr/share/sendmail-cf/m4/cf.m4文件;
  VERSIONID(`setup for Red Hat Linux')dnl      定义版本信息;
  OSTYPE(`linux')dnl        选择包含操作系统指定属性的文件;
  define(`confDEF_USER_ID',``8:12'')dnl      指定sendmail用户使用用户ID为8,组ID为12;
  dnl define(`confAUTO_REBUILD')dnl   
  define(`confTO_CONNECT', `1m')dnl      设置等待连接的最长时间为1分钟;
  define(`confTRY_NULL_MX_LIST',true)dnl      如果MX记录指向本机,则sendmail直接连接到远程主机;
  define(`confDONT_PROBE_INTERFACES',true)dnl     sendmail不会自动的把服务器网络接口视为有效地址;
  define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl    设置procmail的存放路径;
  define(`ALIAS_FILE', `/etc/aliases')dnl      设置邮件别名存放路径;
  define(`STATUS_FILE', `/var/log/mail/statistics')dnl    设置日志文件路径;
  define(`UUCP_MAILER_MAX', `2000000')dnl      基于UUCP协议的mailer处理信息的最大限制为2M;
  define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl    设置用户数据库文件路径;
  define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl 设置部分邮件命令的标志;
  define(`confAUTH_OPTIONS', `A')dnl      授权成功后,将AUTH参数添加到邮件的消息头中;
  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
dnl define(`confCACERT_PATH',`/usr/share/ssl/certs')
dnl define(`confCACERT',`/usr/share/ssl/certs/ca-bundle.crt')
dnl define(`confSERVER_CERT',`/usr/share/ssl/certs/sendmail.pem')
dnl define(`confSERVER_KEY',`/usr/share/ssl/certs/sendmail.pem')
dnl define(`confDONT_BLAME_SENDMAIL',`groupreadablekeyfile')dnl
dnl define(`confTO_QUEUEWARN', `4h')dnl
dnl define(`confTO_QUEUERETURN', `5d')dnl
dnl define(`confQUEUE_LA', `12')dnl
dnl define(`confREFUSE_LA', `18')dnl
define(`confTO_IDENT', `0')dnl       设置ident查询等待的最大响应时间为0秒;
dnl FEATURE(delay_checks)dnl
FEATURE(`no_default_msa',`dnl')dnl      允许msa被DAMEMON-OPION覆盖的默认配置;
  FEATURE(`smrsh',`/usr/sbin/smrsh')dnl      设置邮件发送器smrsh的存放路径;
  FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl   设置邮件发送器数据库的存放路径;
  FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl  设置虚拟邮件域数据库的存放路径;
  FEATURE(redirect)dnl        支持.redirect虚拟域;
  FEATURE(always_add_domain)dnl       增加主机名到所有本地发送的邮件;
  FEATURE(use_cw_file)dnl        加载/etc/mail/local-host-name文件中定义的主机;
  FEATURE(use_ct_file)dnl        加载可信任用户名单;
  dnl define(`confMAX_DAEMON_CHILDREN', 12)dnl
  dnl define(`confCONNECTION_RATE_THROTTLE', 3)dnl
  FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl   使用procmail作为本地邮件发送者;
  FEATURE(`access_db',`hash -T<TMPF> -o /etc/mail/access.db')dnl   从指定数据库中加载可中继的域;
  FEATURE(`blacklist_recipients')dnl      根据访问数据库的值过滤外来邮件;
  EXPOSED_USER(`root')dnl        禁止伪装发送用户地址中出现root用户;
  dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl   指定sendmail任为MTA运行时的参数;
  DAEMON_OPTIONS(`Port=25, Name=MSA')dnl
dnl DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')dnl
dnl DAEMON_OPTIONS(`Name=MTA-v4, Family=inet, Name=MTA-v6, Family=inet6')
FEATURE(`accept_unresolvable_domains')dnl     可接收不能由DNS解析的主机所发送的邮件;
  dnl FEATURE(`relay_based_on_MX')dnl
LOCAL_DOMAIN(`localhost.localdomain')dnl     设置本地域;
  dnl MASQUERADE_AS(`mydomain.com')dnl
dnl FEATURE(masquerade_envelope)dnl
dnl FEATURE(masquerade_entire_domain)dnl
dnl MASQUERADE_DOMAIN(localhost)dnl
dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl
dnl MASQUERADE_DOMAIN(mydomainalias.com)dnl
dnl MASQUERADE_DOMAIN(mydomain.lan)dnl
MAILER(smtp)dnl         指定sendmail所有SMTP发送者,包括smtp,esmtp,smtp8和relay;
  MAILER(procmail)dnl        指定使用procmail作为本地邮件发送者;
  5.submit.mc初始配置(通过修改该文件使用m4生成submit.cf)
divert(0)dnl         将配置文件导出生成cf配置文件;
  include(`/usr/share/sendmail-cf/m4/cf.m4')
VERSIONID(`linux setup for Red Hat Linux')dnl
define(`confCF_VERSION', `Submit')dnl      设置配置版本;
  define(`__OSTYPE__',`')dnl dirty hack to keep proto.m4 from complaining  经过proto.m4检查后,将__OSTYPE__值设置为空;
  define(`_USE_DECNET_SYNTAX_', `1')dnl support DECnet    设置支持DECNET;
  define(`confTIME_ZONE', `USE_TZ')dnl      设置系统时区;
  define(`confDONT_INIT_GROUPS', `True')dnl     禁止直行initgroups程序;
  define(`confPID_FILE', `/var/run/sm-client.pid')dnl    设置PID文件路径;
  dnl define(`confDIRECT_SUBMISSION_MODIFIERS',`C')   
FEATURE(`use_ct_file')dnl       加载可信任用户名单
dnl
dnl If you use IPv6 only, change [127.0.0.1] to [IPv6:::1]
FEATURE(`msp', `[127.0.0.1]')dnl      设置msp的IP地址
  6./etc/aliases
设置别名,默认情况,系统中所有账号别名为root,所以邮件全部由root接收。
修改完aliases,使用命令newaliases生效。
  7.安装dovecot,并启动服务,来提供pop和imap服务,实现异地接受邮件
/etc/dovecot.conf文件内容修改:
protocols = imap imaps pop3 pop3s
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-143387-1-1.html 上篇帖子: FreeBSD启动问题,禁用sendmail 下篇帖子: 转载:PHP & sendmail frustration
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表