Zabbix监控之邮件发送失败-smtp-server: 错误代码550与535

2023-10-26

原始问题背景:

前几天运维同事突然发现zabbix监控上面不再发送邮件了,而zabbix的监控界面状态都是能够显示出来。因为之前出现过类似的问题,估计是163邮箱的问题,于是登陆用于告警的邮箱,直接通过网页发送邮件也同样报错,估计是邮件防垃圾服务进行了限制,需要等到第二天才能恢复(第二天确实恢复正常),但是当天如果需要继续使用zabbix的邮箱监控的话,只能通过更换告警邮箱。

于是配置了新的邮箱qixin_monitor@163.com用于告警。


新问题如下

[root@zabbix_master ~]# tail -n 5 /etc/mail.rc //查看mail.rc的邮箱配置
#setting for zabbix 
set from=qixin_monitor@163.com smtp=smtp.163.com 
set smtp-auth-user=qixin_monitor smtp-auth-password=test_haha16
set smtp-auth=login
[root@zabbix_master ~]# echo “mail content”|mail -s test 17701754487@163.com
[root@zabbix_master ~]# smtp-server: 550 User has no permission //550报错
"/root/dead.letter" 11/316
. . . message not sent.


报错显示用户没有权限,而之前的邮箱clovemfeng@163.com却是OK的


1. 查找两个邮箱的配置

wKiom1YbXfSjigOPAAgjbD33wMk108.jpg


wKioL1YbXoGhwqQgAAhU9vOpKp4771.jpg

发现两个邮箱的POP3/SMTP/IMAP的状态不一致,于是开通qixin_monitor@163.com的客户端授权密码。

2. 开通客户端授权密码

wKioL1YbXvih01XPAAL5JMdLkh0229.jpg

wKioL1YbXvjTQ7HcAAHnQ2bOl1Y180.jpg

wKiom1YbX02hNhwuAAOfj0jYdcg457.jpg

 

该步骤是需要手机号码验证并绑定手机的

假设其客户端授权密码为:fdfdterefcstewrere



3. 测试邮箱发送

[root@zabbix_master ~]# echo “mail content”|mail -s test 17701754487@163.com

[root@zabbix_master ~]# smtp-server: 535 Error: authentication failed

"/root/dead.letter" 11/316

. . . message not sent.

发现竟然报535错误,用户名与密码验证失败。

4. 手动测试密码

既然通过mail命令直接发送有问题,于是笔者做了如下几件事情:

(1)通过telnet命令验证用户名跟密码 

[root@zabbix_master ~]# telnet smtp.163.com 25

Trying 220.181.12.13...

Connected to smtp.163.com.

Escape character is '^]'.

220 163.com Anti-spam GT for Coremail System (163com[20141201])

HELO 163.COM

250 OK

AUTH LOGIN

334 dXNlcm5hbWU6

cWl4aW5fbW9uaXRvcg==

334 UGFzc3dvcmQ6

UWl4aW5AMTIz

535 Error: authentication failed

(其中用户名跟密码均做了base64编码转换,echo -n username/password |base64)

(2)测试原来的clovemfeng@163.com

发现竟然可以成功登陆。

[root@zabbix_master ~]# telnet smtp.163.com 25

Trying 220.181.12.13...

Connected to smtp.163.com.

Escape character is '^]'.

220 163.com Anti-spam GT for Coremail System (163com[20141201])

HELO 163.COM

250 OK

AUTH LOGIN

334 dXNlcm5hbWU6

Y2xvdmVtZmVuZw==

334 UGFzc3dvcmQ6

UXhAbW9uaXRvciMxMjM=

235 Authentication successful

(3)继续尝试?

 这两个账号有什么不同?初步看来,用户名跟密码不一样!! 用户名无法修改,那么我把密码改成一样的总行了吧?

但是结果仍旧是535 Error: authentication failed,后来甚至注册了一个用户名没有特殊字符,但是还是失败。

5. 回归邮箱设置检查

继续比对新老账号的区别,登陆163.com网页邮箱继续查看,发现如下区别

wKioL1YbX62iIjXgAAFynRq9O3M210.jpg

上图是今天刚刚开通SMTP/POP3/IMAP功能的邮箱配置,生成了客户端授权密码。

wKiom1YbYA6Chfe0AAGrj2fBpWU739.jpg

331758.png这个是之前注册邮箱,也就是clovemfeng@163.com的配置,开通了SMTP服务,但是并没有开通客户端授权密码,因为并没有使用期IMAP服务。

结论:

也就是说,以前注册的邮箱是不需要什么客户端授权密码的,而新注册的却需要这个东西。

那么,我们不管通过mail -s 也好,telnet smtp.163.com也好,角色都是客户端,那么尝试下将客户端授权密码作为配置密码试试?

于是乎,竟然成功了!

[root@zabbix_master ~]# telnet smtp.163.com 25

Trying 220.181.12.13...

Connected to smtp.163.com.

Escape character is '^]'.

220 163.com Anti-spam GT for Coremail System (163com[20141201])

EHLO 163.COM

250-mail

250-PIPELINING

250-AUTH LOGIN PLAIN

250-AUTH=LOGIN PLAIN

250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UrFvEOrUCa0xDrUUUUj

250-STARTTLS

250 8BITMIME

AUTH LOGIN

334 dXNlcm5hbWU6

cWl4aW5fbW9uaXRvcg==

334 UGFzc3dvcmQ6

aXB2d2RjZW1oZGp5dnV0ZQ==

235 Authentication successful

问题,解了~最终配置如下,其实也就是将smtp-auth-password的值从实际密码修改成了客户端授权密码。

[root@zabbix_master ~]# tail -n 5 /etc/mail.rc

#setting for zabbix

set from=qixin_monitor@163.com smtp=smtp.163.com

set smtp-auth-user=qixin_monitor smtp-auth-password=fdfdterefcstewrere

set smtp-auth=login


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Zabbix监控之邮件发送失败-smtp-server: 错误代码550与535 的相关文章

  • java: cannot find symbol symbol: variable log

    使用Intellij idea的时候 编译项目始终报错java cannot find symbol symbol variable log 装Lombok Plugin 插件 设置 build execution deployment g
  • react-redux库

    安装react redux tnpm i react redux 未优化前 src components Count index tsx import React useState from react export default fun

随机推荐

  • UE4命令行打包项目

    RunUAT bat在ue安装路径找 1 Compiling the client 编译客户端的命令行代码 RunUAT BuildCookRun project full project path and project name upr
  • MySQL 命令环境变量设置方法

    安装完MySQL之后 大家可以直接打开MySQL的client输入命令 操作MySQL数据库 当然也可以使用dos窗口输入MySQL命令操作MySQL数据库 方法1 1 打开dos窗口 具体怎么打开 百度 2 定位到MySQL安装目录下的b
  • jmeter生成随机数

    打开函数助手 Random 写入随机范围的最小值 和最大值 name of variable in which to store the result 为变量名 写好后 点击生成 复制字符串 粘贴到需要的请求上即可
  • linux查看vlan命令,[转]linux VLAN配置(vconfig)

    1 安装vlan vconfig 和加载8021q模块 aptitude install vlan modprobe 8021q 2 使用linux vconfig命令配置vlan vconfig add eth0 100 vconfig
  • 网络安全——cobalt Strike 之office钓鱼

    一 office钓鱼 在无需交互 用户无感知的情况下 执行office文档中内嵌的恶意代码 例如宏 从远控地址中下载并运行恶意可执行程序 例如远控木马 勒索病毒等 cobalt strike office钓鱼原理 主要生成一段vba代码 然
  • 前端发送的form-data类型name=“carNumber“的参数后端怎么接收

    需求 前端将图片和其他信息一起已form data类型发送给后端 图片以二进制流的形式 其他信息以key value的键值对的形式 举例 具体荷载 后端controller层接收的方法 RequestMapping value upload
  • linux安装jdk8

    1 官网下载链接 Java Downloads Oracle 2 下载完成之后 我们打开linux 执行如下命令 最后通过rz命令将文件上传 root localhost local mkdir usr local java root lo
  • android imageloader 进度条,Android-Universal-Image-Loader使用介绍

    图片开源库是一个应用非常广泛的第三方库 几乎所有的应用都会使用 目前而言常见的图片库有 Android Universal Image Loader Picasso Fresco Glide等 下面是国内Top500Android应用分析报
  • Win10笔记本屏幕最低亮度依旧很亮?最高亮度依旧很暗?

    左下角搜索 显卡 打开 英特尔R显卡控制中心 点击 显示器 点击 颜色 里面有 全部颜色 在这里调节即可 嫌太亮 调低些 反之则反
  • 必刷算法题之排序篇(题目及代码)---C++

    前言 该篇博客记录了和排序有关的一些题目 差不多是逐级递增的难度 后续还会补充 有具体思路和代码 文章目录 第一题 排序 第二题 判断字符是否唯一 第三题 最小的k个数 第四题 单链表的排序 第五题 最大数 第六题 调整数组顺序使奇数位于偶
  • javaScript中Float精度计算

    在项目中做了一个计算统计值的部分 实现过程是通过 javaScript 进行累加的 在测试时出现了一个很乖的问题 在此记录一下 1 问题背景 项目中有一个表格字段 数据类型是float的 在数据库中均以Decimal 10 2 的格式保存
  • springMVC(数据格式化+验证以及国际化+中文乱码处理+处理 json 和 HttpMessageConverter<T>+SpringMVC 文件上传+自定义拦截器+异常处理)

    目录 一 数据格式化 1 基本介绍 2 基本数据类型和字符串自动转换 2 1总结 3 特殊数据类型和字符串间的转换 二 验证以及国际化 1 概述 1 1 概述 2 JSR 303 验证框架 1 1Hibernate Validator 扩展
  • layui.table.render如何改变表格的高度

    1 将checkbox 和 操作 设置固定高度 type checkbox fixed left style height 111px field id title ID sort true width 120 fixed right ti
  • 数据结构:排序(Sort)【详解】

    目录 排序 知识框架 排序概述 一 排序的相关定义 二 排序用到的结构与函数 常见的排序算法 一 冒泡排序 交换排序 1 算法 2 性能分析 二 简单选择排序 1 算法 2 性能分析 三 直接插入排序 1 算法 2 性能分析 四 折半插入排
  • 【xenclient】 使用小结 -- 片花

    片花1 磁盘共享 同一台电脑上装的系统多了 各个系统间难免重复内容很多 不免就有共享的需求 最简单的想法 单独做个vhd 只用来保存共享的数据 然后加到每一个虚拟机上 不就行了 当然 同一块vhd挂到多台虚拟机上 同时运行的话肯定有数据一致
  • 超详细的Shell学习教程第一篇

    1 1 Shell介绍 Shell 是一个用 C 语言编写的程序 它是用户使用 Linux 的桥梁 Shell 既是一种命令语言 又是一种程序设计语言 Shell 是指一种应用程序 这个应用程序提供了一个界面 用户通过这个界面访问操作系统内
  • 【100+ python基础入门-32】元组元素的增删改查操作方法总结

    元组是不可变的数据类型 所以我们没有办法对他的内部元素进行诸如修改 删除和增加操作 但是语言就是这么神奇 不可以对元祖本身操作 还可以把元组操作之后的结果重新存储成一个新的元组 这样不就能丰富元组的操作了吗 方法是完全可行的 但是多少有点局
  • LinkedList和ArrayList

    LinkedList和ArrayList 区别 LinkedList是基于双向链表 头尾插入删除效率高 随机访问慢 要沿着链表一个一个遍历 占用内存多 ArrayList是基于数组 尾部插入 删除性能还行 其他部分插入 删除都会一个一个移动
  • 远程桌面很卡

    很多人使用windows自带的远程桌面连接的时候 会觉得很卡 这很可能是你网速慢的原因 你可以试试用提高网速的方法来解决这个问题 下面我教大家调整一下远程桌面连接的显示 可能是你把远程的画质设置得过高 占用了宽带 所以导致了在远程的时候变得
  • Zabbix监控之邮件发送失败-smtp-server: 错误代码550与535

    原始问题背景 前几天运维同事突然发现zabbix监控上面不再发送邮件了 而zabbix的监控界面状态都是能够显示出来 因为之前出现过类似的问题 估计是163邮箱的问题 于是登陆用于告警的邮箱 直接通过网页发送邮件也同样报错 估计是邮件防垃圾