如何通过python发送日历邮件
最简单的就是直接调用系统命令cal,比如:
import osyear = 2014os.system("cal -y %s" % year)2014 January February March Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 1 1 5 6 7 8 9 10 11 2 3 4 5 6 7 8 2 3 4 5 6 7 8 12 13 14 15 16 17 18 9 10 11 12 13 14 15 9 10 11 12 13 14 15 19 20 21 22 23 24 25 16 17 18 19 20 21 22 16 17 18 19 20 21 22 26 27 28 29 30 31 23 24 25 26 27 28 23 24 25 26 27 28 29 30 31 April May June Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 1 2 3 1 2 3 4 5 6 7 6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14 13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21 20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28 27 28 29 30 25 26 27 28 29 30 31 29 30 July August September Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 1 2 1 2 3 4 5 6 6 7 8 9 10 11 12 3 4 5 6 7 8 9 7 8 9 10 11 12 13 13 14 15 16 17 18 19 10 11 12 13 14 15 16 14 15 16 17 18 19 20 20 21 22 23 24 25 26 17 18 19 20 21 22 23 21 22 23 24 25 26 27 27 28 29 30 31 24 25 26 27 28 29 30 28 29 30 31 October November December Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 1 1 2 3 4 5 6 5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13 12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20 19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27 26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31 30如果解决了您的问题请采纳!如果未解决请继续追问
在你输入月份之前加上这句(注意语句缩进):
for m in range(1,13): # 这里是你的print,注意:要修改下,print 月份后面加上一个逗号,(加上逗号就不会print回车了) # ....... # 最后加上这句: if m % 3 == 0: print '
' # 输完三个月份后才回车
# encoding: utf-8
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
import os,datetime
def send_email(**kwargs):
"""
method
event
dtstart
due
msg
dtstamp
"""
ical = """
BEGIN:VCALENDAR\r\n
PRODID:pyICSParser\r\n
METHOD:%(method)s\r\n
VERSION:2.0\r\n
BEGIN:%(event)s\r\n
DTSTART:%(dtstart)s\r\n
DUE:%(due)s\r\n
PRIORITY:1\r\n
SUMMARY:%(msg)s\r\n
UID:calsrv.example.com-873970198738777-00@example.com\r\n
SEQUENCE:0\r\n
DTSTAMP:%(dtstamp)s\r\n
STATUS:%(status)s\r\n
END:VEVENT\r\n
END:VCALENDAR\r\n
"""% kwargs
eml_body = u"%(msg)s" % kwargs
msg = MIMEMultipart('mixed')
msg['Date'] = formatdate(localtime=True)
msg['Subject'] = u"%(msg)s" % kwargs
msg['To'] = ",".join(attendees)
part_email = MIMEText(eml_body,"html",'utf-8')
part_cal = MIMEText(ical,'calendar;method=%(method)s'%kwargs,'utf-8')
msgAlternative = MIMEMultipart('alternative')
msg.attach(msgAlternative)
ical_atch = MIMEBase('application/ics',' ;name="%s"'%("invite.ics"))
ical_atch.set_payload(ical)
Encoders.encode_base64(ical_atch)
ical_atch.add_header('Content-Disposition', 'attachment; filename="%s"'%("invite.ics"))
eml_atch = MIMEBase('text/plain','')
Encoders.encode_base64(eml_atch)
eml_atch.add_header('Content-Transfer-Encoding', "")
msgAlternative.attach(part_email)
msgAlternative.attach(part_cal)
s = smtplib.SMTP()
s.connect('xxxx')
s.login(' ', ' ')
s.sendmail('auto@sys.com', attendees, msg.as_string())
s.close()
attendees =['x@sys.com']
fro = ""
ddtstart = datetime.datetime.utcnow()
dur = datetime.timedelta(minutes= 5)
dtend = ddtstart + dur
dtend = dtend.strftime("%Y%m%dT%H%M%SZ")
send_email(method='PUBLISH',event='VTODO',dtstart=dtend,due=dtend,msg='publish 任务',dtstamp=dtend, status="COMPLETED")
send_email(method='REQUEST',event='VTODO',dtstart=dtend,due=dtend,msg='request 任务',dtstamp=dtend, status="NEEDS ACTION")
send_email(method='PUBLISH',event='VEVENT',dtstart=dtend,due=dtend,msg='publish 日历',dtstamp=dtend, status="CONFIRMED")
send_email(method='REQUEST',event='VEVENT',dtstart=dtend,due=dtend,msg='request 日历',dtstamp=dtend, status='CONFIRMED')
Python爬虫:想听榜单歌曲?只需要14行代码即可搞定
虽然说XPath比正则表达式用起来方便,但是没有最方便,只有更方便。我们的BeautifulSoup库就能做到更方便的爬取想要的东西。使用之前,还是老规矩,先安装BeautifulSoup库,指令如下:其中文开发文档:BeautifulSoup库是一个强大的Python语言的XML和HTML解析库。它提供了一些简单的函数来处理导航、搜索、修改分析树...
PHP开发人员的Python基础知识
Python 社区推动这种美感的态度是非常明确的,它们更加重视的是美学和简洁性,而不是灵动的技巧。已形成 Perl 传统(“可以通过多种方式实现它”)的 PHP 开发人员(像我自己)将面对一种完全相反的哲学(“应该只有一种方法可以实现它”)。 事实上,该社区定义了一种特有的代码风格术语,即 Python 化(pythonic)。您可以...
python 最小二乘算法之回归实操
最小二乘回归,是回归问题的一种基础且广泛应用的方法,它通过寻找参数w和b,使得预测值与实际目标值y之间的均方误差最小。均方误差是预测值与真实值差的平方和除以样本数,直观衡量了预测的精度。以csgo游戏数据为例,该数据集包含了玩家的网络延迟、击杀数、死亡数和得分等特征,适合用于线性模型的...
Python生成正态分布随机数与均匀圆盘采样
[公式]此方法将两个独立的均匀分布随机数转换为正态分布的随机数。具体步骤为:1. 生成两个独立的均匀分布随机数u1和u2。2. 计算生成的正态分布随机数x和y:[公式]通过极坐标变换,可以进一步优化生成正态分布随机数的效率。这种方法的关键在于计算边缘概率分布函数,并求其反函数。与均匀圆盘采样有何...
如果只会Python能不能找到工作
具体能不能得看自己学得如何,如果学的很好的话,很容易找到工作。学python的同时一定会接触到其他技术,毕竟光会python这门语言是不够的,要看用它来做什么。比如说用 python做爬虫,就必须接触到html, http等知识。python是现在最火的数据分析工具语言python的进阶的路线是数据清洗,爬虫,数据容器,...
python入门书籍有何推荐?
Python入门书籍不用太多,看一本就够。重要的是看你用Python做什么,或者说你对什么方向感兴趣,因为Python的应用领域比较广泛,比如他又可以用来做数据分析、机器学习,也可以用来做后端开发、还有Web开发、前端、人工智能、大数据。所以首先你要对自己有一个定位和规划,而不是看到Python相关的书籍就盲目的...
70%学Python的人,还真不知道main函数的秘密!
当我们编写成熟的 Python 程序时,可能有许多可以调用和使用的函数。通常情况下,一些函数应该在程序开始执行时立即调用。因此,从 main() 本身调用其他函数就是最佳的选择。希望通过这篇文章,对于 Python 中 main() 函数的全部内容以及如何使用它有一个全面而正确的理解。借助 Python 中的 main() 函数...
如何用python激活指定窗口的输入框,方便下一步模拟输出
在这个应用场景下,模拟键盘敲击并不是一个好的选择——输入的结果完全取决于你的键盘布局\/输入法。虽然我国通行US QWERTY键盘,键码和英文字符基本对应,但直接把字符通过窗口消息传递过去,能轻松的保证输入的结果和要求完全一致,何乐而不为呢。有关Win32的学习,我没有系统的学习过,个人的习惯是看...
用什么写python
在创作Python相关的文章时,有许多工具可供选择,以适应不同的写作习惯和需求:首先,文本编辑器Sublime Text是一个热门选择,其简洁的界面和高效的代码高亮功能,使得编写Python代码变得轻松愉快。对于更全面的开发环境,PyCharm是一款强大的IDE,它集成了代码补全、调试和测试等功能,提升编程效率。如果你更...
Python语法特点-代码缩进
在IDLE中,缩进默认为4个空格,可调整。通过菜单栏中“Options”→“Configure”→“Windows”栏目,找到“Indent Spaces”进行设置。调整后,点击“Apply”与“Ok”生效,取消则点击“Cancel”。练习题:1.哪段代码使用了缩进?2.缩进量错误时,Python有何反应?3.哪段代码的缩进量有误?编程题:1....
盛钩阿诺: 一、文件形式的邮件 复制代码 代码如下: #!/usr/bin/env python3 #coding: utf-8 import smtplib from email.mime.text import MIMEText from email.header import Header sender = '***' receiver = '***' subject = 'python email test' smtps...
柳城县19712652793: 利用python在linux系统内发送mail - ?
盛钩阿诺: #!/usr/bin/env python # -*- coding: utf-8 -*- #导入smtplib和MIMEText import smtplib,sys from email.mime.text import MIMEText def send_mail(sub,content):##############要发给谁,这里发给1个人mailto_list=["wangwei03@gyyx.cn"]##...
柳城县19712652793: 如何用Python发邮件 - ?
盛钩阿诺: 一般最好有个smtp服务器,比如说你在163注册个邮箱,这样可以用smtplib通过这个邮箱来发送.以下是示例:#-*- coding:utf8 -*- import smtplib import email import mimetypes from email.MIMEMultipart import MIMEMultipart from email.mime.text ...
柳城县19712652793: python如何发送email - ?
盛钩阿诺: python本身要发送email到话可以使用python的email相关库. 这里讲一个python调用系统命令来发送email的方法. 首先要调用系统命令,要载入python的os库,然后os.system()就可以执行shell命令了. 如 import os os.system("mkdir newdoc") 调用“mail”可以发送普通邮件,调用“sendmail”可以发送多媒体文件.具体可参照相关文档.
柳城县19712652793: 如何用python发送email - ?
盛钩阿诺: python发邮件的库基于 import smtplib from email.mime.text import MIMEText from email.header import Header一般普通邮件的形式如下:sender = '***' receiver = '***' subject = 'python email test' smtpserver = 'smtp.163.com' username = '***' ...
柳城县19712652793: python 怎么生出成一个表格,并发送邮件 - ?
盛钩阿诺: 可以使用“openpyxl”安装包,这是一个可以读写xls文件的程序包,例子如下:
柳城县19712652793: 如何在Python下使用sendEmail发邮件 - ?
盛钩阿诺: from sae.mail import send_mail send_mail("katherine@vampire.com", "invite", "to tonight's party", ("smtp.vampire.com", 25, "damon@vampire.com", "password", False))
柳城县19712652793: 急求大神教如何在Python里编写日历 - ?
盛钩阿诺: 最简单的就是直接调用系统命令cal,比如:import os year = 2014 os.system("cal -y %s" % year)2014January February March Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 1 15 6 7 8 9 10 11 2 3 4 5 6 7 8 2 3 ...
柳城县19712652793: 新手求助,如何用Python写日历让三个月在在 - ?
盛钩阿诺: 直接使用python calender模块即可.1. calendar.calendar(year,w=2,l=1,c=6) 返回一个多行字符串格式的year年年历,3个月一行,间隔距离为c. 每日宽度间隔为w字符.每行长度为21* W+18+2* C.l是每星期行数. 2. calendar.firstweekday( )...
柳城县19712652793: 如何通过Python使用SMTP发送邮件的代码 - ?
盛钩阿诺: https://www.douban.com/note/354362421/ 这种方式 邮件里如果有图片的话 只能以外链的形式.缺点是:有的邮件服务器默认禁用图片.https://www.douban.com/note/605625422/ 这个是把图片写到邮件内容里.