CentOS使用SMTP第三方发送邮件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS使用SMTP第三方发送邮件相关的知识,希望对你有一定的参考价值。

利用QQ邮箱+SMTP来构成邮件服务

1SMTP协议简介

SMTP称为简单邮件传输协议(Simple Mail Transfer Protocal),目标是向用户提供高效、可靠的邮件传输。它的一个重要特点是它能够在传送中接力传送邮件,即邮件可以通过不同网络上的主机接力式传送。通常它工作在两种情况下:一是邮件从客户机传输到服务器;二是从某一个服务器传输到另一个服务器。SMTP是一个请求/响应协议,它监听25号端口,用于接收用户的Mail请求,并与远端Mail服务器建立SMTP连接。

2SMTP协议工作机制

SMTP通常有两种工作模式。发送SMTP和接收SMTP。具体工作方式为:发送SMTP在接收到用户的邮件请求后,判断此邮件是否为本地邮件,若是直接投送到用户的邮箱,否则向DNS查询远端邮件服务器的MX记录,并建立与远端接收SMTP之间的一个双向传送通道,此后SMTP命令由发送SMTP发出,由接收SMTP接收,而应答则反方向传送。一旦传送通道建立,SMTP发送者发送MAIL命令指明邮件发送者。如果SMTP接收者可以接收邮件则返回OK应答。SMTP发送者再发出RCPT命令确认邮件是否接收到。如果SMTP接收者接收,则返回OK应答;如果不能接收到,则发出拒绝接收应答(但不中止整个邮件操作),双方将如此反复多次。当接收者收到全部邮件后会接收到特别的序列,入伏哦接收者成功处理了邮件,则返回OK应答。

3SMTP的连接和发送过程

a)建立TCP连接

b)客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令;

         服务器端正希望以OK作为响应,表明准备接收

c)客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行;

         服务器端则表示是否愿意为收件人接收邮件

d)协商结束,发送邮件,用命令DATA发送

e)以.表示结束输入内容一起发送出去

f)结束此次发送,用QUIT命令退出

#CenrOS搭建:

使用的服务器版本:

[[email protected] ~]# uname -a

Linux zlx 2.6.32-642.6.2.el6.x86_64 #1 SMP Wed Oct 26 06:52:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

因为CentOS模式安装了postfix邮件服务,我们先给他关闭

[[email protected] ~]# /etc/init.d/postfix stop

Shutting down postfix:                                     [  OK  ]

然后要是用mail命令来发送邮件,所以安装

yum –y install mailx

然后编辑配置文件/etc/mail.rc

vim /etc/mail.rc

 

#使用qq邮箱来发送邮件

set [email protected]    #你要使用的邮箱地址

set smtp=smtps://smtp.qq.com:465   #使用qq.com465加密端口

set [email protected]   #登录邮箱使用的账号

set smtp-auth-password=dcnhslrkexdbbgbh  #qq邮箱开启POP3/SMTP服务时提供的密码,

set smtp-auth=login    #用户名和密码登录

set ssl-verify=ignore   #使用ssl加密

set nss-config-dir=/etc/pki/nssdb/   #指定ssl证书所在的位置

 

QQ邮箱开启POP3/SMTP服务,

技术分享图片

设置à账户à POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务

技术分享图片

点击开启:

技术分享图片

然后他会告诉你一个授权码:把这个授权码填到刚才set auth-password=的位置

技术分享图片

然后发送测试邮件:

[[email protected] ~]# echo 123 | mail  -s "test Email" [email protected]

接受成功

技术分享图片

 

刚开始做的时候没有选择ssl加密的方式连接,一直卡在

[[email protected] ~]# echo 123 | mail -v -s "test Email" [email protected]

Resolving host smtp.qq.com . . . done.

Connecting to 14.18.245.164 . . .   连接这一步,然后紧接着就报错,所以我们选择加密连接


以上是关于CentOS使用SMTP第三方发送邮件的主要内容,如果未能解决你的问题,请参考以下文章

在Python中使用SMTP发送电子邮件

WordPress SMTP发送邮件插件:WP SMTP

使用python语言发送邮件smtp

centos smtp模式发送邮件简单小办法

使用第三方 smtp 服务器时的 AWS EC2 电子邮件发送限制

如何在php中使用ssl通过smtp发送邮件