广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中怎么使用SMTP发送邮件
  • 460
分享到

Python中怎么使用SMTP发送邮件

2023-06-28 02:06:31 460人浏览 薄情痞子

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

摘要

这篇“python中怎么使用SMTP发送邮件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python中怎么使用SMTP发送

这篇“python中怎么使用SMTP发送邮件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python中怎么使用SMTP发送邮件”文章吧。

Python中怎么使用SMTP发送邮件

Python创建 SMTP 对象语法

import smtplibsmtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )

参数说明:

host: SMTP 服务器主机。 你可以指定主机的ip地址或者域名如:w3cschool.cc,这个是可选参数。

port: 如果你提供了 host 参数, 你需要指定 SMTP 服务使用的端口号,一般情况下SMTP端口号为25。

local_hostname: 如果SMTP在你的本机上,你只需要指定服务器地址为 localhost 即可。

Python SMTP对象使用sendmail方法发送邮件,语法如下:

SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options]

参数说明:

from_addr: 邮件发送者地址。

to_addrs: 字符串列表,邮件发送地址。

msg: 发送消息

这里要注意一下第三个参数,msg是字符串,表示邮件。我们知道邮件一般由标题,发信人,收件人,邮件内容,附件等构成,发送邮件的时候,要注意msg的格式。这个格式就是smtp协议中定义的格式。

实例

以下是一个使用Python发送邮件简单的实例

#!/usr/bin/pythonimport smtplibsender = 'from@fromdomain.com'receivers = ['to@todomain.com']message = """From: From PersonTo: To PersonSubject: SMTP e-mail testThis is a test e-mail message."""try:  smtpObj = smtplib.SMTP('localhost')  smtpObj.sendmail(sender, receivers, message)          print "Successfully sent email"except SMTPException:  print "Error: unable to send email"

使用Python发送HTML格式的邮件

Python发送html格式的邮件与发送纯文本消息的邮件不同之处就是将MIMEText中_subtype设置为html。具体代码如下:

import smtplib  from email.mime.text import MIMEText  mailto_list=["YYY@YYY.com"]mail_host="smtp.XXX.com"  #设置服务器mail_user="XXX"    #用户名mail_pass="XXXX"   #口令mail_postfix="XXX.com"  #发件箱的后缀 def send_mail(to_list,sub,content):  #to_list:收件人;sub:主题;content:邮件内容   me="hello"+"+mail_user+"@"+mail_postfix+">"   #这里的hello可以任意设置,收到信后,将按照设置显示   msg = MIMEText(content,_subtype='html',_charset='gb2312')    #创建一个实例,这里设置为html格式邮件   msg['Subject'] = sub    #设置主题   msg['From'] = me     msg['To'] = ";".join(to_list)     try:         s = smtplib.SMTP()         s.connect(mail_host)  #连接smtp服务器       s.login(mail_user,mail_pass)  #登陆服务器       s.sendmail(me, to_list, msg.as_string())  #发送邮件       s.close()         return True     except Exception, e:         print str(e)         return False  if __name__ == '__main__':     if send_mail(mailto_list,"hello","小五义"):         print "发送成功"     else:         print "发送失败"

或者你也可以在消息体中指定Content-type为text/html,如下实例:

#!/usr/bin/pythonimport smtplibmessage = """From: From PersonTo: To PersonMIME-Version: 1.0Content-type: text/htmlSubject: SMTP HTML e-mail testThis is an e-mail message to be sent in HTML fORMatThis is HTML message.This is headline."""try:  smtpObj = smtplib.SMTP('localhost')  smtpObj.sendmail(sender, receivers, message)          print "Successfully sent email"except SMTPException:  print "Error: unable to send email"

Python发送带附件的邮件

发送带附件的邮件,首先要创建MIMEMultipart()实例,然后构造附件,如果有多个附件,可依次构造,最后利用smtplib.smtp发送。

