不加参数,可以 输出帮助 ,及使用方法。
秘送的也是成功的。在收件与抄送 不会显示。
# coding: utf-8 import sys import os import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.base import MIMEBase from email import encoders from smtplib import SMTP from email.header import Header def getParsStr(_str): return _str[2:len(_str)] def sendMail(_argv): smtp = smtplib.SMTP() userName="" passWd="" hostDomain="" #smtp.163.com jieShouZhe =list() chaoSongzhe =list() miSongzhe =list() title = "" fuJian = "" #写入附件的绝对路径 zhengWen = "" for i in range(1, len(_argv)): if _argv[i].startswith(‘-U‘): userName = getParsStr(_argv[i]) if _argv[i].startswith(‘-P‘): passWd = getParsStr(_argv[i]) if _argv[i].startswith(‘-D‘): hostDomain = getParsStr(_argv[i]) if _argv[i].startswith(‘-R‘): jieShouZhe= getParsStr(_argv[i]) if len(jieShouZhe) >0: jieShouZhe = jieShouZhe.replace("\"","").replace("\‘","").replace("[","").replace("]","").split(",") if _argv[i].startswith(‘-C‘): chaoSongzhe = getParsStr(_argv[i]) if len(chaoSongzhe) >0: chaoSongzhe= chaoSongzhe.replace("\"","").replace("\‘","").replace("[","").replace("]","").split(",") if _argv[i].startswith(‘-S‘): miSongzhe = getParsStr(_argv[i]) if len(miSongzhe) >0: miSongzhe= miSongzhe.replace("\"","").replace("\‘","").replace("[","").replace("]","").split(",") if _argv[i].startswith(‘-T‘): title = getParsStr(_argv[i]) if _argv[i].startswith(‘-F‘): fuJian = getParsStr(_argv[i]) if _argv[i].startswith(‘-B‘): zhengWen = getParsStr(_argv[i]) email_client = smtplib.SMTP(hostDomain,25) #远程主机拒接连接 请使用smtplib.SMTP_SSL() email_client.login(userName, passWd) msg = MIMEText(zhengWen, ‘plain‘, ‘utf-8‘) msg[‘Subject‘] = Header(title, ‘utf-8‘) msg[‘From‘] = userName msg[‘To‘] = ‘,‘.join(jieShouZhe) msg[‘Cc‘] = ‘,‘.join(chaoSongzhe) msg[‘Bcc‘] =‘,‘.join(miSongzhe) email_client.sendmail(userName,jieShouZhe+chaoSongzhe+miSongzhe+[userName],msg.as_string()) email_client.quit() def getHelp(_argv): if len(_argv)<=1: print(""" *** 注意 所有参数不可出现空格 *** -U 发件者邮箱用户名 [email protected] -P 发件者邮箱密码 -D 发件者邮箱服务器 eg.smtp.163.com -R 接收者邮箱,可设置多个格式为[‘[email protected]‘,‘[email protected]‘] -C 抄送者邮箱,可设置多个格式为[‘[email protected]‘,‘[email protected]‘] -S 密送者邮箱,可设置多个格式为[‘[email protected]‘,‘[email protected]‘] -T 邮件标题 -F 附件绝对路径 eg.d:\\test.txt ,(未实现) -B 邮件内容 实例: 1). sendMail.py [email protected] -Pmima -Dsmtp.163.com -R‘[email protected]‘ -T标题 -B邮件内容 2). sendMail.py [email protected] -Pmima -Dsmtp.163.com -R[‘[email protected]‘,‘[email protected]‘] -C‘[email protected]‘ -S[‘[email protected]‘] -T标题 -B邮件内容 """) if __name__ == ‘__main__‘: if len(sys.argv)<=1: getHelp(sys.argv) else: sendMail(sys.argv)
原文地址:https://www.cnblogs.com/likehc/p/11622699.html
时间: 2024-10-10 04:24:03