CentOS 通过465端口发送QQ邮件

本文详细介绍如何在Linux环境下配置QQ邮箱SMTP服务,包括开启SMTP、获取授权码、配置Postfix、创建认证、配置邮件发送者及测试邮件发送流程。

1.QQ邮箱开启SMTP并获取授权码

进入QQ邮箱,选择设置-账户,开启如图两个SMTP,并获取授权码QQ

2.关闭sendmail服务

[root@ruozedata001 ~]# service sendmail stop 
[root@ruozedata001 ~]# chkconfig sendmail off

3.修改/etc/postfix/main.cf

[root@ruozedata001 ~]# vim /etc/postfix/main.cf 
# 默认为 inet_interfaces = localhost,修改成all
inet_interfaces = all

4.启动postfix服务

[root@ruozedata001 ~]# service postfix start 
[root@ruozedata001 ~]# chkconfig postfix on 
[root@ruozedata001 ~]# postfix check 
[root@ruozedata001 ~]# systemctl status postfix
# 启动成功输出
● postfix.service - Postfix Mail Transport Agent
   Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2019-08-24 15:59:32 CST; 3h 4min ago
 Main PID: 1965 (master)
   CGroup: /system.slice/postfix.service
           ├─1965 /usr/libexec/postfix/master -w
           ├─1967 qmgr -l -t unix -u
           └─3545 pickup -l -t unix -u

Aug 24 15:59:31 ruozedata001 systemd[1]: Starting Postfix Mail Transport Agent...
Aug 24 15:59:32 ruozedata001 postfix/postfix-script[1963]: starting the Postfix mail system
Aug 24 15:59:32 ruozedata001 postfix/master[1965]: daemon started -- version 2.10.1, configurat...ix
Aug 24 15:59:32 ruozedata001 systemd[1]: Started Postfix Mail Transport Agent.
Hint: Some lines were ellipsized, use -l to show in full.

5.创建认证

[hadoop@ruozedata001 ~]$ mkdir -p ~/.certs/ 
[hadoop@ruozedata001 ~]$ echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE -/,/-END [hadoop@ruozedata001 ~]$ CERTIFICATE-/p' > ~/.certs/qq.crt 
[hadoop@ruozedata001 ~]$ certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt 
[hadoop@ruozedata001 ~]$ certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt 
[hadoop@ruozedata001 ~]$ certutil -L -d ~/.certs
[hadoop@ruozedata001 ~]$ cd ~/.certs 
[hadoop@ruozedata001 ~]$ certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt
# 成功输出
Notice: Trust flag u is set automatically if the private key is present.

6.配置邮件发送者

[root@ruozedata001 ~]# vim /etc/mail.rc
# 底部添加发送着信息
set from=1115346515@qq.com	#邮箱
set smtp=smtps://smtp.qq.com:465 
set smtp-auth-user=1115346515 #QQ号
set smtp-auth-password=********** #刚才申请的授权码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/home/hadoop/.certs # 认证文件路径,注意根据自己用户的路径填写不要盲目复制

7.测试

[hadoop@ruozedata001 ~]$ echo "邮件正文" | mail -s "邮件主题"  1115346515@qq.com

1

8.实时查看 Linux 日志

[root@ruozedata001 ~]# tail -f /var/log/maillog

9.生产上使用

9.1 发邮件不不带附件

EMAILFROM=503757851@qq.com
EMAILTO=503757851@qq.com # 多个接受者用 , 分割
echo -e "`date "+%Y-%m-%d %H:%M:%S"` : The current running $JOB_NAME job num is $RUNNINGNUM in 192.168.137.201 ......" | mail \
-r "From: alertAdmin <${EMAILFROM}>" \
-s "Warn: Skip the new $JOB_NAME spark job." ${EMAILTO}

9.2 发邮件带附件

echo -e "`date "+%Y-%m-%d %H:%M:%S"` : Please to check the fail sql attachement."|mailx \
-r "From: alertAdmin <${EMAILFROM}>" \
-a error.log \
-s "Critical:KSSH fail sql." ${EMAILTO}
### 在CentOS中关闭22端口的方法 在CentOS系统中,关闭22端口可以通过两种主要方式实现:一是通过防火墙规则阻止外部访问22端口;二是直接修改`sshd`配置文件以禁用或更改默认的22端口。以下是具体的操作方法。 #### 方法一:通过Firewalld防火墙关闭22端口CentOS 7及以上版本中,`firewalld`是默认的防火墙管理工具。可以通过以下命令移除22端口的开放规则: ```bash sudo firewall-cmd --zone=public --remove-port=22/tcp --permanent ``` 执行上述命令后,需要重新加载`firewalld`配置以使更改生效: ```bash sudo firewall-cmd --reload ``` 验证22端口是否已被移除: ```bash sudo firewall-cmd --zone=public --list-ports ``` 如果输出结果中不再包含`22/tcp`,则说明22端口已成功关闭[^2]。 #### 方法二:通过修改`sshd`配置文件禁用22端口 另一种方法是直接修改SSH服务的配置文件`/etc/ssh/sshd_config`,从而禁用或更改默认的22端口。 1. 打开`sshd_config`文件进行编辑: ```bash sudo vi /etc/ssh/sshd_config ``` 2. 找到以下行并注释掉,默认情况下该行可能如下所示: ```bash #Port 22 ``` 3. 如果希望完全禁用22端口,只需确保没有其他`Port`指令指定为22即可。如果需要将SSH服务迁移到其他端口(例如2222),可以添加如下内容: ```bash Port 2222 ``` 4. 保存并退出编辑器,然后重启SSH服务以应用更改: ```bash sudo systemctl restart sshd ``` 5. 验证新端口是否生效(如果更改了端口): ```bash netstat -tuln | grep ssh ``` 输出应显示新的端口号(如2222),而不再显示22[^3]。 #### 注意事项 - 在修改SSH配置或关闭22端口之前,请确保有其他可靠的远程访问方式(例如使用密钥登录或其他端口),以避免因配置错误导致无法连接服务器。 - 如果启用了防火墙规则,记得同时更新防火墙配置以允许新端口(如果更改了默认端口)。 ```bash sudo firewall-cmd --add-port=2222/tcp --permanent sudo firewall-cmd --reload ``` --- ###
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值