from email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartimport smtplib#创建一个带附件的实例msg = MIMEMultipart()#构造附件1att1 = MIMEText(open('d:123.rar', 'rb').read(), 'base64', 'gb2312')att1["Content-Type"] = 'application/octet-stream'att1["Content-Disposition"] = 'attachment; filename="123.doc"'#这里的filename可以任意写,写什么名字,邮件中显示什么名字msg.attach(att1)#构造附件2att2 = MIMEText(open('d:123.txt', 'rb').read(), 'base64', 'gb2312')att2["Content-Type"] = 'application/octet-stream'att2["Content-Disposition"] = 'attachment; filename="123.txt"'msg.attach(att2)#加邮件头msg['to'] = 'YYY@YYY.com'msg['from'] = 'XXX@XXX.com'msg['subject'] = 'hello world'#发送邮件try:   server = smtplib.SMTP()   server.connect('smtp.XXX.com')   server.login('XXX','XXXXX')#XXX为用户名,XXXXX为密码   server.sendmail(msg['from'], msg['to'],msg.as_string())   server.quit()   print '发送成功'except Exception, e:     print str(e)

以下实例指定了Content-type header 为 multipart/mixed,并发送/tmp/test.txt 文本文件:

#!/usr/bin/pythonimport smtplibimport base64filename = "/tmp/test.txt"# 读取文件内容并使用 base64 编码fo = open(filename, "rb")filecontent = fo.read()encodedcontent = base64.b64encode(filecontent)  # base64sender = 'WEBmaster@tutorialpoint.com'reciever = 'amrood.admin@gmail.com'marker = "AUNIQUEMARKER"body ="""This is a test email to send an attachement."""# 定义头部信息part1 = """From: From PersonTo: To PersonSubject: Sending AttachementMIME-Version: 1.0Content-Type: multipart/mixed; boundary=%s--%s""" % (marker, marker)# 定义消息动作part2 = """Content-Type: text/plainContent-Transfer-Encoding:8bit%s--%s""" % (body,marker)# 定义附近部分part3 = """Content-Type: multipart/mixed; name="%s"Content-Transfer-Encoding:base64Content-Disposition: attachment; filename=%s%s--%s--""" %(filename, filename, encodedcontent, marker)message = part1 + part2 + part3try:  smtpObj = smtplib.SMTP('localhost')  smtpObj.sendmail(sender, reciever, message)  print "Successfully sent email"except Exception:  print "Error: unable to send email"

以上就是关于“Python中怎么使用SMTP发送邮件”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网Python频道。

--结束END--

本文标题: Python中怎么使用SMTP发送邮件

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

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

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

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

