我目前在使用 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