You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Postfix中Asterisk发件人映射失效,求PBX语音邮件发件人修正方案

解决Asterisk语音邮件转邮件发件人不符合预期的问题

先检查Asterisk自身配置(最可能的原因)

Asterisk的语音邮件模块可能直接指定了发件人地址,优先修改这里:

  1. 打开Asterisk的语音邮件配置文件 /etc/asterisk/voicemail.conf
  2. 找到 serveremail 参数,将其值改为目标地址:
    serveremail=support@mydomain.com
    
  3. 可选:如果需要修改发件人显示名称,调整 fromstring 参数:
    fromstring="Support Team" <support@mydomain.com>
    
  4. 重启Asterisk使配置生效:
    asterisk -rx "core restart now"
    

Postfix侧配置排查与修正

如果Asterisk配置无误,再调整Postfix的映射规则:

1. 修正generic映射规则

确保映射规则能精确匹配实际发件人:

  • 编辑 /etc/postfix/generic,添加精确匹配项:
    asterisk@sip.domain.co.uk   support@mydomain.com
    asterisk@localhost          support@mydomain.com
    asterisk@*                  support@mydomain.com
    
  • 重新生成哈希数据库文件:
    postmap /etc/postfix/generic
    
  • 重载Postfix:
    postfix reload
    

2. 验证映射规则是否生效

用Postfix命令测试映射:

postmap -q 'asterisk@sip.domain.co.uk' hash:/etc/postfix/generic

如果输出为 support@mydomain.com,说明规则配置正确。

3. 尝试sender_canonical_maps(备选方案)

如果smtp_generic_maps未生效,改用sender_canonical_maps处理本地发件人:

  • 在 /etc/postfix/main.cf 中添加:
    sender_canonical_maps = hash:/etc/postfix/sender_canonical
    
  • 创建 /etc/postfix/sender_canonical 文件,添加:
    asterisk@*   support@mydomain.com
    
  • 生成数据库并重载Postfix:
    postmap /etc/postfix/sender_canonical
    postfix reload
    

4. 调整myorigin配置

取消main.cf中myorigin的注释,设置为你的域名:

myorigin = mydomain.com

然后重载Postfix。

日志排查

如果以上操作仍无效,查看Postfix日志 /var/log/mail.log,搜索包含 asterisk 的邮件发送记录,确认发件人在Postfix处理过程中的变化,定位问题环节。

内容的提问来源于stack exchange,提问作者Ceyntas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 01:38:10