当前位置: 首页 > 编程笔记 >

Python实现发送email的几种常用方法

楚乐逸
2023-03-14
本文向大家介绍Python实现发送email的几种常用方法,包括了Python实现发送email的几种常用方法的使用技巧和注意事项,需要的朋友参考一下

学过Python的人都知道,实用Python实现发送email的功能还是比较简单的,可以通过登录邮件服务来发送,linux下也可以使用调用sendmail命令来发送,还可以使用本地或者是远程的smtp服务来发送邮件,不管是单个,群发,还是抄送都比较容易实现。

本文就把几个最简单的发送邮件方式记录下来,像html邮件,附件等也是支持的,读者在需要时可以参考查询一下。具体方法如下:

1.登录邮件服务

具体代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#python2.7x
#send_simple_email_by_account.py @2014-08-18
#author: orangleliu

'''
使用python写邮件 simple
使用126 的邮箱服务
'''

import smtplib
from email.mime.text import MIMEText

SMTPserver = 'smtp.126.com'
sender = '12345678@126.com'
password = "xxxx"

message = 'I send a message by Python. 你好'
msg = MIMEText(message)

msg['Subject'] = 'Test Email by Python'
msg['From'] = sender
msg['To'] = destination

mailserver = smtplib.SMTP(SMTPserver, 25)
mailserver.login(sender, password)
mailserver.sendmail(sender, [sender], msg.as_string())
mailserver.quit()
print 'send email success'

2.调用sendmail命令 (linux)

具体代码如下:

# -*- coding: utf-8 -*-
#python2.7x
#send_email_by_.py
#author: orangleliu
#date: 2014-08-18
'''
用的是sendmail命令的方式

这个时候邮件还不定可以发出来,hostname配置可能需要更改
'''

from email.mime.text import MIMEText
from subprocess import Popen, PIPE

def get_sh_res():
  p = Popen(['/Application/2.0/nirvana/logs/log.sh'], stdout=PIPE)
  return str(p.communicate()[0])

def mail_send(sender, recevier):
  print "get email info..."
  msg = MIMEText(get_sh_res())
  msg["From"] = sender
  msg["To"] = recevier
  msg["Subject"] = "Yestoday interface log results"
  p = Popen(["/usr/sbin/sendmail", "-t"], stdin=PIPE)
  res = p.communicate(msg.as_string())
  print 'mail sended ...'

if __name__ == "__main__":
  s = "12345678@qq.com"
  r = "123456@163.com"
  mail_send(s, r)

3 使用smtp服务来发送(本地或者是远程服务器)

具体代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#python2.7x
#send_email_by_smtp.py
#author: orangleliu
#date: 2014-08-18
'''
linux 下使用本地的smtp服务来发送邮件
前提要开启smtp服务,检查的方法
#ps -ef|grep sendmail
#telnet localhost 25

这个时候邮件还不定可以发出来,hostname配置可能需要更改
'''
import smtplib
from email.mime.text import MIMEText
from subprocess import Popen, PIPE


def get_sh_res():
  p = Popen(['/Application/2.0/nirvana/logs/log.sh'], stdout=PIPE)
  return str(p.communicate()[0])

def mail_send(sender, recevier):
  msg = MIMEText(get_sh_res())
  msg["From"] = sender
  msg["To"] = recevier
  msg["Subject"] = "Yestoday interface log results"
  s = smtplib.SMTP('localhost')
  s.sendmail(sender, [recevier], msg.as_string())
  s.quit()
  print 'send mail finished...'

if __name__ == "__main__":
  s = "123456@163.com"
  r = s
  mail_send(s, r)

相信本文所示方法对于大家进行Python程序设计能够起到一定的参考借鉴价值。

 类似资料:
  • 本文向大家介绍Python发送Email方法实例,包括了Python发送Email方法实例的使用技巧和注意事项,需要的朋友参考一下 本文以实例形式展示了Python发送Email功能的实现方法,有不错的实用价值的技巧,且功能较为完善。具体实现方法如下: 主要功能代码如下: 希望本文所述实例对大家的Python程序设计有一定的帮助。

  • 本文向大家介绍python中单例常用的几种实现方法总结,包括了python中单例常用的几种实现方法总结的使用技巧和注意事项,需要的朋友参考一下 前言 最近这两天在看自己之前写的代码,所以正好把用过的东西整理一下,单例模式,在日常的代码工作中也是经常被用到, 所以这里把之前用过的不同方式实现的单例方式整理一下 什么是单例? 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为

  • 本文向大家介绍Python使用QQ邮箱发送Email的方法实例,包括了Python使用QQ邮箱发送Email的方法实例的使用技巧和注意事项,需要的朋友参考一下 前言 其实Python使用QQ邮箱发送Email代码很简单,短短几行代码就可以实现这个功能。 使用到的模块有smtplib和email这个两个模块,关于这两个模块的方法就不多说了。不了解的朋友们可以查看这篇文章:python中使用smtpl

  • 本文向大家介绍.net实现文件读写的几种常用方法,包括了.net实现文件读写的几种常用方法的使用技巧和注意事项,需要的朋友参考一下 文件的读写是.net中常用的功能,本文即以实例形式展示.net实现文件读写的几种常用方法,供大家参考之用。具体如下: 在.net中有很多有用的类库来读写硬盘上的文件,一般比较常用的有: File: 1.什么时候使用:当读写件大小不大,同时可以一次性进行读写操作的时候使

  • 本文向大家介绍c# 几种常见的加密方法的实现,包括了c# 几种常见的加密方法的实现的使用技巧和注意事项,需要的朋友参考一下 1.ACSII码加密 2.MD5加密 3.RSA加密 4.DES加密 以上就是c# 几种常见的加密方法的实现的详细内容,更多关于c# 加密的资料请关注呐喊教程其它相关文章!

  • 本文向大家介绍C#实现快捷键的几种常用方法汇总,包括了C#实现快捷键的几种常用方法汇总的使用技巧和注意事项,需要的朋友参考一下 快捷键是很多软件的常用功能,本文实例讲解了三种方法来实现C# button快捷键,如Alt + *(按钮快捷键),Ctrl+*及其他组合键等。现详述如下: 一、 C# button快捷键之第一种:Alt + *(按钮快捷键) 在大家给button、label、menuSt