zoukankan      html  css  js  c++  java
  • 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邮箱

  • 相关阅读:
    C# 实现 Snowflake算法生成唯一性Id
    kafka可视化客户端工具(Kafka Tool)的基本使用(转)
    docker 安装kafka
    Model类代码生成器
    使用docker 部署rabbitmq 镜像
    Vue 增删改查 demo
    git 提交代码到库
    Android ble蓝牙问题
    mac 配置 ssh 到git (Could not resolve hostname github.com, Failed to connect to github.com port 443 Operation timed out)
    okhttp
  • 原文地址:https://www.cnblogs.com/Weber-security/p/12661762.html
Copyright © 2011-2022 走看看