懒人必备Python代码之自动发送邮件

 更新时间:2023年05月09日 09:57:51   作者:winfredzhang  
在传统的工作中,发送会议纪要是一个比较繁琐的任务,需要手动输入邮件内容、收件人、抄送人等信息,每次发送都需要重复操作,不仅费时费力,而且容易出现疏漏和错误。本文就来用Python代码实现这一功能吧

痛点

在传统的工作中,发送会议纪要是一个比较繁琐的任务,需要手动输入邮件内容、收件人、抄送人等信息,每次发送都需要重复操作,不仅费时费力,而且容易出现疏漏和错误。

但是,有了这个程序,员工们就可以轻松地将发送会议纪要的任务交给计算机来完成。程序可以自动读取当天的日期,作为邮件标题,收件人和抄送人也可以事先设定好,不需要每次手动输入。通过简单地填写邮件正文和附件,员工们就可以一键发送会议纪要,大大提高了工作效率和准确性。

因此,这个程序可以让员工解脱出来,将更多的时间和精力投入到其他更加重要的工作中,提升工作效率和工作质量,为企业发展做出更大的贡献。

应用场景

会议纪要自动发送:对于每周例会或者每月汇报会议等重要会议,通常需要发送会议纪要给参会人员和相关部门,这个程序可以自动发送会议纪要,减少手动操作的时间和错误,提高工作效率。

招投标文件发送:在企业进行招投标时,需要将招标文件发送给潜在的投标人,这个程序可以自动发送招标文件,避免手动输入邮件地址和邮件内容的繁琐操作,提高投标工作的效率。

活动邀请函发送:对于企业的各种活动,如产品发布会、客户庆祝会等,需要发送邀请函给参加者,这个程序可以自动发送邀请函,减少重复的手动操作和错误,提高工作效率。

项目进度汇报发送:对于项目管理人员,需要定期向管理层和项目组成员发送项目进度汇报,这个程序可以自动发送项目进度汇报,节约时间和精力,提高项目管理效率。

总之,这个程序可以应用于很多需要发送邮件的场景,无论是企业内部的还是与外部的交流沟通,都可以通过这个程序来提高工作效率。

源代码

import wx
import datetime
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
 
class MyFrame(wx.Frame):
	def __init__(self):
			wx.Frame.**init**(self, None, title="发送邮件", size=(400, 300))
			panel = wx.Panel(self)
    # 创建控件
	    self.title = wx.StaticText(panel, label="邮件标题:", pos=(20, 20))
	    self.title_input = wx.TextCtrl(panel, pos=(100, 20), size=(250, -1))
	    self.memo = wx.StaticText(panel, label="邮件正文:", pos=(20, 60))
	    self.memo_input = wx.TextCtrl(panel, style=wx.TE_MULTILINE, pos=(100, 60), size=(250, 100))
	    self.send_button = wx.Button(panel, label="发送", pos=(150, 200), size=(80, -1))
	
	    # 设置默认值
	    today = datetime.date.today().strftime("%Y-%m-%d")
	    self.title_input.SetValue(today + "会议纪要")
	
	
	    #显示对齐的多行文本
	
	    self.memo_input.SetValue("大家好:附件中是今天的会议纪要")
	
	
	
	    # 绑定事件
	    self.send_button.Bind(wx.EVT_BUTTON, self.on_send)
	
	def on_send(self, event):
    # 获取邮件信息
    title = self.title_input.GetValue()
    memo = self.memo_input.GetValue()
 
    # 设置邮件内容
 
 
    message = MIMEMultipart()
    message['From'] = "skruggswzq@zusmail.com"
    message['To'] = "lgalperinpyf@zusmail.com,mtarasciovgz@zusmail.com,sharvestkxw@zusmail.com,ebazinetbto@zusmail.com,spatryjpn@zusmail.com,dsittnerxko@zusmail.com,tbrassilqoy@zusmail.com,ihartgravesvmt@zusmail.com"
    message['Cc'] = "greihlingmjo@zusmail.com"
 
    message['Subject'] = title
    message.attach(MIMEText(memo))
 
    # 添加附件
    filepath = "D:\\\\每周例会纪要.xlsx"
    with open(filepath, "rb") as f:
        attachment = MIMEApplication(f.read(), _subtype="xlsx")
        attachment.add_header('Content-Disposition', 'attachment', filename=filepath.split("\\\\")[-1])
        message.attach(attachment)
 
    # 发送邮件
    smtp = smtplib.SMTP()
    smtp.connect("smtp.exmail.qq.com")
    smtp.login("skruggswzq@zusmail.com", "password")  # 请替换为您的邮箱密码
    smtp.sendmail("skruggswzq@zusmail.com", message['To'].split(",") + message['Cc'].split(","), message.as_string())
    smtp.quit()
 
    # 提示发送成功
    wx.MessageBox("邮件发送成功!", "提示")
 
