通过465端口发送邮件
一般情况下我们都是使用25端口来发送邮件,但有时候因为某些原因,25端口被禁止使用了,此时,如果465端口能够使用,我们就可以用465端口来发送邮件。
不知道阿里云什么时候上的新规,说专用网络(VPC)不允许开放25端口,也不允许访问外部邮件服务器的25端口,说是防垃圾邮件,禁止服务器开放25端口我可以理解,这样做可以防止用户搭建邮件服务器用于发送垃圾邮件,但是,禁止用户访问外部邮件服务器我就不理解了,有理解阿里云这样做的童鞋可以给我留言,开导开导我。
不过没关系,虽然阿里云封了25端口,但他们还是允许访问外部邮件服务器的465端口的,下面来介绍一下在python程序中如何使用465端口来发送邮件。
from email.header import Header from email.mime.text import MIMEText import 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)
#/usr/bin/enn python #coding=utf-8 import smtplib from email.mime.text import MIMEText msg_from = '[email protected]' passwd = 'H天天' msg_to = "liuhaixia@23432" mail_host="smtp.163.com" port= 465 subject = "python邮件测试" content = "Hello World" msg = MIMEText(content) msg['Subject'] = subject msg['From'] = msg_from #创建连接对象并连接到服务器 s = smtplib.SMTP_SSL(mail_host,port) # 登录服务器 mail_list = ["[email protected]","[email protected]"] s.login(msg_from, passwd) i=0 for i in range(0, len(mail_list)): msg_to = mail_list[i] msg['To'] = msg_to s.sendmail(msg_from, msg_to, msg.as_string()) print "发送成功" i=i+1
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/5245.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~