广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python程序发送email的源码
  • 440
分享到

python程序发送email的源码

源码程序python 2023-01-31 03:01:32 440人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

把开发过程经常用的代码段收藏起来,下边代码段是关于python程序发送email的的代码,应该是对码农们有一些好处。 server = 'smtp.gmail.com:587'; #imports from time import sl

开发过程经常用的代码段收藏起来,下边代码段是关于python程序发送email的的代码,应该是对码农们有一些好处。


server = 'smtp.gmail.com:587';

#imports
from time import sleep;
import smtplib;
from email.mime.application import MIMEApplication
from email.mime.text import MIMEText;
from email.mime.multipart import MIMEMultipart;

# takes addresses to, from cc and a subject
def create_msg(to_address,
               from_address='',
               cc_address='',
               bcc_address='',
               subject=''):

    msg = MIMEMultipart();
    msg['Subject'] = subject;
    msg['To'] = to_address;
    msg['Cc'] = cc_address;
    msg['From'] = from_address;
    return msg;

# if mode = 0 sends to and cc
# if mode = 1 sends to bcc
def send_email(smtp_address, usr, passWord, msg, mode):
    server = smtplib.SMTP(smtp_address);
    server.ehlo();
    server.starttls();
    server.ehlo();
    server.login(username,password);
    if (mode == 0 and msg['To'] != ''):
        server.sendmail(msg['From'],(msg['To']+msg['Cc']).split(","), msg.as_string());
    elif (mode == 1 and msg['Bcc'] != ''):
        server.sendmail(msg['From'],msg['Bcc'].split(","),msg.as_string());
    elif (mode != 0 and mode != 1):
        print 'error in send mail bcc'; print 'email cancled'; exit();
    server.quit();

# compose email
# takes all the details for an email and sends it
# address fORMat: list, [0] - to
#                       [1] - cc
#                       [2] - bcc
# subject format: string
# body format: list of pairs [0] - text
#                            [1] - type:
#    0 - plain
#    1 - html
# files is list of strings
def compose_email(addresses, subject, body, files):

    # addresses
    to_address = addresses[0];
    cc_address = addresses[1];
    bcc_address = addresses[2];

    # create a message
    msg = create_msg(to_address, cc_address=cc_address , subject=subject);

    # add text
    for text in body:
        attach_text(msg, text[0], text[1]);

    # add files
    if (files != ''):
        file_list = files.split(',');
        for afile in file_list:
            attach_file(msg, afile);

    # send message
    send_email(server, username, password, msg, 0);

    # check for bcc
    if (bcc_address != ''):
        msg['Bcc'] = bcc_address;
        send_email(server, username, password, msg, 1);

    print 'email sent'

# attach text
# attaches a plain text or html text to a message
def attach_text(msg, atext, mode):
    part = MIMEText(atext, get_mode(mode));
    msg.attach(part);

# util function to get mode type
def get_mode(mode):
    if (mode == 0):
        mode = 'plain';
    elif (mode == 1):
        mode = 'html';
    else:
        print 'error in text kind'; print 'email cancled'; exit();
    return mode;

# attach file
# takes the message and a file name and attaches the file to the message
def attach_file(msg, afile):
    part = MIMEApplication(open(afile, "rb").read());
    part.add_header('Content-Disposition', 'attachment', filename=afile);
    msg.attach(part);

#to be tested...
compose_email(['cpt@thelivingpearl.com','',''],
              'test v.5.0',
              [['some text Goes here...n',0]],
              '');

#compose_email can take the following arguments: 
#   1. to recipients (separated by a comma)
#   2. cc recipients (separated by a comma)
#   3. bcc recipients (separated by a comma)
#   4. subject
#   5. a list with message and mode (plain txt or html)
#   6. files to be attached

--结束END--

本文标题: python程序发送email的源码

