CentOS|CentOS 6/7 配置 sendEmail 发送邮件
sendEmail是Linux下优秀的第三方邮件命令,非常简单,可以设置 smtp,不会被认定为SPAM(垃圾邮件)或直接拒收。
本文原文转自米扑博客:CentOS 6/7 配置 sendEmail 发送邮件
sendEmail 官网:http://caspian.dotconf.net/menu/Software/SendEmail/
sendEmail 下载:sendEmail-v1.56.tar.gz (2009)
1、sendEmail 下载
sendEmail-v1.56.tar.gz
2、解压、安装
tar zxvf sendEmail-v1.56.tar.gz
cd sendEmail-v1.56
cp sendEmail /usr/local/bin/
查看解压后的文件
\# ll sendEmail-v1.56
total 116
-rw-r--r-- 1 root root 13329 Sep 302009 CHANGELOG
-rw-r--r-- 1 root root7949 Sep 302009 README
-rw-r--r-- 1 root root4701 Sep 302009 README-BR.txt
-rwxr-xr-x 1 root root 80213 Sep 302009 sendEmail
lrwxrwxrwx 1 root root9 Sep 302009 sendEmail.pl -> sendEmail
-rw-r--r-- 1 root root1229 Sep 302009 TODO
3、sendEmail 参数
sendEmail -h
-f 表示发送者的邮箱
-t 表示接收者的邮箱
-s 表示SMTP服务器的域名或者ip
-u 表示邮件的主题
-xu 表示SMTP验证的用户名
-xp 表示SMTP验证的密码(注意,这个密码貌似有限制,例如我用d!5neyland就不能被正确识别)
-m 表示邮件的内容
-cc 表示抄送
-bcc 表示暗抄送
4、应用实例
1)qq企业邮箱发送邮件
/usr/local/bin/sendEmail -f robot@mimvp.com -t yanggang@mimvp.com -s smtp.exmail.qq.com -u "邮件标题" -o message-charset=utf-8 -xu robot@mimvp.com -xp mimvp-password -m "邮件正文内容"
结果错误,信息如下:
# /usr/local/bin/sendEmail -f robot@mimvp.com -t yanggang@mimvp.com -s smtp.exmail.qq.com -u "邮件标题" -o message-charset=utf-8 -xu robot@mimvp.com -xp mimvp-password -m "邮件正文内容"
*******************************************************************
Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client
is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER
together with SSL_ca_file|SSL_ca_path for verification.
If you really don't want to verify the certificate and keep the
connection open to Man-In-The-Middle attacks please set
SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application.
*******************************************************************
at /usr/local/bin/sendEmail line 1906.
invalid SSL_version specified at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 424.
查看源码:
vim /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm +424${*$self}{'\_SSL\_arguments'} = $arg_hash;
${*$self}{'\_SSL\_ctx'} = IO::Socket::SSL::SSL\_Context->new($arg\_hash) || return;
${*$self}{'\_SSL\_opened'} = 1 if $is_server;
应该是 perl 版本不兼容
\# perl -vThis is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi
(with 29 registered patches, see perl -V for more detail)Copyright 1987-2012, Larry Wall
解决方案,sendEmail 增加两个参数
-o tls=no // sendEmail -h 查看帮助,解释是 -o tls= -o fqdn=FQDN 即不验证 ssl
完整且正确命令:
/usr/local/bin/sendEmail -f robot@mimvp.com -t yanggang@mimvp.com -s smtp.exmail.qq.com -u "邮件标题" -o message-charset=utf-8 -xu robot@mimvp.com -xp mimvp-password -m "邮件正文内容" -o tls=no
\# /usr/local/bin/sendEmail -f robot@mimvp.com -t yanggang@mimvp.com -s smtp.exmail.qq.com -u "邮件标题" -o message-charset=utf-8 -xu robot@mimvp.com -xp mimvp-password -m "邮件正文内容" -o tls=no
Aug 02 00:27:47 mimvp-sz sendEmail\[15493\]: Email was sent successfully!
qq企业邮箱是 用户名 + 密码;qq个人邮箱是用户名 + 随机码
查看发送的邮件:
文章图片
image 2)163 个人邮箱发送邮件
同样需要加上两个参数 -o tls=no
/usr/local/bin/sendEmail -f yanggang@163.com -t yanggang@mimvp.com -s smtp.163.com -u "邮件标题" -o message-charset=utf-8 -xu yanggang@163.com -xp mimvp-auth-code -m "邮件正文内容" -o tls=no
\# /usr/local/bin/sendEmail -f yanggang@163.com -t yanggang@mimvp.com -s smtp.163.com -u "邮件标题" -o message-charset=utf-8 -xu yanggang@163.com -xp mimvp-auth-code -m "邮件正文内容" -o tls=no
Aug 02 00:31:37 mimvp-sz sendEmail\[15642\]: Email was sent successfully!
163个人邮箱是 用户名 + 授权码(mimvp-auth-code),不是密码哈,设置获取授权码请见米扑博客:POP3、SMTP、IMAP 的作用和联系
成功发送截图:
文章图片
image
小结
经过对比实测,发现阿里云封禁了25端口号的服务器,是无法利用 sendEmail 发送邮件的,只有开放没封25端口号的才可以发送
折腾了利用 smtps://smtp.exmail.qq.com:165 发送邮件,结果没有成功!
感兴趣的您,可以继续折腾下,搞定的欢迎留言告诉我哈 .
参考推荐:
Centos7 配置 sendmail、postfix 端口号25、465
nginx 反向代理转发邮件的配置
Centos7 使用 sendmail 发送邮件
CentOS7 使用 postfix 发送邮件
Linux shell 发送 email 邮件
Linux shell 发送 email 附件
CentOS 6使用mutt+msmtp发送邮件
POP3、SMTP、IMAP 的作用和联系
Linux用Sendmail架设Mail服务器
【CentOS|CentOS 6/7 配置 sendEmail 发送邮件】CentOS SendMail总结
推荐阅读
- vue-cli|vue-cli 3.x vue.config.js 配置
- 从战略性的角度可以配置股票
- 缓存有关的配置和属性
- Spring|Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件
- Vagrant|Vagrant (三) - 网络配置
- java|java b2b2c shop 多用户商城系统源码- config 修改配置
- CentOS7 阿里云镜像配置方法
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- 为Google|为Google Cloud配置深度学习环境(CUDA、cuDNN、Tensorflow2、VScode远程ssh等)
- MyBatis|MyBatis Generator配置