python监听网络请求_六、python网络编程(socket与http请求的python实现)

电子邮件

python发送电子邮件时,使用标准库中的smtplib和email,smptlib中有一个SMTP类,需要发送邮件时,初始化该类返回smtpserver对象,使用login登陆MUA,使用sendmail方法发送邮件,邮件的正文用email.mime.text.MIMEText对象进行描述

简单电子邮件发送程序

from email.mime.text import MIMEText

msg = MIMEText('hello message','plain', 'utf-8')

from_addr = 'yourPhone@163.com'

to_addr = 'yourQQ@qq.com'

sub_msg = 'hello'

smtp_server = 'smtp.163.com'

import smtplib

# 初始化smtp对象,传入服务器地址与端口号

server = smtplib.SMTP(smtp_server,25)

# 设置调试模式可以让我们看到发送邮件过程中的信息

server.set_debuglevel(1)

# 登陆MUA,使用账户与授权码登陆

server.login(from_addr, 'yourpassword')

msg['From'] = from_addr

msg['To'] = to_addr

msg['Subject'] = 'important message'

server.sendmail(from_addr, [to_addr], msg.as_string())

邮件被放入垃圾邮件中,如下

发送带附件的电子邮件

from email.mime.text import MIMEText

from smtplib import SMTP

from email.mime.multipart import MIMEMultipart

from_addr = '18392136027@163.com'

to_addr = '1786614260@qq.com'

smtp_server = 'smtp.163.com'

smtp_port = 25

subject_msg = 'subject'

mul_msg = MIMEMultipart()

mul_msg['From'] = from_addr

mul_msg['To'] = to_addr

mul_msg['Subject'] = subject_msg

msg = MIMEText('\n\rimportant message\n\r', 'plain', 'utf-8')

mul_msg.attach(msg)

att1 = MIMEText(open('program.txt','rb').read(), 'base64', 'utf-8')

att1['Content-Type'] = 'application/octet-stream'

att1["Content-Disposition"] = 'attachment;filename="program.txt"'

mul_msg.attach(att1)

smtp = SMTP(smtp_server, smtp_port)

smtp.login(from_addr, 'youpass')

smtp.set_debuglevel(1)

smtp.sendmail(from_addr, to_addr, mul_msg.as_string())

smtp.close()

使用第三方开源库yagmail发送电子邮件

import yagmail

yag = yagmail.SMTP(user='youQQ@qq.com', password='you pass', host='smtp.qq.com', port=25)

contents = ['import message','program.txt']

yag.send(to='dest', subject='subject', contents=contents)

使用pop3协议用网易邮箱发送邮件时,容易被网易识别为垃圾邮件,可以使用qq邮箱

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值