`
netcome
  • 浏览: 482745 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Python Gmail代码示例

阅读更多

I need to be able to send an email from my python script, and I wanted to be able to use my GMail for the outgoing SMTP server. It becomes a little tricky because the GMail servers require authentication. I searched around and found some good examples on the Internet and then fine tuned them a bit.

import os
import smtplib
import mimetypes
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.MIMEAudio import MIMEAudio
from email.MIMEImage import MIMEImage
from email.Encoders import encode_base64

def sendMail(subject, text, *attachmentFilePaths):
  gmailUser = 'yo.mama@gmail.com'
  gmailPassword = 'bogus!'
  recipient = 'test@test.com'

  msg = MIMEMultipart()
  msg['From'] = gmailUser
  msg['To'] = recipient
  msg['Subject'] = subject
  msg.attach(MIMEText(text))

  for attachmentFilePath in attachmentFilePaths:
    msg.attach(getAttachment(attachmentFilePath))

  mailServer = smtplib.SMTP('smtp.gmail.com', 587)
  mailServer.ehlo()
  mailServer.starttls()
  mailServer.ehlo()
  mailServer.login(gmailUser, gmailPassword)
  mailServer.sendmail(gmailUser, recipient, msg.as_string())
  mailServer.close()

  print('Sent email to %s' % recipient)

def getAttachment(attachmentFilePath):
  contentType, encoding = mimetypes.guess_type(attachmentFilePath)

  if contentType is None or encoding is not None:
    contentType = 'application/octet-stream'

  mainType, subType = contentType.split('/', 1)
  file = open(attachmentFilePath, 'rb')

  if mainType == 'text':
    attachment = MIMEText(file.read())
  elif mainType == 'message':
    attachment = email.message_from_file(file)
  elif mainType == 'image':
    attachment = MIMEImage(file.read(),_subType=subType)
  elif mainType == 'audio':
    attachment = MIMEAudio(file.read(),_subType=subType)
  else:
    attachment = MIMEBase(mainType, subType)
  attachment.set_payload(file.read())
  encode_base64(attachment)

  file.close()

  attachment.add_header('Content-Disposition', 'attachment',   filename=os.path.basename(attachmentFilePath))
  return attachment

Derived from: http://kutuma.blogspot.com/2007/08/sending-emails-via-gmail-with-python.html and http://mail.python.org/pipermail/python-list/2003-September/225540.html

分享到:
评论

相关推荐

    Python操作Gmail@定时定向群发邮件

    以下是一个简单的示例代码: ```python import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText sender = 'your-email@gmail.com' password = 'your-password' ...

    Python库 | gmail_trainer-0.3.tar.gz

    库的文档通常会提供详细的使用指南和示例代码,帮助用户开始使用。 总的来说,`gmail_trainer-0.3`是一个强大的工具,它利用Python的便利性,结合Gmail的API,帮助用户智能化地管理他们的电子邮件。通过学习和使用...

    手机邮箱远程控制电脑python源代码全.zip

    总之,这个压缩包提供了一个实用的Python项目示例,可以帮助学习者深化理解Python开发、邮件处理以及远程控制等方面的知识,并为实际项目开发提供灵感。不过,任何涉及远程控制的功能都需要谨慎处理,确保安全性,...

    K-means聚类算法介绍与利用python实现的代码示例

    比如Gmail邮箱里有垃圾邮件分类器,一开始的时候可能什么都不过滤,在日常使用过程中,我人工对于每一封邮件点选“垃圾”或“不是垃圾”,过一段时间,Gmail就体现出一定的智能,能够自动过滤掉一些垃圾邮件了。...

    Python-使用GmailAPI和Python发送多个自定义电子邮件

    在压缩包文件"pythonic-automatic-email-master"中,可能包含了示例代码、配置文件和详细的步骤指南,帮助你更好地理解和实现这个功能。记得根据实际情况调整代码,并确保遵循Google的API使用政策和用户隐私规定。 ...

    将Python代码打包为jar软件的简单方法

    ### 将Python代码打包为jar软件的简单方法 在跨语言开发中,有时我们需要将Python代码集成到Java项目中,以便充分利用两种语言的优势。本文档介绍了一种将Python代码打包成jar文件的方法,该方法有助于Python与Java...

    Python发邮件源码

    下面我们将深入探讨这个话题,并提供一个实际的Python代码示例。 首先,你需要了解Python中的两个主要库:`smtplib`和`email.mime`。`smtplib`用于处理SMTP协议,而`email.mime`则用于构建邮件消息对象,包括正文、...

    manush.nayaka-gmail.com:gmail授权示例代码

    标题 "manush.nayaka-gmail.com:gmail授权示例代码" 暗示这是一个关于使用编程语言(可能是Python或JavaScript)与Gmail API进行交互的项目。Gmail API允许开发者构建应用程序,以便发送、接收、管理用户邮件,或者...

    基于SMTP的自动发邮件的设计实现(Python)

    以下是一个简单的Python代码示例,展示了如何使用SMTP发送邮件: ```python import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText def send_email(smtp_server, ...

    linux、T100、windows使用python读取XML发送邮件方法含代码

    Linux、T100和Windows都支持Python,因此上述代码在这些平台上都能运行。但是,如果你在非标准环境中(如T100),可能需要调整SMTP服务器的配置,或者处理特定环境下的权限问题。 4. **集成XML数据到邮件**: 从...

    python使用smtplib模块通过gmail实现邮件发送的方法

    本文将详细介绍如何使用Python的`smtplib`模块通过Gmail服务来发送邮件,并提供一个完整的示例代码,帮助读者快速掌握这一技能。 #### 知识点详解 ##### 1. smtplib模块简介 `smtplib`是Python标准库中的一个模块...

    crfsuite 的 Python 绑定.zip

    安装使用pippip 安装 python-crfsuite使用condaconda 安装-c conda-forge python-crfsuite用法查看文档和示例。参见sklearn-crfsuite是一个 python-crfsuite 包装器,它提供类似于 scikit-learn 的 API。贡献源代码...

    gmail邮件处理

    在标签“源码”和“工具”的提示下,我们可以预期这篇博客可能包含实际的代码示例和推荐的开发工具,帮助读者理解并实施Gmail API的用法。 在压缩包文件名“gmail处理”中,可能包含了示例代码、配置文件或者测试...

    Python库 | gmailapi-0.1.0-py3-none-any.whl

    在实际开发中,开发者需要查阅库的文档以获取更详细的使用指南和示例代码。 总之,`gmailapi-0.1.0-py3-none-any.whl`是一个方便的Python库,它为开发者提供了一种简洁的方式来与Gmail API交互,使得在Python应用中...

    Python私人邮件获取.rar

    这个名为"Python私人邮件获取"的压缩包文件可能包含了实现这一功能的相关代码示例和教程。Python提供了多种库来处理电子邮件,如IMAP4(Internet Message Access Protocol)和POP3(Post Office Protocol version 3...

    使用OAuth2对Gmail进行身份验证的工具和示例代码___下载.zip

    - 示例代码:展示如何在不同编程语言(如Python、Java、JavaScript等)中实现OAuth2身份验证过程。 - 工具:可能包括辅助脚本或库,帮助开发者简化授权流程,如生成授权URL、解析授权响应、管理令牌等。 - 文档:...

    python通过imaplib模块读取gmail里邮件的方法

    接下来,我们将逐步解析上述示例代码中使用的各个部分: ```python import imaplib ``` 首先,导入`imaplib`模块,这是使用该模块的基本步骤。 ```python mailserver = imaplib.IMAP4_SSL('imap.gmail.com', 993)...

    A Byte of Python

    书中包含了丰富的示例代码和实用的编程技巧,帮助读者逐步掌握 Python 编程的基础知识。 #### 三、适用对象 1. **编程新手**:本书非常适合完全没有编程经验的新手,即使你只知道如何保存文本文件,也能够通过本书...

    python简明手册

    根据提供的文件信息,我们可以...以上示例展示了如何使用列表的一些常见方法。 以上就是从提供的文件信息中提取出来的关键知识点。这些内容覆盖了Python的基本语法和常用功能,对于初学者来说是非常实用的参考资料。

    gmail-sender-helper,这个库帮助你向gmail发送电子邮件.zip

    `gmail-sender-helper` 的用户和开发者可以通过社区交流使用经验,分享示例代码,共同解决问题,推动项目的发展。 总之,`gmail-sender-helper` 是一个方便的工具,它使得通过Gmail发送邮件变得更加简单,同时也为...

Global site tag (gtag.js) - Google Analytics