邮件自动发送程序GUI版

使用场景

当使用者需要群发内容框架一致而只有少许内容不同的邮件时,会因为频繁地修改琐碎的细节而浪费大量时间,这样一来一个可供配置和扩展的自动邮件程序就十分有必要。

比如说我作为课程助教需要发送邮件给每个考试了的同学他的课程成绩,那么邮件中不同的地方就只有接收者的名字、学号以及成绩。

这些信息通常记录在Excel表中,一个自动邮件发送程序应当可以匹配不同的姓名、学号对应的成绩。这样一来,就可以将邮件发送者从繁琐而无意义的体力劳动中解放出来,而且减少了成绩输入错误这种可能情况的发生。

GUI设计版

一个简易的Python写的邮件自动发送程序可以参考我的上一篇文章,介绍了发送邮件的基本框架。

这一次我进一步简化了用户对程序的依赖程度。他只需要运行程序,根据各项文字提示输入必要信息,点击两个按钮即可完成邮件的批量个性化定制发送操作。

首先来看程序源码如下:

# coding:utf-8
# author: Meditator_hkx
#!/usr/bin/env python
# GUI AutoMailor

'a GUI version for auto_email implementation'

from Tkinter import Tk, Label, Button, Entry, Text, IntVar, StringVar, END, W, E
import datetime
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.header import Header

class Automailor:
    def __init__(self, master):
        self.master = master
        master.title("AutoMailor")

        # Guest object
        self.guest = Guest()

        # Change words printed while click "Run" button
        self.my_text = StringVar()
        self.my_text.set("Hello, master!")
        self.my_label = Label(master, textvariable = self.my_text)

        # Label Added
        self.account_label = Label(master, text = "Sender account: ")
        self.pwd_label = Label(master, text = "Sender password: ")
        self.port_label = Label(master, text = "Mail server port: ")
        self.flag_label = Label(master, text="Replacement flag character: ")
        self.subject_label = Label(master, text="Mail subject: ")
        self.frame_content_label = Label(master, text = "Framework words:")
        self.individual_info_label = Label(master, text = "Ordered information:")

        vcmd2 = master.register(self.validate2) 
        self.my_entry = Entry(master, validate = "key", validatecommand = (vcmd2, '%P'))

        # Entry added
        self.account_entry = Entry(master)
        self.pwd_entry = Entry(master)
        s
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
定时自动发送邮件服务使用说明 该软件运行环境需要.Net 3.5支持,Win7系统上可以直接运行. 主要功能可以定时自动发送邮件,发送程序做成服务形式,用户无需登录, 只要电脑是开启状态,就会自动执行发送邮件. 包含的文件, 1.AutoSendMail.exe --设置程序 2.AutoSendMail_Log.txt --存放日志的文本文件. 可自动生成 3.AutoSendMail_Setting.xml --配置文件 4.AutoSendMailService.exe --服务程序 5.InstallUtil.exe --微软的安装服务必须程序 6.tasks.mdb --Access数据库文件,用于存放邮箱内容. 可更改文件 7.安装服务.bat 8.使用说明.txt 9.卸载服务.bat 安装步骤: 第一步:安装服务 运行“安装服务.bat”文件。(需要管理员权限) 第二步:修改配置文件 修改好配置文件AutoSendMail_Setting.xml。确保Access数据库连接正确,每个任务的发送时点,和邮件信息。 每次修改配置文件必需重新启动服务才生效。 第三步:启动服务 a.从服务管理控制台启动服务,运行services.msc命令打开控制台。 b.通过设置程序启动服务。(需要管理员权限) 如果删除服务,则运行“卸载服务.bat”。 接口定义: 每个任务需要在指定的Access数据库里设置一个视图或表,用于存放邮件信息, 字段格式: 第一字段:ID 自动编号 第二字段:收件人 文本类型 第三字段:抄送人 文本类型 第四字段:主题 文本类型 第五字段:内容 备注类型 第六字段:发送次数 数字类型 备注:程序通过ID查找记录,来更新发送次数的值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值