本文链接: https://www.lsjlt.com/news/187297.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python程序发送email的源码
    把开发过程经常用的代码段收藏起来,下边代码段是关于python程序发送email的的代码,应该是对码农们有一些好处。 server = 'smtp.gmail.com:587'; #imports from time import sl...
    99+
    2023-01-31
    源码 程序 python
  • Python 发送 email 的三种方
    Python发送email的三种方式,分别为使用登录邮件服务器、使用smtp服务、调用sendmail命令来发送三种方法 原文请参见米扑博客:Python 发送 email 的三种方式 Python发送email比较简单,可以通过登录邮件...
    99+
    2023-01-31
    三种 Python email
  • Python使用QQ邮箱发送Email的方法实例
    前言 其实Python使用QQ邮箱发送Email代码很简单,短短几行代码就可以实现这个功能。 使用到的模块有smtplib和email这个两个模块,关于这两个模块的方法就不多说了。不了解的朋友们可以查看这...
    99+
    2022-06-04
    实例 邮箱 方法
  • RocketMQ消息发送流程源码剖析
    目录正文读源码1 调用defaultMQProducerImpl.send()2 设置过期时间3 执行defaultMQProducerImpl.sendDefaultImpl()方...
    99+
    2022-11-13
    RocketMQ消息发送流程 RocketMQ 消息
  • Python实现一个发送程序和接收程序
    目录前言实验设计系统需求架构设计接口设计软件实现实验环境实验结果结果分析前言 实验目的:掌握开发、测试、发布、调用进程间通信的基本方法、工具和流程,理解独立构件体系结构基本原理、结构...
    99+
    2022-11-11
  • c#中winform根据邮箱地址和密码一键发送email的实现
    企业信息化进程中,根据自己的Email地址一键发送邮件,了解发送原理可以批量发送多人邮箱。原来曾经用VB做过群发工资条,效果比较理想,现在使用c#做开发,原理基本一样。 应用的技术:...
    99+
    2022-11-13
  • python 写的一个爬虫程序源码
    写爬虫是一项复杂、枯噪、反复的工作,考虑的问题包括采集效率、链路异常处理、数据质量(与站点编码规范关系很大)等。整理自己写一个爬虫程序,单台服务器可以启用1~8个实例同时采集,然后将数据入库。 #-*-...
    99+
    2022-06-04
    爬虫 源码 程序
  • 基于Python制作短信发送程序
    目录一、Python短信发送界面最后的效果二、准备:注册腾讯云账号并配置短信功能三.初始化短信发送程序窗口3.1初始化窗口菜单3.2初始化窗口控件3.3编写事件触发程序四、完整源代码...
    99+
    2023-01-29
    Python短信发送程序 Python短信发送 Python短信
  • 小程序优惠券源码开发的方法
    这篇“小程序优惠券源码开发的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“小程序优惠券源码开发的方法”文章吧。    如...
    99+
    2023-06-26
  • 怎么用Python制作自动发送微信的程序
    这篇文章主要介绍“怎么用Python制作自动发送微信的程序”,在日常操作中,相信很多人在怎么用Python制作自动发送微信的程序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python制作自动发送微信...
    99+
    2023-06-29
  • 详解Python如何制作自动发送微信的程序
    目录前言模块安装和导入pyautoguiapscheduler完整代码结果前言 事情是这样的:今天晚上,女朋友让我十二点催她睡觉。 不过,可是我实在太困了,熬不下去…...
    99+
    2022-11-13
  • Java微信公众号发送消息-保姆级教程附源码
    目录 1. 概念说明: 2. 开发准备: 3. 测试demo(更改配置信息即可使用) 3.1. 服务器配置  3.1.1.配置填写说明 3.1.2.校验服务器有效性: 3.1.3.URL后端接口代码和校验代码(servlet)  3.1.4...
    99+
    2023-09-10
    微信
  • Python使用email模块对邮件进行编码和解码的实例教程
    解码邮件 python自带的email模块是个很有意思的东西,它可以对邮件编码解码,用来处理邮件非常好用。 处理邮件是一个很细致的工作,尤其是解码邮件,因为它的格式变化太多了,下面先看看一个邮件的源文件: ...
    99+
    2022-06-04
    实例教程 模块 邮件
  • Android编程实现QQ表情的发送和接收完整实例(附源码)
    本文实例讲述了Android编程实现QQ表情的发送和接收。分享给大家供大家参考,具体如下: 在自己做一个聊天应用练习的时候,需要用到表情,于是就想着模仿一下QQ表情,图片资源完...
    99+
    2022-06-06
    qq表情 源码 Android
  • 微信小程序实现发送短信验证码倒计时
    本文实例为大家分享了微信小程序发送短信验证码倒计时的具体代码,供大家参考,具体内容如下 效果图 WXML文件 <view class="container"> ...
    99+
    2022-11-12
  • Python 使用SMTP发送邮件的代码小结
    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 python的smtplib提供了一种很方...
    99+
    2022-06-04
    小结 发送邮件 代码
  • Python 发送SMTP邮件的简单教程
    目录一、两个模块二、SMTP端口三、四大步骤1、构造邮件内容2、连接邮件服务器3、登陆邮件服务器4、发送邮件四、常用场景1、纯文本邮件2、发送html文本3、发送附件一、两个模块 Python使用SMTP发送邮件的...
    99+
    2022-06-02
    python 发送邮件 python SMTP
  • 程序员是怎么阅读源码的
    本篇内容介绍了“程序员是怎么阅读源码的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!React:React 架构的演变 - 从同步到异步Re...
    99+
    2023-06-15
  • 微信小程序开发中源码分析生命周期
    这篇文章主要介绍了微信小程序开发中源码分析生命周期的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序开发中源码分析生命周期文章都会有所收获,下面我们一起来看看吧。生命周期的概念在讲微信小程序生命周期之前,...
    99+
    2023-07-05
  • 微信小程序开发模板与源码怎么选择
    这篇文章主要介绍“微信小程序开发模板与源码怎么选择”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序开发模板与源码怎么选择”文章能帮助大家解决问题。  微信小程序开发模板与源码哪个更适合新手商...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作