一般情况下我们都是使用25端口来发送邮件,但有时候因为某些原因,25端口被禁止使用了,此时,如果465端口能够使用,我们就可以用465端口来发送邮件。 不知道阿里云什么时候上的新规,说专用网络(VPC
一般情况下我们都是使用25端口来发送邮件,但有时候因为某些原因,25端口被禁止使用了,此时,如果465端口能够使用,我们就可以用465端口来发送邮件。
不知道阿里云什么时候上的新规,说专用网络(VPC)不允许开放25端口,也不允许访问外部邮件服务器的25端口,说是防垃圾邮件,禁止服务器开放25端口我可以理解,这样做可以防止用户搭建邮件服务器用于发送垃圾邮件,但是,禁止用户访问外部邮件服务器我就不理解了,有理解阿里云这样做的童鞋可以给我留言,开导开导我。
不过没关系,虽然阿里云封了25端口,但他们还是允许访问外部邮件服务器的465端口的,下面来介绍一下在python程序中如何使用465端口来发送邮件。
from email.header import Headerfrom email.mime.text import MIMETextimport smtplib# 邮件发送def sendmail(subject, content): sender = '' # 发件人邮箱 password = '' # 发件人邮箱密码 recipients = '' # 收件人邮箱 host = '' # 发件人邮箱主机 msg = MIMEText(content, 'plain', 'utf-8') msg['From'] = sender msg['To'] = recipients msg['Subject'] = Header(subject, 'utf-8').encode() server = smtplib.SMTP_SSL(host, 465) server.login(sender, password) server.sendmail(sender, [recipients], msg.as_string()) server.quit()
这段代码中最关键的一行是:
server = smtplib.SMTP_SSL(host, 465)