免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2264 | 回复: 1
打印 上一主题 下一主题

[Mail] [求助]某些Sendmail Milter宏无法使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-02-17 18:44 |只看该作者 |倒序浏览
本帖最后由 r_zack 于 2011-02-17 19:18 编辑

我觉得应该是配置问题,我的Milter测试过程中发现并非所有书上说的Milter Macro都能用,经过对sendmail.cf的粗略核实,发现了一个问题:
定义在如下语句中的宏都能用,没定义在如下语句中的,即便加上去也用不了
Sendmail.cf:
  1. O InputMailFilters=ZackMilter
  2. O Milter.macros.connect=j, _, {daemon_name}, {if_name}, {if_addr}
  3. O Milter.macros.helo={tls_version}, {cipher}, {cipher_bits}, {cert_subject}, {cert_issuer}
  4. O Milter.macros.envfrom= i, {auth_type}, {auth_authen}, {auth_ssf}, {auth_author}, {mail_mailer}, {mail_host}, {mail_addr}
  5. O Milter.macros.envrcpt={rcpt_mailer}, {rcpt_host}, {rcpt_addr}
  6. O Milter.macros.eom={msg_id}
复制代码
这其中的宏我测试了的都能用,但这里面不包含其他很多重要的Milter宏,比如$a, $b, $g,我把它们写进上面的代码后:
  1. O InputMailFilters=ZackMilter
  2. O Milter.macros.connect=j, _, {daemon_name}, {if_name}, {if_addr}
  3. O Milter.macros.helo={tls_version}, {cipher}, {cipher_bits}, {cert_subject}, {cert_issuer}
  4. O Milter.macros.envfrom=g, i, {auth_type}, {auth_authen}, {auth_ssf}, {auth_author}, {mail_mailer}, {mail_host}, {mail_addr}
  5. O Milter.macros.envrcpt={rcpt_mailer}, {rcpt_host}, {rcpt_addr}
  6. O Milter.macros.eom=a, b, {msg_id}
复制代码
还是不能用$a, $b 或 $g,按书(O'Reilly Sendmail 4th edition)上说的,使用如下语句添加宏:
  1. define(`confMILTER_MACROS_ENVFROM', `g')
复制代码
还是不能用,于是我猜想是不是我系统带的Sendmail比较变态,不包含某些宏呢?
随着我继续往下看sendmail.cf,我发现如下代码:
  1. #########################
  2. #   Format of headers   #
  3. #########################

  4. H?P?Return-Path: <$g>
  5. HReceived: $?sfrom $s $.$?_($?s$|from $.$_)
  6.     $.$?{auth_type}(authenticated$?{auth_ssf} bits=${auth_ssf}$.)
  7.     $.by $j ($v/$Z)$?r with $r$. id $i$?{tls_version}
  8.     (version=${tls_version} cipher=${cipher} bits=${cipher_bits} verify=${verify})$.$?u
  9.     for $u; $|;
  10.     $.$b
  11. H?D?Resent-Date: $a
  12. H?D?Date: $a
  13. H?F?Resent-From: $?x$x <$g>$|$g$.
  14. H?F?From: $?x$x <$g>$|$g$.
  15. H?x?Full-Name: $x
  16. # HPosted-Date: $a
  17. # H?l?Received-Date: $b
  18. H?M?Resent-Message-Id: <$t.$i@$j>
  19. H?M?Message-Id: <$t.$i@$j>
复制代码
我不敢说别的,至少这说明该配置文件里面已经包含了那些我无法使用的宏,所以我觉得问题可能是出在我没有正确的“启用”这些宏,导致只有默认启用的可以用……

受累问一句,我应该怎么配置才能“启用”$a, $b, $g 这几个宏?
或者是不是$g不该在envfrom阶段调用?

论坛徽章:
4
IT运维版块每日发帖之星
日期:2015-09-01 06:20:00IT运维版块每日发帖之星
日期:2015-10-09 06:20:00操作系统版块每日发帖之星
日期:2015-10-20 06:20:00IT运维版块每日发帖之星
日期:2015-11-03 06:20:00
2 [报告]
发表于 2011-03-07 00:17 |只看该作者
这个milter干啥用的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP