#!/usr/bin/python
#-*- encoding:utf-8 -*-
import sys
import smtplib,mimetypes
from email import Encoders
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
if len(sys.argv) < 4:
print '参数错误/n'
#基本信息
msg = MIMEMultipart() #创建可包含附件的MIME对象
msg['To'] = sys.argv[1] #'yaozhongji@foxmailcom'
msg['Subject'] =sys.argv[2] #'this is title'
msg['From'] = 'wwjt_yaozhj@foxmail.com'
#txt = MIMEText('这是邮件正文的中文测试。',_charset='utf-8')
txt = MIMEText(sys.argv[3],_charset='utf-8')
#msg.attach(txt)
#附件名
filename = sys.argv[4] #'readme.txt'
fp = open(filename,'rb')
ctype,encoding = mimetypes.guess_type(filename)
if ctype is None or encoding is not None:
ctype = 'application/octet-stream'
maintype,subtype = ctype.split('/',1)
m = MIMEBase(maintype,subtype)
m.set_payload(fp.read())
fp.close()
Encoders.encode_base64(m) #把附件编码
m.add_header('Content-disposition','attachment',filename=filename) #修改邮件头
msg.attach(m) #添加附件
#发送
s = smtplib.SMTP('smtp.foxmail.com') #连接邮件服务器
s.login('abcd','******') #登录邮件服务器
s.sendmail('abcd@foxmail.com','abcdef@foxmail.com',msg.as_string()) #发送邮件
s.close()
Python 通过命令行发送邮件程序
最新推荐文章于 2023-08-27 21:00:47 发布
本文介绍了一个使用Python发送带附件电子邮件的脚本。通过smtplib和email库实现了向指定邮箱发送包含附件的邮件功能。该脚本接收四个命令行参数:收件人地址、邮件主题、邮件正文及附件文件名。
1334

被折叠的 条评论
为什么被折叠?



