AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 548826
Accepted
Esa Varemo
Esa Varemo
Asked: 2013-10-27 03:20:23 +0800 CST2013-10-27 03:20:23 +0800 CST 2013-10-27 03:20:23 +0800 CST

Exim:从本地网络发送邮件时更改发件人地址

  • 772

我们在一个站点上有一个有效的 exim 设置,用户可以在那里发送和接收邮件。我们正在尝试设置服务器以使用电子邮件将一些警告和错误发送到本地网络之外的地址。

问题是:

发送邮件的程序使用运行它的用户名和服务器的本地主机名发送邮件。这会导致邮件具有以下格式的发件人:[email protected]。Exim 将这些邮件发送到 ISP 的 SMTP 服务器,该服务器会拒绝这些邮件,因为它们有一个非法或无法验证的发件人(内部地址)。

我想我应该配置 exim 在以下情况下重写发件人:

  • 发件人的域在本地网络上
  • 接收者的域在本地网络之外

我尝试在 exim 配置中设置某种重写,但没有设法让它工作。我会展示我尝试过的内容,但我在上次访问该网站时没时间,不得不恢复到原始版本,丢失了我尝试过的所有更改。

email
  • 3 3 个回答
  • 38013 Views

3 个回答

  • Voted
  1. BillThor
    2013-10-27T09:43:35+08:002013-10-27T09:43:35+08:00

    该文件/etc/email-addresses应处理该问题。这是 Exim 发行版的标准部分。您需要为每个发送电子邮件的本地用户配置一条记录。

    尝试/etc/email-addresses喜欢的一行:

     myapp:   [email protected]
    

    在您的 MX 服务器上添加一个别名,例如:

     donotreply:    :blackhole:
    

    使用Reply-to:标头允许收件人回复邮件。

    该文件/etc/email-addresses使用以下重写代码,该代码应位于rewrite配置文件部分的开头。

    *@+local_domains "${lookup{${local_part}}lsearch{/etc/email-addresses}\
                      {$value}fail}" Ffrs
    
    • 12
  2. Best Answer
    Kondybas
    2013-10-27T06:33:39+08:002013-10-27T06:33:39+08:00
    begin rewrite
    [email protected]   [email protected]   SFfrs
    

    这些标志具有以下含义:

    1. S - 在 SMTP 时间进行所有重写。这意味着以下所有标志都会在它们应用的数据进入时立即完成,而不是延迟到以后。
    2. F - 从字段中重写信封。
    3. f - 重写 From: 标头字段。
    4. r - 重写回复:标题字段。
    5. s - 重写 Sender-To: 标头字段。

    阅读Exim 规范的第 31 章,了解有关消息重写的更多详细信息

    • 11
  3. Skippy le Grand Gourou
    2017-03-24T02:19:45+08:002017-03-24T02:19:45+08:00

    /etc/email-addresses当您只需要为每个用户名关联一个电子邮件地址时,它会很方便。但是,如果您的用户需要发送多个地址的电子邮件,您将不得不/etc/email-addresses每次修改,最终您将不可避免地使用错误的地址。

    另一种方法是使用exim4命令及其-f选项发送电子邮件:

    $ cat email|/usr/sbin/exim4 -f [email protected] [email protected]
    

    请注意,要使该-f选项起作用,您需要您的用户成为 exim 的受信任用户或 exim 接受他作为允许的不受信任的发件人。

    在我的情况下,后者是默认的,这要归功于以下通配符/etc/exim4/conf.d/main/02_exim4-config_options :

    untrusted_set_sender = *
    

    另一种解决方案是添加以下行/etc/exim4/conf.d/main/00_local_settings(假设 exim 的拆分配置,如果它不存在则创建它):

    MAIN_TRUSTED_USERS = yourusername
    

    这两个选项都需要重新加载 exim 的配置。在 Debian 下:

    # dpkg-reconfigure exim4-config
    
    • 1

相关问题

  • 如何绕过 ISP 的限制性电子邮件政策?

  • SharePoint 传入电子邮件出现“未知别名”错误

  • 电子邮件帐户的角色名称与人名

  • 如何在笔记本电脑上使用 Tobit David?[关闭]

  • 随行人员通过 VPN 连接到 Exchange 2007

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve