Linux系统发送邮件

管理服务器时我们经常需要写一些监测脚本,然后在出问题的时候通过邮件来通知

SMTP

SMTP(Simple Mail Transfer Protocol)简易邮件传输通讯协议

SMTP服务器是遵循SMTP协议的发送邮件服务器,用来发送或中转你发出的电子邮件。可以理解为就是用来寄信的,而且大多数SMTP服务器也是免费的。

QQ邮箱的SMTP

授权码作为密码

mailx

yum install -y mailx

系统指定SMTP服务器

vim /etc/mail.rc

在文件最后插入:

set from=345678910@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=345678910
set smtp-auth-password=授权码
set smtp-auth=login

from是你设置stmp服务的邮箱地址,也就是用来发送邮件的邮箱地址
smtp是发生的外部smtp服务器的地址,如qq的smtp.qq.com
smtp-auth-user是外部smtp服务器认证的用户名
smtp-auth-password是外部smtp服务器认证的用户密码(授权码)
smtp-auth是邮件认证的方式

发送邮件测试

echo ‘test’ | mail -s 'test' 345678910@qq.com

mail命令语法

mail  -s  "标题"  邮件地址  < 文件

mail  -s  "test" 345678910@qq.com </etc/hosts

echo  "正文" | mail  -s  "test"  345678910@qq.com

使用465端口发送邮件

阿里云回复:

  由于国际与国内均对垃圾邮件进行严格管控,我国《互联网信息服务管理办法》、《中国互联网协会反垃圾邮件规范》均对垃圾邮件进行说明与管理规范。 鉴于服务器25端口被大量垃圾邮件充斥,严重影响广大用户正常使用。为了共同维护良好的网络环境,自即日起阿里云新购服务器不再提供25端口邮件服务, 建议您尝试使用465加密端口发送邮件。

创建证书:

mkdir /root/.certs
echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /root/.certs/163.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d /root/.certs -i /root/.certs/163.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d /root/.certs -i /root/.certs/163.crt
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d /root/.certs/./ -i /root/.certs/163.crt
certutil -L -d /root/.certs

mail.rc:

set from=345678910@163.com
set smtp=smtps://smtp.163.com:465
set smtp-auth-user=345678910
set smtp-auth-password=password
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs

Linux系统发邮件的更多相关文章

  1. linux系统下邮件的发送

    在linux系统下发送邮件一般都要要求本地的机器必须安装和启动Sendmail服务,配置非常麻烦,而且会带来不必要的资源占用. 其实我还可以安装mailx软件,通过修改配置文件可以使用外部SMTP服务 ...

  2. Linux系统下邮件服务器的搭建(Postfix+Dovecot)

    对于网站来说,发送各种例如注册通知的邮件是很基本的一个需求,之前我一直用的是腾讯的企业邮箱,感觉挺方便的,直接可以绑定QQ邮箱接收邮件,网站配置一下SMTP也就可以发出邮件. 但是在前几天由于有重要信 ...

  3. Ubuntu Linux自动发邮件配置及邮件发送脚本

    测试环境:Ubuntu 11.10 1. 安装mutt及msmtp软件 sudo apt-get install mutt sudo apt-get install msmtp 2. 编辑配置文件vi ...

  4. linux怎么发邮件

    邮箱配置: tail /etc/mail.rc #要写在一行 set from=gb17735517416@163.com   smtp=smtp.163.com  smtp-auth-user=gb ...

  5. IOS 调用系统发邮件Api

    // 判断设备是否有发送邮件功能 NSString *deviceType = [UIDevice currentDevice].model; if([deviceType isEqualToStri ...

  6. linux虚拟机发邮件给163邮件

    配置/etc/mail.rc文件 set from=xxxxxxxx@163.com smtp=smtp.163.com set smtp-auth-user=yinhuanyi_cn@163.com ...

  7. linux mail 发邮件

    system('echo "'.$xmlHeader.$xmlBody.$xmlFooter.'" | mail -s "百度新闻源生成成功,地址=>http:// ...

  8. linux 系统的负载与CPU、内存、硬盘、用户数监控脚本[marked]

    转载文章 原始出处  在没有nagios监控的情况下,只要服务器能上互联网,就可通过发邮件的方式来提醒管理员系统资源的使用情况. 一.编写linux系统告警邮件脚本 # vim /scripts/sy ...

  9. 监测linux系统负载与CPU、内存、硬盘、用户数的shell脚本

    本节主要内容: 利用Shell脚本来监控Linux系统的负载.CPU.内存.硬盘.用户登录数. 一.linux系统告警邮件脚本 # vim /scripts/sys-warning.sh #!/bin ...

  10. Linux系统的负载与CPU、内存、硬盘、用户数监控的shell脚本

    利用Shell脚本来监控Linux系统的负载.CPU.内存.硬盘.用户登录数. 这几天在学习研究shell脚本,写的一些系统负载.CPU.内存.硬盘.用户数监控脚本程序.在没有nagios监控的情况下 ...

随机推荐

  1. 开源即时通讯IM框架 MobileIMSDK v6.5 发布

    一.更新内容简介 本次更新为次要版本更新,进行了bug修复和优化升级(更新历史详见:码云 Release Notes.Github Release Notes). MobileIMSDK 可能是市面上 ...

  2. 海量用户IM聊天室的架构设计与实践

    本文由网易云信资深服务端开发工程师曹佳俊分享,本文收录时有内容修订和重新排版. 1.引言 聊天室是一类非常重要的 IM 业务形态,不同于单聊和群聊,聊天室是一种大规模的实时消息分发系统.聊天室有多种技 ...

  3. Diary -「联合省选 2023」鸢尾

    零   她们诞生于那样一段迷茫的时期,她们总是一个唱着虚幻的梦呓,一个哼着现实的词曲.   「平行的世界 / 另一个 / 我是怎样的」?如果那时的,虚幻的歌者没有妥协,现在的她会是怎样的人呢?   我 ...

  4. 小程序uView中loadMore 加载更多

    <u-loadmore :status="status" :icon-type="iconType" :load-text="loadText& ...

  5. 基于Linux系统的PXE搭建方法

    本文分享自天翼云开发者社区<基于Linux系统的PXE搭建方法>,作者:t***n 一.底层环境准备 1.安装RedHat7.6系统 2.关闭防火墙和Selinux systemctl s ...

  6. MySql执行Sql语句时出现“MySqlException: Parameter ‘@maxNo‘ must be defined.”的错误

    1.问题描述 具体执行的SQL和报错的信息如下图所示: 2.解决办法 连接字符串中增加Allow User Variables=True;的配置即可,如下所示: Server=192.168.2.1; ...

  7. LangChain基础篇 (04)

    LangChain 核心模块:Data Conneciton - Document Loaders 使用文档加载器从源中加载数据作为文档.一个文档是一段文字和相关的元数据. 如,有用于加载简单 .tx ...

  8. .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?

    昨天线上有几个进程因为 StackOverFlowException 导致进程 Crash 了,但是 TCP 请求还是可以连接,具体可不可以连接一个出现StackOverFlowException的微 ...

  9. SQLServer 常用命令记录,持续更新.....(有问题可以留言)

    SqlServer 单用户解决方案 USE master; GO DECLARE @SQL VARCHAR(MAX); SET @SQL='' SELECT @SQL=@SQL+'; KILL '+R ...

  10. C51二进制数输入宏

    在C语言中有十进制,十六进制,八进制;没有二进制的定义,在C51中使用十六进制表示有时不太直观,下面介绍几种方法表示二进制[均来自网络] 方法一 #define _BIN(a,b,c,d,e,f,g, ...