下载Word文档
猜你喜欢
  • Python中怎么使用SMTP发送邮件
    这篇“Python中怎么使用SMTP发送邮件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python中怎么使用SMTP发送...
    99+
    2023-06-28
  • python SMTP邮件发送
    本例使用的时python2.7环境,python3的操作应该也是差不多的。 需要用到smtplib和email两个包。 发送文本类型的邮件 下面看个发送文本邮件的例子(使用网易163的SMTP): # -*- coding: UTF-8 ...
    99+
    2023-01-31
    邮件发送 python SMTP
  • Python中如何使用SMTP发送邮件
    本篇文章为大家展示了Python中如何使用SMTP发送邮件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python创建 SMTP 对象语法import smtplib smtp...
    99+
    2023-06-02
  • 怎么在Python项目中利用SMTP发送邮件
    这期内容当中小编将会给大家带来有关怎么在Python项目中利用SMTP发送邮件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。通常使用邮件 API 的邮件发送服务都需要额外的收费。因此我们再邮件测试发送的时...
    99+
    2023-06-14
  • python基于SMTP发送QQ邮件
    python基于SMTP发送QQ邮件,供大家参考,具体内容如下 第一步: 1.打开qq邮箱,开启smtp服务 2.验证密保 3.获取授权码 python代码里面使用 在Pyth...
    99+
    2022-11-11
  • python实现SMTP邮件发送功能
    一直想着给框架添加邮件发送功能、所以整理下python下邮件发送功能 首先python是支持邮件的发送、内置smtp库、支持发送纯文本、HTML及添加附件的邮件。之后是邮箱、像163、qq、新浪等邮箱默认关...
    99+
    2022-06-04
    邮件发送 功能 python
  • 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
  • Python基于SMTP发送邮件的方法
    目录构建消息对象发送邮件要点在很多时候,使用 Python 发送邮件可能没有办法使用邮件服务器提供的 API,因为不是所有的邮件服务商都会提供 API 供客户使用的。 通常使用邮件 ...
    99+
    2022-11-11
  • phpmailer用smtp发送邮件的过程
    这篇文章主要介绍“phpmailer用smtp发送邮件的过程”,在日常操作中,相信很多人在phpmailer用smtp发送邮件的过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2022-10-19
  • Python实现SMTP发送邮件详细教程
    简介 Python发送邮件的教程本人在网站搜索的时候搜索出来了一大堆,但是都是说了一大堆原理然后就推出了实现代码,我测试用给出的代码进行发送邮件时都不成功,后面找了很久才找到原因,这都是没有一个详细的环境调...
    99+
    2022-06-04
    发送邮件 教程 详细
  • WordPress 该怎么配置 SMTP 邮件发送服务
    默认情况下,WordPress 使用本地的PHP邮件功能,并且所发出的电子邮件经常会被邮件服务商标记为垃圾邮件,而且国内服务器商都是屏蔽了25端口的,导致无法使用PHP邮件功能。使用SMTP服务器是确保WordPress电子邮件可传递性。 ...
    99+
    2023-09-20
    服务器 php 运维
  • 怎么用Python发送邮件
    本篇内容主要讲解“怎么用Python发送邮件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Python发送邮件”吧!Python使用SMTP发送邮件SMTP(Simple Mail Tra...
    99+
    2023-06-04
  • 怎么在python中使用pytest发送邮件
    今天就跟大家聊聊有关怎么在python中使用pytest发送邮件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python主要应用领域有哪些1、云计算,典型应用OpenStack。2...
    99+
    2023-06-14
  • PHP使用简单邮件传输协议(SMTP)发送邮件的方法
    随着互联网的发展,邮件已经成为了人们日常交流的重要方式之一。而对于一些网站开发者来说,在网站中发送邮件也显得尤为关键。PHP作为一种服务器端脚本语言,自然也需要提供一种发送邮件的方式。本文就将介绍PHP使用简单邮件传输协议(SMTP)发送邮...
    99+
    2023-05-22
    PHP 邮件发送 SMTP
  • PHP使用SMTP协议发送邮件的完整流程
    随着互联网的发展,电子邮件已经成为人们日常沟通的重要手段之一。在Web应用程序中,发送邮件已经成为了必须的功能之一,而且随着Web应用的发展,邮件发送的方式也得到了很大的改进。其中,基于SMTP协议的邮件发送方式,成为了Web应用中最常用的...
    99+
    2023-05-23
    PHP 邮件发送 SMTP
  • python中怎么使用yagmail发送邮件功能
    本篇内容主要讲解“python中怎么使用yagmail发送邮件功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python中怎么使用yagmail发送邮件功能”吧!使用前先要安装 yagmai...
    99+
    2023-06-22
  • 使用python发送html邮件
    说明:   最近一直在忙着业务迁移工作,己经有些日子没有写东西了,虽然写的很渣,还好是将功能实现了。#!/usr/bin/env python #coding:utf8   import smtplib from email.mime.te...
    99+
    2023-01-31
    邮件 python html
  • Python 使用Gmail发送邮件
    前言:2014-05-22记录在hi baidu上,现在移过来 使用python向gmail发邮件 """ 发送邮件 1: 需要提供发送者的邮件、密码;接收者地址; 2:步骤: a:Logi...
    99+
    2023-01-31
    发送邮件 Python Gmail
  • python 使用stmp发送邮件
    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp...
    99+
    2023-01-31
    发送邮件 python stmp
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作