如何更改 Postfix 发送的电子邮件地址

如何更改 Postfix 发送的电子邮件地址

我目前在使用 Nagios 进行监控的 Ubuntu 机器上使用 Postfix。

我想更改 Postfix 用于发送的电子邮件地址。

Postfix 只是通过我们的 Exchange 服务器中继所有电子邮件。

这是我当前的配置位

myhostname = mywindowsdomain.co.uk  
mydestination = $myhostname    localhost 
relayhost = IP of Exchange server 
mynetworks = 127.0.0.0/8 192.168.1.0/24 
inet_protocols = ipv4 
inet_interfaces = all

现在这可以工作并通过我的交换服务器发送电子邮件了。

然而它来自机器上用户的用户名。

eg [email protected]

我希望它来自安装 postfix 的计算机主机名。

我该怎么做呢?我尝试的一切都拒绝更改发送的电子邮件而[email protected]不是[email protected]

答案1

你读过吗http://www.postfix.org/ADDRESS_REWRITING_README.html#generic

作为替代方案,您可以更改 nagios 中的通知命令,例如:

command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHostname: $HOSTNAME$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $SHORTDATETIME$\n\nAdditional Info: $SERVICEOUTPUT$\n$LONGSERVICEOUTPUT$" | /bin/mail -s "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$

到:

command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHostname: $HOSTNAME$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $SHORTDATETIME$\n\nAdditional Info: $SERVICEOUTPUT$\n$LONGSERVICEOUTPUT$" | /bin/mail -s "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ -- -f [email protected]

请注意-- -f hostname@domainname指示 mail 命令将其传递-f hostname@domainname给 MTA 邮件提交命令 (sendmail) 的位置。

查看man sendmail并搜索标志-f

如果您的mail命令实际上指的是mailx您应该使用 the而不是,因为 mailx 不支持该功能。-r [email protected]-- -f hostname@domainname-- sendmail options

相关内容