需求:
今天遇到一个在内网安装的zabbix 由于不能通互联网,所以不能发报警邮件,需要解决把报警邮件发到外部邮件上。
解决方案:
找到一台能访问互联网又能通zabbix的主机安装nginx,进行邮件转发。

在zabbix编辑文件内容如下:
vi /etc/mail.rc

This is the configuration file for Heirloom mailx (formerly

known under the name "nail".

See mailx(1) for further options.

This file is not overwritten when 'make install' is run in

the mailx build process again.

Sccsid @(#)nail.rc 2.11 (gritter) 8/2/08

Do not forward to mbox by default since this is likely to be

irritating for most users today.

set hold

Append rather than prepend when writing to mbox automatically.

This has no effect unless 'hold' is unset again.

set append

Ask for a message subject.

set ask

Assume a CRT-like terminal and invoke a pager.

set crt

Messages may be terminated by a dot.

set dot

Do not remove empty mail folders in the spool directory.

This may be relevant for privacy since other users could

otherwise create them with different permissions.

set keep

Do not remove empty private mail folders.

set emptybox

Quote the original message in replies by "> " as usual on the Internet.

set indentprefix="> "

Automatically quote the text of the message that is responded to.

set quote

Outgoing messages are sent in ISO-8859-1 if all their characters are

representable in it, otherwise in UTF-8.

set sendcharsets=iso-8859-1,utf-8

Display sender's real names in header summaries.

set showname

Display the recipients of messages sent by the user himself in

header summaries.

set showto

Automatically check for new messages at each prompt, but avoid polling

of IMAP servers or maildir folders.

set newmail=nopoll

If threaded mode is activated, automatically collapse thread.

set autocollapse

Mark messages that have been answered.

set markanswered

Hide some header fields which are uninteresting for most human readers.

ignore received in-reply-to message-id references
ignore mime-version content-transfer-encoding

Only include selected header fields when forwarding messages.

fwdretain subject date from to

For Linux and BSD, this should be set.

set bsdcompat
#
set sendcharsets=iso-8859-1,utf-8
set from=发件人
set smtp=192.168.199.150
set smtp-auth-user=邮箱用户名
set smtp-auth-password=密码
set smtp-auth=login

编辑Nginx 配置文件如下:

For more information on configuration, see:

* Official English Documentation: http://nginx.org/en/docs/

* Official Russian Documentation: http://nginx.org/ru/docs/

worker_processes 1;

Load dynamic modules. See /usr/share/nginx/README.dynamic.

include /usr/share/nginx/modules/*.conf;

events {
worker_connections 1024;
}

stream {
upstream mailsmtp_pro {
server smtp.qiye.163.com:25;
}

server {
listen 25;
proxy_connect_timeout 5s;
proxy_timeout 5s;
proxy_pass mailsmtp_pro;
}
}

http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

sendfile            on;
tcp_nopush          on;
tcp_nodelay         on;
keepalive_timeout   65;
types_hash_max_size 2048;

default_type        application/octet-stream;

include /etc/nginx/conf.d/*.conf;

server {

listen 8800;
listen 443 ssl;

 location / {
    proxy_pass  https://qyapi.weixin.qq.com;

}
}
}

在zabbix 服务器上进行验证:

echo hello word | mail -s "zabbix ceshi" [email protected]