您现在的位置是:首页 >技术杂谈 >Linux发送接收邮件网站首页技术杂谈

Linux发送接收邮件

cronaldo91 2024-09-08 12:01:03
简介Linux发送接收邮件

目录

一、实验

1.linux用户发送给linux中的其它用户

 2.linux用户发送给外网用户


一、实验

1.linux用户发送给linux中的其它用户

(1)使用命令 yum install -y sendmail 安装sendmail软件

 (2)使用yum install -y mailx 安装 mailx软件

 (3)使用命令systemctl start sendmail启动sendmail(此过程消耗时间)

 (4)root用户发送邮件内容为"This is first email" 标题为 "email"给root用户

 (5)在root用户使用命令mail查看邮件

N表示此邮件为未读;1,2表示编号;root表示发送用户;时间;email表示主题

(6)输入编号即可查看详细信息

 (7)q键退出

 2.linux用户发送给外网用户

(1)首先在163邮箱中获取自己的提权码

     登录邮箱,在首页的设置里面打开pop3/smtp/imap

 (2)在开启服务IMAP/SMTP后点击开启即可获得授权码

 (3)在/etc/mail/rc文件中配置以下信息

 71 #开启ssl
 72 set ssl-verify=ignore
 73 
 74 #下方输入证书目录,下方为centos系统证书默认位置,也自行生成证书并指定
 75 
 76 set nss-config-dir=~/.certs
 77 
 78 # 下方填入你配置的第三方smtp服务器的地址及端口,如果使用的是云服务器,安全组需要开放465端口(入>    口和出口)
 79 
 80 set smtp=smtps://smtp.163.com:465            
 81 
 82 # 认证方式
 83 
 84 set smtp-auth=login
 85 
 86 # 下方输入用于发送邮件的邮箱账号
 87 
 88 set smtp-auth-user=7jjw@163.com
 89 
 90 # 下方输入上方邮箱的客户端授权码
 91 
 92 set smtp-auth-password=授权码
 93 
 94 # 设置发信人邮箱和昵称
 95 
 96 set from=7jjw@163.com
 97 

(4)配置邮箱证书

因为需要 163邮箱的 SSL 证书,所以我们还需要手动的获取163邮箱的证书保存到本地指定的目录里以备调用和验证,具体命令如下:

[root@localhost .certs]# echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt
depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
verify return:1
depth=1 C = US, O = DigiCert Inc, CN = GeoTrust RSA CN CA G2
verify return:1
depth=0 C = CN, ST = zhejiang, L = hangzhou, O = "NetEase (Hangzhou) Network Co., Ltd", CN = *.163.com
verify return:1
DONE
[root@localhost .certs]# certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
certutil: could not add certificate to token or database: SEC_ERROR_ADDING_CERT: Error adding certificate to database.
[root@localhost .certs]# certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
certutil: could not add certificate to token or database: SEC_ERROR_ADDING_CERT: Error adding certificate to database.
[root@localhost .certs]# certutil -L -d /root/.certs

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

GeoTrust SSL CA                                              C,,  
GeoTrust Global CA                                           P,P,P

为了防止出现前文所说的发送邮件警告提示,还需要进入邮箱 SSL 证书存放目录 /root/.certs 里执行如下命令:

[root@localhost .certs]# cd /root/.certs/
[root@localhost .certs]# certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 163.crt

返回如下提示即可:

Notice: Trust flag u is set automatically if the private key is present.

开启postfix

systemctl start postfix

(5)使用命令echo "This is second email" | mail -s "email" 用户名  发送邮件

 (6)登录163邮箱查看收到的邮件

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。