如何使用Python发送HTML格式的邮件

这篇文章主要介绍了如何使用Python发送HTML格式的邮件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

发送html格式的和普通文本格式差不多,只是MIMEText(content,"html","utf-8"))与MIMEText(content,"plain","utf-8"))格式的区别,格式改一下就行了

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

#"-*- coding: utf-8 -*-"
import smtplib
from email.mime.text import MIMEText

mail_user = raw_input("请输入你的163邮箱: ")
mail_password = raw_input("请输入邮箱授权码: ")
mail_from = raw_input("来自: ")
mail_sub = raw_input("邮件主题: ")
mail_content = raw_input("邮件内容: ") #例如: html格式的: "<a href='http://www.cnblogs.com/xiaowuyi'>小五义</a>"
#mailto_list = raw_input("")  #qq邮箱
mail_host="smtp.163.com"
mail_postfix="163.com"

def sendmail(sub,content):
  me=mail_from+"<"+mail_user+">"
  msg=MIMEText(content,"html","utf-8")
  msg['Subject']=sub
  msg['From']=me
  to_list = map(None, raw_input("发送给: ").split(' '))
  msg['To']=",".join(to_list)
  try:
    server=smtplib.SMTP()
    server.connect(mail_host)
    server.login(mail_user,mail_password)
    server.sendmail(me,to_list,msg.as_string())
    server.close()
    return True
  except Exception,e:
    print str(e)
    return False
if sendmail(mail_sub, mail_content):
  print "done!"
else:
  print "falsed!"

#第二种方法:
#!/usr/bin/python
#-*- coding: utf-8 -*-

from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
import smtplib

mailer_name=raw_input("from: ")
mail_user=raw_input("163 email address: ")
mail_pass=raw_input("邮箱授权码: ")
mail_content=raw_input("content: ")  #邮件内容是html格式的
mail_host="smtp.163.com"
mail_postfix="163.com"

def send_mail(sub,content):
  me=mailer_name +"<"+mail_user+">"
  msg=MIMEText(content,"html","utf-8")
  msg['Subject']=sub
  msg['From']=me
  to_list = map(None,raw_input("mail_to: ").split(" "))#可以群发
  msg['To']=",".join(to_list)
  try:
    server=smtplib.SMTP()
    server.connect(mail_host)
    server.login(mail_user,mail_pass)
    server.sendmail(me,to_list,msg.as_string())
    server.close()
    return True
  except Exception,e:
    print str(e)
    return False
if send_mail("邮件",mail_content):
  print "done!"
else:
  print "failed!"

