CentOS下使用MSMTP代替Sendmail傳送郵件
CentOS下使用MSMTP代替Sendmail傳送郵件
安裝配置msmtp
1、下載、解壓 msmtp
先使用putty等工具登陸ssh
# wget
# tar jxvf msmtp-1.4.31.tar.bz2
最新版本參見:
2、安裝
# cd msmtp-1.4.31
# yum -y install gcc
# ./configure --prefix=/usr/local/msmtp
# make
# make install
3、配置msmtp賬號
切換到,cd /usr/local/msmtp
新建資料夾etc,
# mkdir etc
# mkdir /var/msmtp
使用vi新建檔案,輸入:vi /usr/local/msmtp/etc/msmtprc ,編輯內容如下:
#################################
# Set default values for all following accounts.
defaults
logfile /var/log/msmtp/msmtp.log
# The SMTP server of the provider.
account mysmtp
# SMTP郵件伺服器地址
host smtp.163.com
# 傳送的郵件Email
from xxx@163.com
auth login
# 郵件伺服器登入賬號
user xxx@163.com
# 郵件伺服器登陸密碼
password XXXXXX
# Set a default account
account default : mysmtp
#################
Esc,shift+:進入命令模式,輸入wq,儲存退出。
# chmod -R 777 /usr/local/msmtp
由於password是明碼,所以我們需要修改此檔案的許可權(如果郵件傳送不出去,請使用zabbix使用者測試*****)
# chmod 600 /usr/local/msmtp/etc/msmtprc
4、測試
更新msmtp執行許可權
# chmod -R 777 /usr/local/msmtp/bin/
建立msmtp.log檔案
# mkdir /var/log/msmtp
# vi /var/log/msmtp/msmtp.log
# chmod -R 777 /var/log/msmtp/msmtp.log
測試
# /usr/local/msmtp/bin/msmtp YYYYYY@dhc.com.cn
輸入任意字元,然後按Ctrl+D退出,檢視郵件是否收到。
由於設定了日誌,可以到 /var/log/msmtp/msmtp.log,檢視日誌,發信成功失敗都會有記錄。
透過上面的步驟就可以發郵件了,這裡發郵件還是使用的是SMTP發的,msmtp相當於一個第三方工具。
5、zabbix配置
建立zext_msmtp.sh檔案
#####################################################################################################
#! /bin/bash
echo "zext_msmtp.sh" >>/var/log/zext_msmtp.log
DEBUG=1
if [ $DEBUG -gt 0 ]
then
exec 2>>/var/log/zext_msmtp.log
set -x
fi
FROM='xxx@163.com'
MSMTP_ACCOUNT='mysmtp'
# Parameters (as passed by Zabbix):
# $1 : recipient
# $2 : subject
# $3 : message
recipient=$1
subject=$2
message=$3
date=`date --rfc-2822`
sed 's/$/\r/' <
from:
to:
subject: $subject
date: $date
$message
EOF
#####################################################################################################
位置檢視zabbix-server.conf檔案中的alertscripts位置
參考:/usr/lib/zabbix/alertscripts
# vi zext_msmtp.sh
# chmod -R 777 /usr/lib/zabbix/alertscripts
建立meida types
1.登入到zabbix,進入“Administration" >> ”Media types",點選右上角“Create Media Type"。
Description填"zabbix_msmtp"或其它名稱,Type選擇"Script",Script填”zext_msmtp.sh”。
2.點選save儲存
建立actions
1.登入到zabbix,進入"Configation" >> "Actions",點選右上角"Create Actions"。輸入Name “Send E-Mail Action” ,其它都預設點選右側“Action Operations"下的"New"按鈕,"Operation Type"選擇"Send message","Send Message to"選擇一個或多個要傳送訊息的使用者組,”Send only to"選擇我們之前新增的"zabbix_msmtp"。
注:只有對改Group有許可權的使用者才能收到告警通知郵件。
2.點選save儲存
zabbix使用者配置
登入到zabbix, 進入"Adimistration" >> "Users",在之前選定要傳送訊息的組裡的Members欄位裡選擇一個使用者,例如選擇Admin使用者。
在使用者資訊修改介面最下方的”Media"處點選"Add"按鈕。
Type選擇"zabbix_msmtp",Send to填入收件人地址,點選Add新增。
點選"Save"儲存配置。
重啟Zabbix Server。
至此配置完成,測試!
安裝配置msmtp
1、下載、解壓 msmtp
先使用putty等工具登陸ssh
# wget
# tar jxvf msmtp-1.4.31.tar.bz2
最新版本參見:
2、安裝
# cd msmtp-1.4.31
# yum -y install gcc
# ./configure --prefix=/usr/local/msmtp
# make
# make install
3、配置msmtp賬號
切換到,cd /usr/local/msmtp
新建資料夾etc,
# mkdir etc
# mkdir /var/msmtp
使用vi新建檔案,輸入:vi /usr/local/msmtp/etc/msmtprc ,編輯內容如下:
#################################
# Set default values for all following accounts.
defaults
logfile /var/log/msmtp/msmtp.log
# The SMTP server of the provider.
account mysmtp
# SMTP郵件伺服器地址
host smtp.163.com
# 傳送的郵件Email
from xxx@163.com
auth login
# 郵件伺服器登入賬號
user xxx@163.com
# 郵件伺服器登陸密碼
password XXXXXX
# Set a default account
account default : mysmtp
#################
Esc,shift+:進入命令模式,輸入wq,儲存退出。
# chmod -R 777 /usr/local/msmtp
由於password是明碼,所以我們需要修改此檔案的許可權(如果郵件傳送不出去,請使用zabbix使用者測試*****)
# chmod 600 /usr/local/msmtp/etc/msmtprc
4、測試
更新msmtp執行許可權
# chmod -R 777 /usr/local/msmtp/bin/
建立msmtp.log檔案
# mkdir /var/log/msmtp
# vi /var/log/msmtp/msmtp.log
# chmod -R 777 /var/log/msmtp/msmtp.log
測試
# /usr/local/msmtp/bin/msmtp YYYYYY@dhc.com.cn
輸入任意字元,然後按Ctrl+D退出,檢視郵件是否收到。
由於設定了日誌,可以到 /var/log/msmtp/msmtp.log,檢視日誌,發信成功失敗都會有記錄。
透過上面的步驟就可以發郵件了,這裡發郵件還是使用的是SMTP發的,msmtp相當於一個第三方工具。
5、zabbix配置
建立zext_msmtp.sh檔案
#####################################################################################################
#! /bin/bash
echo "zext_msmtp.sh" >>/var/log/zext_msmtp.log
DEBUG=1
if [ $DEBUG -gt 0 ]
then
exec 2>>/var/log/zext_msmtp.log
set -x
fi
FROM='xxx@163.com'
MSMTP_ACCOUNT='mysmtp'
# Parameters (as passed by Zabbix):
# $1 : recipient
# $2 : subject
# $3 : message
recipient=$1
subject=$2
message=$3
date=`date --rfc-2822`
sed 's/$/\r/' <
to:
subject: $subject
date: $date
$message
EOF
#####################################################################################################
位置檢視zabbix-server.conf檔案中的alertscripts位置
參考:/usr/lib/zabbix/alertscripts
# vi zext_msmtp.sh
# chmod -R 777 /usr/lib/zabbix/alertscripts
建立meida types
1.登入到zabbix,進入“Administration" >> ”Media types",點選右上角“Create Media Type"。
Description填"zabbix_msmtp"或其它名稱,Type選擇"Script",Script填”zext_msmtp.sh”。
2.點選save儲存
建立actions
1.登入到zabbix,進入"Configation" >> "Actions",點選右上角"Create Actions"。輸入Name “Send E-Mail Action” ,其它都預設點選右側“Action Operations"下的"New"按鈕,"Operation Type"選擇"Send message","Send Message to"選擇一個或多個要傳送訊息的使用者組,”Send only to"選擇我們之前新增的"zabbix_msmtp"。
注:只有對改Group有許可權的使用者才能收到告警通知郵件。
2.點選save儲存
zabbix使用者配置
登入到zabbix, 進入"Adimistration" >> "Users",在之前選定要傳送訊息的組裡的Members欄位裡選擇一個使用者,例如選擇Admin使用者。
在使用者資訊修改介面最下方的”Media"處點選"Add"按鈕。
Type選擇"zabbix_msmtp",Send to填入收件人地址,點選Add新增。
點選"Save"儲存配置。
重啟Zabbix Server。
至此配置完成,測試!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26739940/viewspace-1209124/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在 CentOS 7 中使用 Sendmail 通過 PHP 傳送郵件CentOSAIPHP
- 在CentOS7中使用Sendmail通過PHP傳送郵件CentOSAIPHP
- 在Perl中使用sendmail傳送MIME郵件 (轉)AI
- centos 傳送郵件CentOS
- Linux基礎命令---sendmail傳送郵件LinuxAI
- 用sendmail傳送HTML格式的郵件(轉)AIHTML
- Linux配置msmtp+mutt傳送郵件(可放在指令碼中定時傳送郵件)Linux指令碼
- 採用Mutt及msmtp配置進行郵件傳送
- 使用phpmailer傳送郵件PHPAI
- 使用JavaMail傳送郵件JavaAI
- 使用nodemailer傳送郵件AI
- 選擇代替Sendmail的郵件伺服器軟體AI伺服器
- 使用python傳送郵件和接收郵件Python
- 郵件傳送
- 傳送郵件
- 使用 smtplib 傳送郵件
- 如何使用Excel傳送郵件?Excel
- 使用python傳送郵件Python
- 使用C#傳送郵件C#
- Linux Centos7傳送QQ郵件LinuxCentOS
- SpringBoot整合Mail傳送郵件&傳送模板郵件Spring BootAI
- 配置mail使用SMTP傳送郵件AI
- .NET Core使用FluentEmail傳送郵件AI
- 使用阿里雲傳送郵件阿里
- Python使用SMTP傳送郵件Python
- 使用Linux命令傳送郵件Linux
- 配置ActionMailer使用GMail傳送郵件AI
- Laravel 傳送郵件Laravel
- PHP傳送郵件PHP
- Django——郵件傳送Django
- java郵件傳送Java
- Laravel傳送郵件Laravel
- gmail傳送郵件AI
- Oracle郵件傳送Oracle
- java傳送郵件Java
- Powershell郵件傳送
- thinkphp 郵件傳送PHP
- phpcms傳送郵件PHP