admin

python3 通过163邮箱的465端口发送邮件

admin Python/Shell 2019-04-10 5733浏览 0

因为很多云主机默认都屏蔽了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 邮箱地址 标题 内容

版权声明

本站《作品展示》类文章均为原创,转载必须注明出处,技术分享类文章部分来源于网络,版权归原作者所有,若侵权请留言。