跳过正文
  1. Posts/

mail 命令发送附件 Linux 亲测简单实用

·44 字·1 分钟·
Kubehan
作者
Kubehan
云原生知识栈:深度解析容器技术、Kubernetes、Istio、DevOps 实践、Prometheus 监控、Envoy 代理、Golang 开发及云原生架构与微服务趋势的专业博客

在网上看了好多教程,太乱了、发送附还要安装这个那个的安装包,太烦了

事实上mail命令就可以实现啊 只需要加-a参数接文件就ok了嘛,哪有那么麻烦

echo -e “邮件正文部分” | mail -a 附件路径 -s 主题    邮箱地址

这样就可以发送了

下面是邮箱配置脚本

#!/bin/bash
# @Author: HanWei
# @Date:   2019-12-05 09:27:36
# @Last Modified by:   HanWei
# @Last Modified time: 2019-12-06 10:49:45
# @E-mail: han_wei_95@163.com
#安装对应的数字证书:这里请求安装网易163邮箱数字证书
mkdir -p /root/.certs/
#向163请求证书
echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt
#增加一个证书到证书数据库中
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
#再增加一个证书到证书数据库中
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
certutil -L -d /root/.certs
cd /root/.certs/
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 163.crt
#配置客户端信息
echo "
set from=95@163.com  #开启SMTP服务的邮箱
set smtp=smtps://smtp.163.com:465
set smtp-auth-user=95@163.com
set smtp-auth-password=h63com    #邮箱的授权码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs   #证书所在目录
" >> /etc/mail.rc
#测试成功信息
echo "恭喜您!您已成功配置邮箱,现在可以正常收件!" | mail -s "PHP党建平台邮箱配置通知" han_wei_95@163.com