app = wx.App()
frame = MyFrame()
frame.Show()
app.MainLoop()

代码说明

段代码是一个 Python 程序,使用 wxPython 模块创建了一个 GUI 界面,其中包含了邮件标题、正文和发送按钮等控件。当用户点击发送按钮时,程序会自动将邮件发送给指定的收件人,并弹出一个提示框提示用户发送成功。

以下是代码的大致流程:

导入所需的 Python 模块,包括 wxPython、datetime、smtplib、MIMEText、MIMEMultipart 和 MIMEApplication 等模块。

创建一个 MyFrame 类,继承自 wx.Frame,用于创建 GUI 界面。

在 MyFrame 类中创建邮件标题、正文和发送按钮等控件,并设置默认值和绑定事件。

当用户点击发送按钮时,程序会调用 on_send() 方法,获取邮件标题和正文等信息,然后将邮件内容封装成 MIMEMultipart 对象。

程序会读取指定的附件文件,并将附件添加到邮件中。

程序会连接指定的 SMTP 服务器,并使用指定的邮箱账号和密码进行登录。

程序会调用 SMTP 对象的 sendmail() 方法将邮件发送给指定的收件人。

发送成功后,程序会弹出一个提示框,提示用户发送成功。

最后,程序进入主循环,等待用户操作界面。

需要注意的是,程序中的一些字符串(如邮箱地址、SMTP 服务器地址、附件路径等)都是需要根据实际情况进行替换的。另外,这段代码并没有提供完整的异常处理,实际使用时需要根据实际情况进行修改。

效果如下所示

到此这篇关于懒人必备Python代码之自动发送邮件的文章就介绍到这了,更多相关Python自动发送邮件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python之串口收发的异步程序

    Python之串口收发的异步程序

    这篇文章主要介绍了Python之串口收发的异步程序,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 如何利用python读取图片属性信息

    如何利用python读取图片属性信息

    这篇文章主要介绍了如何利用python读取图片属性信息,文章围绕python读取信息相关资料展开全文,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-03-03
  • 小白学Python之实现OCR识别

    小白学Python之实现OCR识别

    将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR),这篇文章主要给大家介绍了关于Python实现OCR识别的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-08-08
  • python实现k均值算法示例(k均值聚类算法)

    python实现k均值算法示例(k均值聚类算法)

    这篇文章主要介绍了python实现k均值算法示例,简单实现平面的点K均值分析,使用欧几里得距离,并用pylab展示,需要的朋友可以参考下
    2014-03-03
  • python实现七段数码管和倒计时效果

    python实现七段数码管和倒计时效果

    今天小编就为大家分享一篇python实现七段数码管和倒计时效果,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python浅析匿名函数lambda的用法

    Python浅析匿名函数lambda的用法

    lambda所表示的匿名函数的内容应该是很简单的,如果复杂的话,干脆就重新定义一个函数了,使用lambda就有点过于执拗了。lambda就是用来定义一个匿名函数的,如果还要给他绑定一个名字的话,就会显得有点画蛇添足,通常是直接使用lambda函数
    2022-07-07
  • Python基本类型的连接组合和互相转换方式(13种)

    Python基本类型的连接组合和互相转换方式(13种)

    这篇文章主要介绍了Python中基本类型的连接组合和互相转换13种方式,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • PIL图像处理模块paste方法简单使用详解

    PIL图像处理模块paste方法简单使用详解

    这篇文章主要介绍了PIL图像处理模块paste方法简单使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python 画3维轨迹图并进行比较的实例

    python 画3维轨迹图并进行比较的实例

    今天小编就为大家分享一篇python 画3维轨迹图并进行比较的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 简单示例解析python爬虫IP的使用(小白篇)

    简单示例解析python爬虫IP的使用(小白篇)

    这篇文章主要为大家通过简单示例解析python爬虫IP的使用介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06

最新评论