How to Configure ‘Zabbix Monitoring’ to Send Email Alerts to Gmail Account – Part 2

If you are using Zabbix to monitor your infrastructure you might want to receive email alerts from your local domain somewhere on public internet domain, even if you don’t own a valid registered internet domain name with a mail server which you can configure on your own.

Configure Zabbix Mail Alerts

Configure Zabbix Mail Alerts – Part 2

This tutorial will briefly discuss you on how to setup Zabbix server to send mail reports to a Gmail address by using SSMTP program, without the need to install and configure any local MTA daemon, such as Postfix, Exim etc.


  1. Install Zabbix Monitoring Server

Step 1: Install and Configure SSMTP

1. SSMTP is a small software, which does not fulfill any of the functionality of a mail server, but only delivers emails from a local machine to an external email address on a mailhub.

To install SSMTP program alongside with mailutils package that you will use it to send mails, issue the following command on your RedHat and Debian like server:

# yum install ssmtp mailx                    [On RHEL/CentOS 7] 
$ sudo apt-get install ssmtp mailutils       [On Debian 8]

2. After the packages are installed on the system, configure SSMTP program to send local emails to your Gmail account by opening the main configuration file for editing with your favorite text editor and root privileges and use the following parameter settings:

# vi /etc/ssmtp/ssmtp.conf                   [On RHEL/CentOS 7]
$ sudo nano /etc/ssmtp/ssmtp.conf            [On Debian 8]

SSMTP settings for GMAIL account

root[email protected]
Configure Zabbix Email Alerts

Configure Zabbix Email Alerts

Step 2: Gmail Tests for Zabbix Email Alerts

3. On the next step it’s time to send a local generated email to Gmail account by issuing the below command.

# echo "Body test email from 'hostname -f' "| mail -s "subject here" [email protected]
Gmail Tests

Gmail Tests

4. Normally, Gmail prevents different types of authentications to their servers from your account, so, in case you get the error “mail: cannot send message: Process exited with non-zero status”, then login to your Gmail account from browser and navigate to the following link in order to allow access for less secure apps as in the following screen.

Manage Secure Gmail Apps

Manage Secure Gmail Apps

5. After you have turned on Less Secure Apps feature on your Gmail account, run the above mail command again and verify your Inbox after a few seconds to check if the locally generated email has been successfully delivered – you should normally see the email has incoming from Gmail.

Mail Delivery Confirm

Mail Delivery Confirm

Step 3: Configure Zabbix Sendmail Script

6. Further, based on the $(which mail) command create the following Bash script to Zabbix alertscripts directory with the following content and give it execute permissions:

# vi /usr/local/share/zabbix/alertscripts/zabbix-sendmail            [On RHEL/CentOS 7]
$ sudo nano /usr/local/share/zabbix/alertscripts/zabbix-sendmail     [On Debian 8]

Script content:

echo "$3" | /usr/bin/mail -s "$2" $1
Configure Sendmail Zabbix

Configure Sendmail Zabbix

Next, set the execute permission on the script file.

# chmod +x /usr/local/share/zabbix/alertscripts/zabbix-sendmail

7. Next, as previously, test the script functionality by sending a local email to Gmail account. The way to run the script with positional parameters is explained above:

# /usr/local/share/zabbix/alertscripts/zabbix-sendmail [email protected] "Subject here" "Body of the message here"
Send Mail to Gmail Account from Linux

Send Mail to Gmail Account

Afterwards, verify Gmail Inbox and check if the new local message has arrived.

Verify Mail Delivery

Verify Mail Delivery

Step 4: Configure Zabbix to Send Alerts to Gmail

8. If the tests so far were successful, then you can move to next step and setup Zabbix to send generated email alerts to Gmail. First, login to Zabbix web interface and navigate to the following menu: Administration -> Media types -> Create media type.

Zabbix Administration

Zabbix Administration

9. On the next screen enter an arbitrary Name to uniquely identify for the script in the Zabbix configurations (in this example Send-Email-Script is used), choose Script as Type from the list and enter the name of the Bash script created earlier (zabbix-sendmail used in this tutorial) to send email from command line (don’t use the path for the script, only the script name). When you’re done, hit the Add button below to reflect changes.

Create Zabbix Email Alerts

Create Zabbix Email Alerts

10. Further, let’s configure an email address to which you will send Zabbix alerts. Go to Profile -> Media -> Add and a new pop-up window should appear.

Here, select the name of the script that you have earlier named (in this example Send-Email-Script is used) for Type, enter the Gmail address to which you will send emails, choose the time period (week, hours) when email reports should be active for sending, choose the severity of the messages that you want to receive on your Gmail address, select Enabled as Status and hit the Add button to add the media. Finally hit the Update button to apply configuration.

