python如何发送邮件-Python教程

资源魔 46 0

python若何发送邮件

应用邮箱测试时,必需患上开启邮箱的pop3/smtp效劳,并找到邮箱正确的SMTP效劳器地点和端口。这里以QQ邮箱为例

一、关上QQ邮箱后,抉择“设置-账户”

保举学习:Python视频教程

1.png

二、拉动滚动条到下方

2.png

三、开启pop3/smtp效劳,并保留该受权码作为明码应用

3.png

四、编写Python代码

# 起首导入email模块结构邮件
from email.mime.text import MIMEText
# 结构邮件,内容为hello world
msg = MIMEText('hello world')
# 设置邮件主题
msg["Subject"] = "hello world" 
# 寄件者
msg["From"]    = ''
# 收件者
msg["To"]      = ''
# 而后是导入smtplib模块发送邮件
import smtplib
from_addr = raw_input("请输出发送方邮箱账号:")
password = raw_input("请输出发送方邮箱明码(这里输出的内容是开启pop3/smtp效劳时腾讯给出的受权码):")
# smtp效劳器地点
smtp_server = 'smtp.qq.com'
# 收件人地点
to_addr = raw_input("请输出收件人地点:")
try:
    # smtp协定的默许端口是25,QQ邮箱smtp效劳器端口是465,第一个参数是smtp效劳器地点,第二个参数是端口,第三个参数是超时设置,这里必需应用ssl证书,要没有链接没有上效劳器
    server = smtplib.SMTP_SSL(smtp_server, 465, timeout = 2)
    # 登录邮箱
    server.login(from_addr, password)
    #发送邮件,第一个参数是发送方地点,第二个参数是接纳方列表,列表中能够有多个接纳方地点,示意发送给多个邮箱,msg.as_string()将MIMEText工具转化成文本
    server.sendmail(from_addr, [to_addr], msg.as_string())
    server.quit()
    print 'success'
except Exception,e:
    print 'Faild:%s' % e

五、收到邮件

4.png

python3应用smtplib发送utf-8邮件时,提醒UnicodeEncodeError,该若何处理:

没有应用sendmail()办法,而是应用sendmsg()

没有应用sendmail()办法 ser.sendmail(from_addr, to_addr, msg.as_string())

而是改成应用sendmsg() send_message(msg,mail_options=[],rcpt_options={},from_addr = None,to_addrs = None)

更多编程教程,请存眷PHP中文网!

以上就是python若何发送邮件的具体内容,更多请存眷资源魔其它相干文章!

标签: Python python教程 python编程 python使用问题 发送邮件

抱歉,评论功能暂时关闭!