• Socket编程:邮件客户


    Socket编程:邮件客户

    实验描述

    使用STMP协议从一个邮箱向另一个邮箱发送邮件
    

    SMTP.py

    #作业3:邮件客户
    from smtplib import SMTP
    from email.mime.text import MIMEText
    from email.header import Header
    
    mail_server = 'smtp.qq.com'
    #根据发送方邮箱确定邮箱服务器
    #qq邮箱的服务器为smtp.qq.com;163邮箱为smtp.163.com
    def get_mail_server(sender):
    	key = sender[sender.index('@')+1:]
    	return "smtp."+key
    
    port = '25'  ## SMTP协议默认端口是25
    sender = 'QQNUMBER@qq.com'
    mail_server = get_mail_server(sender)
    sender_pass = 'YOUR POSTBOX AUTHORIZATION CODE'    #注意是授权码,而不是登录密码,需要在邮箱端先获取
    receiver = 'YOUR POSTBOX NAME@163.com'
    mail_msg = '淡黄的长裙,蓬松的头发'
    
    #第一个参数就是邮件正文,
    # 第二个参数是MIME的subtype,传入'plain'表示纯文本,最终的MIME就是'text/plain',
    # 最后一定要用utf-8编码保证多语言兼容性。
    msg = MIMEText(mail_msg, 'plain', 'utf-8')
    msg['From'] = sender
    msg['To'] = receiver
    #Header对象编码文本,包含utf-8编码信息和Base64编码。
    msg['Subject'] = Header('来自Weber的个人计算机', 'utf-8')
    try:
    	server = SMTP(mail_server, port)
    	#用set_debuglevel(1),可以打印出和SMTP服务器交互的所有信息
    	#server.set_debuglevel(1)
    	server.login(sender, sender_pass)
    	#由于可以一次发给多个人,所以传入一个list,邮件正文是一个str,as_string()把MIMEText对象变成str
    	server.sendmail(sender, (receiver), msg.as_string() )
    	server.quit()
    	print("邮件发送成功!")
    except:
    	server.quit()
    	print("邮件发送失败!")
    
    

    注意将上面代码中的邮箱地址和邮箱授权码改成自己的哦

    运行这个代码,打开邮箱即可查看收到的邮件

    打开浏览器端的接受方邮箱

    这里我用QQ邮箱的授权码,发送邮件给我的163邮箱

  • 相关阅读:
    SAP资产变动明细
    SAP资产明细报表
    SAP连接HANA数据库
    工程变更记录报表
    SELECTION-SCREEN 文本丢失
    FG函数模块
    DOI EXCEL显示报表
    OLE填充EXCEL
    下载模板,上传EXCEL
    SELECTION-SCREEN 加按钮
  • 原文地址:https://www.cnblogs.com/Weber-security/p/12661762.html
Copyright © 2020-2023  润新知