Configure Zabbix Mail Address

Configure Zabbix Mail Address

Zabbix Update Configuration

Zabbix Update Configuration

11. On the next step, enable the defult zabbix alerts by navigating to Configuration -> Actions, select as the Event Source – > Triggers from the right menu and hit on Disabled Status in order to enable it. Repeat the step for Event Source – > Internal or other custom created Actions and you’re done.

Enable Default Zabbix Mail Alert

Enable Default Zabbix Mail Alert

Zabbix Enabled Actions

Zabbix Enabled Actions

Wait for a while for Zabbix to start gather information and generate some reports, then verify your Gmail Inbox and you should see some Zabbix alerts submitted so far.

Zabbix Monitoring Mail Alerts

Zabbix Monitoring Mail Alerts

That’s all! Although this guide was mainly focused on sending Zabbix alerts to a Gmail account using Gmail SMTP server as a mailhub, using the same configuration you can, also, push zabbix email alerts further to other valid internet email accounts by relying on Gmail to route your emails through SMTP servers.

Best Affordable Linux and WordPress Services For Your Business
Outsource Your Linux and WordPress Project and Get it Promptly Completed Remotely and Delivered Online.

If You Appreciate What We Do Here On TecMint, You Should Consider:

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Get your own self-hosted blog with a Free Domain at ($3.45/month).
  4. Become a Supporter - Make a contribution via PayPal
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

We are thankful for your never ending support.

Matei Cezar

I'am a computer addicted guy, a fan of open source and linux based system software, have about 4 years experience with Linux distributions desktop, servers and bash scripting.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

48 Responses

  1. Mamadou Lamine Diallo says:

    thank you for this post helpful
    please can you help me to integrate zabbix with request tracker or OTRS or other like this
    thank u in advance

  2. Laurenz says:

    One error that i got was the path of the script, to get it working on my zabbix 3.0, i had to change the path from /usr/local/share/zabbix/alerscripts/zabbix-sedmail to /usr/lib/zabbix/alertscripts/zabbix-sendmail.

    Hope it helps!

    • Ram Pal says:

      I installed zabbix 3.0 on centos7, i also created zabbix-sendmail file in /usr/lib/zabbix/alertscripts/ because /usr/local/share/zabbix/alerscripts/ path does not exist.

      I configured ssmtp according this documentation, now i am getting mail by command line but zabbix not sending reports. Action and internal are all enable.

      Please help

  3. Andrews says:


    I solved my problem.

    • Ravi Saive says:


      How you solved problem yourself? it would be great if you could mention those instructions so that its will beneficial to others, who face similar problem…

  4. Andrews says:

    Good article, Thx.
    I’m having a problem when trying to send an email using /etc/zabbix/scripts/ a*******[email protected] “Test” “Msg Test”.
    /etc/zabbix/scripts/ line 2: /usr/bin/mail: No such file or directory
    Can u help me?

  5. strato says:

    Worked like a charm. Thanks for the detail write-up!

  6. itai says:

    After running “yum install ssmtp mailx” on centos 7
    I can’t find /etc/ssmtp/ssmtp.conf
    the file does not exist.

    can you please help?

    • Ravi Saive says:


      That means both the packages ssmtp and mailx are not installed on the system, if you think you’ve managed to install them successfully, could you check them using following command, if installed below command will show output as shown.

      # rpm -q ssmtp mailx
  7. swap says:

    Verry good article.. Thanks a lott.! it Works for me..

  8. Steve says:

    Thanks for the walkthrough! When I configure SSMTP and run it by itself to test, it works fine. When I run the script listed in step seven (zabbix-sendmail), it fails with “mail: cannot send message: Process exited with a non-zero status”. /var/log/mail.err gives the error “Client does not have permissions to send as this sender”. I have given chmod +x to the script, and have ran it using sudo and without. Any idea what is going on?

  9. Matei Cezar says:

    You’re right! If you install Zabbix from repositories using binary packages the path for scripts would be /usr/lib/zabbix/alertscripts/, else, if you compile and install it from sources, the path is /usr/local/share/zabbix/alertscripts/. Once again… this tutorial covers only Zabbix installation from sources, but your remark is welcome for users who tend to install zabbix server using distribution repositories.

  10. Igor Murta says:

    Very good article. It works for me!!! Thx a lot!!
    Just a small comment/question.
    The path to create the script “zabbix-sendmail” I suppose that might be same path set in zabbix_server.conf with the parameter “AlertScriptsPath”

    For the standard install of zabbix server, this parameter is set to AlertScriptsPath=/usr/lib/zabbix/alertscripts
    Instead of /usr/local/share/zabbix/alertscripts/


Got something to say? Join the discussion.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.