因为很多云主机默认都屏蔽了25端口,所以写了个脚本通过465端口(ssl)方式来发送邮件,简单有效!
import smtplib import sys from email.header import Header from email.mime.text import MIMEText # 第三方 SMTP 服务 mail_host = "smtp.163.com" # SMTP服务器 mail_user = "helowin" # 用户名 mail_pass = "helowin123" # 授权密码,非登录密码 sender = "helowin@163.com" # 发件人邮箱(最好写全, 不然会失败) def sendEmail(): message = MIMEText(content, 'plain', 'utf-8') # 内容, 格式, 编码 message['From'] = "{}".format(sender) message['To'] = receivers message['Subject'] = title try: smtpObj = smtplib.SMTP_SSL(mail_host, 465) # 启用SSL发信, 端口一般是465 smtpObj.login(mail_user, mail_pass) # 登录验证 smtpObj.sendmail(sender, receivers, message.as_string()) # 发送 print("mail has been send successfully.") except smtplib.SMTPException as e: print(e) if __name__ == '__main__': receivers = sys.argv[1] #收件人邮箱 title = sys.argv[2] #标题 content = sys.argv[3] #内容 sendEmail()
保存为mail.py
为了灵活使用,发件人固定写在脚本内,收件人、标题、内容 3个参数通过传参的形式!
python mail.py 邮箱地址 标题 内容
转载请注明:梦绘设计 » Python/Shell » python3 通过163邮箱的465端口发送邮件
版权声明
本站《作品展示》类文章均为原创,转载必须注明出处,技术分享类文章部分来源于网络,版权归原作者所有,若侵权请留言。