Python发送邮件,含附件

发送邮件时可以用smtp协议把邮件传到邮件服务器上,然后服务器再把邮件发送出去,我们可以采用QQ邮箱的服务器(smtp.qq.com),下面介绍用python自带的smtplib来实现借助qq邮箱发送邮件的功能。

首先在QQ邮箱的设置里面开启pop3/smtp服务,pop3用来从邮件服务器里下载接收邮件,smtp用来向服务器上传发送邮件。找到设置->账户这一栏

然后向下拉,找到smtp服务并开启

之后会出现一个授权码,这个授权码就是登录的密码,截屏或者复制下来保存好

剩下的就是编写程序

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
from os.path import basename

def sendMail(user, pwd, sendTo):
    msg = MIMEMultipart()
    #设置邮件主题、发送者、接受者
    msg['Subject'] = "Python mail test"
    msg['From'] = user
    msg['To'] = sendTo
    #输入邮件的文本内容
    tmp = input("input text content: ")
    text = MIMEText(tmp)
    msg.attach(text)
    #添加附件
    fd = input("input attachment file path:")
    jpgpart = MIMEApplication(open(fd, 'rb').read())
    #标示位置为附件,设置附件的文件名
    jpgpart.add_header("Content-Disposition", "attachment", filename=basename(fd))
    msg.attach(jpgpart)

    #以上是写信步骤,下面为发送
    #连接smtp服务器
    s = smtplib.SMTP_SSL("smtp.qq.com", 465)
    #登录,user是自己的qq邮箱,pwd是刚刚腾讯给你的授权码
    s.login(user, pwd)
    #sendTo指示接收方邮箱
    s.sendmail(user, sendTo, msg.as_string())
    s.close()
    print("success")
    return True

if __name__ == '__main__':
    #三个参数依次是自己的邮箱,授权码,接收方邮箱
    sendMail('xxxxxx@qq.com', 'your_password', 'xxxxxx@qq.com')

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值