使用sendmail时,更改系统帐户的电子邮件地址默认值


11

我希望某些系统帐户(rootwww-data)在From: Example Company <noreply@example.com>使用mailor sendmail命令发送电子邮件或从PHP之类的编程语言(仅使用sendmail包装器)发送电子邮件时具有标头。

我希望每次调用这些命令之一时都不必添加-f-F选项。有什么方法可以专门为这些帐户配置此设置吗?

操作系统是Debian 7.2。


2
您确定要使用“ Sendmail”作为您的MTA,而不是使用名称为“ sendmail”的postfix或其他一些替代项吗?
davidgo

MTA是后缀,但是sendmail可执行文件没有符号链接到任何东西。
DanielGibbs 2013年

Answers:


12

我最近遇到这个问题。

您可以使用davidgo提到的通用映射来更改地址。

/etc/postfix/main.cf

添加此行

smtp_generic_maps = hash:/etc/postfix/generic

然后在/etc/postfix/generic
添加原始电子邮件地址的行以及您希望它来自的电子邮件地址中

root@system.fqdn noreply@company.com
www-data@system.fqdn noreply@company.com

然后运行以下postmap命令以重新生成地图:

 postmap /etc/postfix/generic

为了使用户看起来是Example Company你需要设置GECOS字段中/etc/passwdrootwww-dataExample Company


1

当您实际使用Postfix(sendmail二进制文件实际上是Postfix)时,可以通过添加“ smtp_generic_maps ”文件并为相关地址进行映射或使用canonical_maps来执行类似操作来更改此地址。我认为您无需巨额费用就可以更改关联的帐户名(即方括号中的部分),但我可能是错的。


0

我在这里写了我用Exim4找到的一些东西

这显然很简单:

  1. 对于电子邮件重写:

    $ vim /etc/email-addresses
    
    root: noreply@example.com
    www-data: noreply@example.com
    
  2. 对于全名重写

    $ vim /etc/passwd
    
    root:x:0:0:Example Company:/root:/bin/bash
    www-data:x:33:33:Example Company:/var/www:/usr/bin/nologin
    
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.