今天在学习发送邮件时遇到了错误如下
经过查找后发现是
这里的protocol需要改为smtps,默认是smtp
SMTP协议
SMTP:简单邮件传输协议,是一个基于文本的协议。在其上指定了一个消息的一个或多个接收者(收件人和抄送人),然后消息文本会被传输。可以使用简单的telnet程序来测试一个SMTP服务器。
如今绝大多数邮件服务器都使用该协议。当你给别人发邮件时,你的服务器的某个动态端口(大于1024)就会和邮件服务器的25端口建立一个连接,你发送的邮件会通过这个连接传送到邮件服务器上,保存起来。需要注意的是,现在国内外的大云主机商(例如:阿里云),多数不允许连接外网的25端口。
SMTPS协议
SMTPS(SMTP-over-SSL)是SMTP协议基于SSL安全协议之上的一种变种协议,它继承了SSL安全协议的非对称加密的高度安全可靠性,可防止邮件泄露。SMTPS和SMTP协议一样,也是用来发送邮件的,只是更安全些,防止邮件被黑客截取泄密,还可实现邮件发送者抗抵赖功能。防止发送者发送之后删除已发邮件,拒不承认发送过这样一份邮件。端口465和587便是基于SMTPS协议开放的。
465端口(SMTPS):它是SMTPS协议服务所使用的其中一个端口,它在邮件的传输过程中是加密传输(SSL/TLS)的,相比于SMTP协议攻击者无法获得邮件内容,邮件在一开始就被保护了起来。
587端口(SMTPS):它是SMTPS协议服务所使用的另一个端口,它在邮件的传输过程中是加密传输(STARTTLS)的,相比于SMTP协议攻击者无法获得邮件内容,邮件在STARTTLS命令执行后才被加密。465用于Outlook上,而587可以用于任何程序上