结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Python如何通过Flask-Mail发送电子邮件

    这篇文章主要介绍了Python如何通过Flask-Mail发送电子邮件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 采用Flask-Mail模块发送电子邮件 代码如下 ##python程序 命名为hello.py import os from flask import Flask from flask_mail import Mail from flask_script import Manager app = Flask(__name__)

  • Python 调用 Outlook 发送邮件过程解析

    微软 Office 提供基于 COM 接口的编程.Python 通过 pywin32 可以方便地调用各组件.如果下载和安装 pywin32 有困难,可以到 Sourceforge 的镜像网摘查找合适的版本. 单一账号 import win32com.client as win32 def send_mail(): outlook = win32.Dispatch('Outlook.Application') mail_item = outlook.CreateItem(0) # 0: olMai

  • Python定时发送天气预报邮件代码实例

    这篇文章主要介绍了Python定时发送天气预报邮件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 用python爬虫爬到的天气预报,使用smtplib和email模块可以发送到邮箱,使用schedule模块可以定时发送.以下是代码- #导入模块 import requests from bs4 import BeautifulSoup import smtplib from email.mime.text import MIMEText

  • python基于SMTP协议发送邮件

    本文实例为大家分享了python基于SMTP协议发送邮件的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python # -*- coding: utf-8 -*- """ @Time : 2018/5/31 @Author : LiuXueWen @Site : @File : sendEmail.py @Software: PyCharm @Description: 使用SMTP协议发送邮件,支持同时发送给多个地址,支持同时发送文本信息.超文本信息和多

  • selenium+python实现自动登陆QQ邮箱并发送邮件功能

    本期做一个selenium详细实例,会把我在元素定位中遇到的一些阻塞和经验分享给大家. (浏览器为Chrome) (如果只需要最终的完整代码,请直接跳转到文章最后) 浏览器打开QQ邮箱登录网址 QQ邮箱登录地址为:https://mail.qq.com/ from selenium import webdriver import time zhengyi = webdriver.Chrome() zhengyi.get('https://mail.qq.com/') 这一步没有遇到问题,至于为什

  • python发送多人邮件没有展示收件人问题的解决方法

    背景: 工作过程中需要对现有的机器.服务做监控,当服务出现问题后,邮件通知对应的人 问题: 使用python 2.7自带的email库来进行邮件的发送,但是发送后没有展示收件人列表内容 问题代码示例: # -*- coding:utf-8 -*- import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText def send_email_to(fromAdd,

  • Python3实现发送邮件和发送短信验证码功能

    Python3实现发送邮件: import smtplib from email.mime.text import MIMEText from email.utils import formataddr my_sender = '1434399884@qq.com' # 发件人邮箱账号 my_pass = '*********' # 发件人邮箱的授权码 my_user = '3152609963@qq.com' # 收件人邮箱账号,我这边发送给自己 def mail(): ret= True t

  • python实现邮件发送功能

    什么是POP3.SMTP和MAP? POP3是Post Office Protocol 3的简称,即邮局协议的第三个版本,他是规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的协议.它是因特网电子邮件的第一个离线协议的标准.POP3允许用户从服务器上把邮件存储到本地计算机上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接受邮件服务器,用来接受电子邮件. SMTP的全称是Simple Mail Transfer Protocol,即简单的邮件传输协议

  • python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】

    本文实例讲述了python 实现的发送邮件模板.分享给大家供大家参考,具体如下: ##发送普通txt文件(与发送html邮件不同的是邮件内容设置里的type设置为text,下面代码为发送普通邮件的另一种方法) import smtplib import string from email.mime.text import MIMEText from email.utils import formataddr host = 'smtp.263.net' ##定义smtp主机 SUBJECT = "

  • 如何使用Python发送HTML格式的邮件

    这篇文章主要介绍了如何使用Python发送HTML格式的邮件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 发送html格式的和普通文本格式差不多,只是MIMEText(content,"html","utf-8"))与MIMEText(content,"plain","utf-8"))格式的区别,格式改一下就行了 Python发送HTML格式的邮件与发送纯文本消息的邮件不同

  • 如何用ASP发送html格式的邮件?

    如何用ASP发送html格式的邮件?<% Dim objMail Set objMail = CreateObject("CDONTS.Newmail") objMail.TO = "sunchunliang@263.net" objMail.From =shenzhaoyang@intels.net objmail.Subject = "闪亮日子之html撼雪喷云" objMail.MailFormat = cdoMailFormatMi

  • php发送html格式文本邮件的方法

    本文实例讲述了php发送html格式文本邮件的方法.分享给大家供大家参考.具体实现方法如下: <?php $to = "simon@mailexample.com, elaine@mailexample.com"; //设置收件人 $subject = "This is a test"; //设置E-mail主题 //设置E-mail内容: $message = " <html> <head> <title>Thi

  • 使用Python发送各种形式的邮件的方法汇总

    我们平时需要使用 Python 发送各类邮件,这个需求怎么来实现?答案其实很简单,smtplib 和 email 库可以帮忙实现这个需求.smtplib 和 email 的组合可以用来发送各类邮件:普通文本,HTML 形式,带附件,群发邮件,带图片的邮件等等.我们这里将会分几节把发送邮件功能解释完成. smtplib 是 Python 用来发送邮件的模块,email 是用来处理邮件消息. 发送 HTML 形式的邮件 发送 HTML 形式的邮件,需要 email.mime.text 中的 MIME

  • Python如何基于smtplib发不同格式的邮件

    这篇文章主要介绍了Python如何基于smtplib发不同格式的邮件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 常用邮箱SMTP.POP3域名及其端口号 发送普通文本内容的邮件 import smtplib from email.header import Header from email.mime.text import MIMEText # smtp服务器信息 smtp_server = 'smtp.163.com' server_p

  • python3使用SMTP发送HTML格式邮件

    一.设置开启SMTP服务并获取授权码 可以参考第一篇文章,这里不再赘述:[一]Python3使用SMTP发送简单文本邮件 二.使用Python3 发送HTML格式的邮件 0.使用的环境为: Python 3.6.3 (64bit) PyCharm 2017.3 (64bit) 1.实现代码: import smtplib from email.header import Header from email.mime.text import MIMEText # 发件人和收件人 sender =

  • SQL Server中发送HTML格式邮件的方法

    sql server 发送html格式的邮件,参考代码如下: DECLARE @tableHTML NVARCHAR(MAX) ; -- 获取当前系统时间,和数据统计的时间 set @d_nowdate = convert(datetime,convert(varchar(10),dateadd(day,-1,getdate()),120),120); -- 如果有数据则发送 if exists (select top 1 * from t_table1(nolock) where d_rq=@

  • Python基础详解之邮件处理

    一.发送电子邮件 Python标准库提供了smtplib,用于实现SMTP协议发送邮件.标准库还提供email模块帮助我们构建邮件格式.SMTP(Simple Mail Transfer Protocol,即简单邮件传输协议),是一组有源地址到目的地址传送邮件的规则,用来控制信件的中转方式. 获取QQ邮箱密码(授权码) 二.发送纯文本格式的邮件 import smtplib from email.mime.text import MIMEText from email.header import

  • 详细讲解用Python发送SMTP邮件的教程

    SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件. 首先,我们来构造一个最简单的纯文本邮件: from email.mime.text import MIMEText msg = MIMEText('hello, send by Python...', 'plain', 'utf-8') 注意到构造MIMEText对象时

  • 详解python发送各类邮件的主要方法

    python中email模块使得处理邮件变得比较简单,今天着重学习了一下发送邮件的具体做法,这里写写自己的的心得,也请高手给些指点. 一.相关模块介绍 发送邮件主要用到了smtplib和email两个模块,这里首先就两个模块进行一下简单的介绍: 1.smtplib模块 smtplib.SMTP([host[, port[, local_hostname[, timeout]]]]) SMTP类构造函数,表示与SMTP服务器之间的连接,通过这个连接可以向smtp服务器发送指令,执行相关操作(如:登

随机推荐