out 了,你还在 VBA 发邮件?

发送一封带附件的邮件其实很简单:
首先我们需要开启POP3/SMTP服务,下面我在qq邮箱进行开启相关服务:
file

启用后会生成一个第三方客户端登陆调用的授权码,放到下面代码的那串星号处即可。

Python.Execute("import yagmail
yag = yagmail.SMTP(user='547925332@qq.com', password='**************', host='smtp.qq.com')
contents = ['今晚打老虎','C:/Users/Administrator/Desktop/a.jpg','C:/Users/Administrator/Desktop/八剑齐飞.xlsx']
yag.send('547925332@qq.com','吹水',contents)")

file

我们发现已经成功收到邮件,但是中文附件的名称乱码了,修改一下编码就可以了(写你自己的账号及授权码):

import yagmail
from yagmail.sender import SMTP
from  email import utils
yag = yagmail.SMTP(user='547925332@qq.com', password='************', host='smtp.qq.com')
fn = '八剑齐飞.xlsx' 
filename = 'C:/Users/Administrator/Desktop/'+fn 
contents=['今晚打老虎',filename] 
a,b = yag.send('547925332@qq.com','测试',contents,preview_only=True) 
b = b.replace(utils.encode_rfc2231(fn,'utf-8'),utils.encode_rfc2231(fn,'gbk')) 
yag._attempt_send(a,b)

file

记住:
我们不生产数据,我们是大自然的搬运工......
file

道高一尺 魔高一丈
https://pbihub.cn/users/44
M与DAX的恩怨纠葛