python发送邮件

python发送邮件(无附件)

=======================================================

#!/usr/bin/env python
#coding=utf-8

import smtplib
from email.mime.text import MIMEText
from email.header import Header

def sendmail():
#第三方服务(发件人的信息)
  mail_host = '设置服务器:端口'
  mail_user = '发件人邮箱的用户名'
  mail_pass = '发件人邮箱的密码'
  receivers = ['接收的邮箱']

#邮件主题
  message = MIMEText('你好,邮件测试','plain','utf-8')
  message['From'] = Header('发件人的中文名称','utf-8')
  message['To'] = Header('收件人的中文名称','utf-8')

# 邮件标题
  subject = 'Python 邮件测试'
  message['Subject'] = Header(subject,'utf-8')

  try:
    smtpObj = smtplib.SMTP(mail_host)
    smtpObj.ehlo()
    smtpObj.starttls()
    smtpObj.login(mail_user,mail_pass)
    smtpObj.sendmail(mail_user,receivers,message.as_string())
    smtpObj.quit()
    print "邮件发送成功"
  except smtplib.SMTPException:
    print "Error 无法发送邮件"

if __name__ == '__main__':
  sendmail()

========================================================

python发送邮件(有附件)

#!/usr/bin/env python
#coding=utf-8

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header

def sendmail():
#第三方服务
  mail_host = '设置服务器:端口'
  mail_user = '发件人邮箱的用户名'
  mail_pass = '发件人邮箱的密码'

  receivers = ['接收的邮箱'] 

  message = MIMEMultipart()
  message['From'] = Header('发件人邮箱的中文名称','utf-8')
  message['To'] = Header('收件人邮箱的中文名称','utf-8')

  #邮件标题  

  subject = 'Python 邮件测试'
  message['Subject'] = Header(subject,'utf-8')

# 邮件正文内容
  message.attach(MIMEText('这是菜鸟教程Python 邮件发送测试……','plain','utf-8'))

# 构造附件1,传送当前目录下的 bj.log 文件
  att1 = MIMEText(open('bj.log', 'rb').read(), 'base64', 'utf-8')
  att1["Content-Type"] = 'application/octet-stream'
# 这里的filename可以任意写,写什么名字,邮件中显示什么名字(也就是附件的名称)
  att1["Content-Disposition"] = 'attachment; filename="test.txt"'
  message.attach(att1)

  try:
    smtpObj = smtplib.SMTP(mail_host)
    smtpObj.ehlo()
    smtpObj.starttls()
    smtpObj.login(mail_user,mail_pass)
    smtpObj.sendmail(mail_user,receivers,message.as_string())
    smtpObj.quit()
    print "邮件发送成功"
  except smtplib.SMTPException:
    print "Error 无法发送邮件"

if __name__ == '__main__':
  sendmail()

原文地址:https://www.cnblogs.com/happlyp/p/6246901.html