#!/usr/bin/env python
# -*- coding: utf-8 -*-"""
SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。
Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。
"""
import smtplib
import socks
import json
from email.mime.text import MIMETextimport requests# 提取socks代理API接口,获取num个代理IP
api_url = "http://dps.kdlapi.com/api/getdps/?orderid=*****&num=1&pt=2&format=json&sep=1"# 快代理用户名密码认证(私密代理/独享代理)
username = "*****"
password = "*****"""" 设置SMTP服务器所需信息 """
# 服务器ip
mail_host = 'smtp.163.com'
# 服务器端口,默认25
mail_port = 25
# 邮箱用户名
mail_user = '*****@163.com'
# 密码(部分邮箱为授权码)
mail_pass = '*****'
# 邮件发送方邮箱地址
sender = '*****@163.com'
# 邮件接受方邮箱地址,list类型,这意味着你可以写多个邮件地址群发
receivers = ['*****@qq.com']""" 设置email内容信息 """
# 邮件内容设置
message = MIMEText('邮件内容','plain','utf-8')
# 邮件主题
message['Subject'] = '邮件标题'
# 发送方信息
message['From'] = sender
# 接受方信息
message['To'] = receivers[0]  # 获取API接口返回的socks代理IP,根据返回格式进行解析,json为例
proxy_ip = requests.get(api_url).text
proxy_ip = json.loads(proxy_ip)
addr=proxy_ip['data']['proxy_list'][0].split(":")[0]
port=int(proxy_ip['data']['proxy_list'][0].split(":")[1])# 将socks代理应用到smplib服务
socks.set_default_proxy(proxy_type=socks.PROXY_TYPE_SOCKS5, addr=addr, port=port,username=username,password=password)
# Attempts to replace a module's socket library with a SOCKS socket.
socks.wrap_module(smtplib)# 登录并发送邮件# 上下文管理器写法,若邮件发送失败,会raise异常
with smtplib.SMTP() as smtpObj:# 连接到服务器smtpObj.connect(mail_host,mail_port)# 登录到服务器smtpObj.login(mail_user,mail_pass)# 发送smtpObj.sendmail(sender,receivers,message.as_string())print("success")"""
# 普通写法
try:smtpObj = smtplib.SMTP() # 连接到服务器smtpObj.connect(mail_host,mail_port)# 登录到服务器smtpObj.login(mail_user,mail_pass) # 发送smtpObj.sendmail(sender,receivers,message.as_string()) # 退出smtpObj.quit() print('success')
except smtplib.SMTPException as e:# 打印错误print('error',e)"""

python发送邮件 SMTP socks代理相关推荐

  1. python socks代理_如何让任意python程序使用socks代理

    问题描述 在尝试学习Flutter项目中的engine部分的源码的时候,需要先进行gclient sync操作来同步代码,而由于某些不可说的原因,会存在网络无法访问的问题,通常来讲我们可以通过设置系统 ...

  2. Python发送邮件smtplib.SMTP各报错问题的解决方法

    Python发送邮件smtplib.SMTP各报错问题的解决方法 参考文章: (1)Python发送邮件smtplib.SMTP各报错问题的解决方法 (2)https://www.cnblogs.co ...

  3. Python发送邮件(Email SMTP)

    Python发送邮件(Email SMTP) Python发送邮件(Email SMTP) : 简单邮件传输协议(SMTP)是一种处理电子邮件发送电子邮件和邮件服务器之间的路由协议. Python提供 ...

  4. python socks代理 命令行_Python使用socks代理

    Python使用socks代理 使用pysocks库 - Jim's answer As of requests version 2.10.0, released on 2016-04-29, req ...

  5. python 实现SMTP发送邮件(四)-添加附件

    Python实现SMTP发送邮件(四)-添加附件 [Python]  纯文本查看  复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 ...

  6. python发送邮件和POP3、SMTP及IMA

    使用python发送邮件 准备工作 1.python环境. 2.含有使用的模块smtplib,email 3.设置好对应邮箱的pop3.SMTP,一般设置方式在:设置-账户里,找到开启就行,这里要记录 ...

  7. python smtplib.SMTP()发送邮件报“UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xba in position 0: i

    python smtplib.SMTP()发送邮件报"UnicodeDecodeError: 'utf-8' codec can't decode byte 0xba in position ...

  8. Python用SMTP自动发送邮件email

    发送邮件是一个常见的需求,一般会采用SMTP代理的形式,进行邮件自动发送 在发送邮件时,主要有如下准备工作: ① 发件人.收件人.抄送人 ② 发件人邮箱授权码 ③ 邮件主题 ④ 邮件正文 ⑤ 附件 发 ...

  9. python应用系列教程——python使用smtp协议发送邮件:html文本邮件、图片邮件、文件附件邮件

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python使用smtp协议发送电子邮件.包含发送html文本邮件.包含图片附件的邮件,包含其他文件附件的邮件.可设置邮件的收发人,主题,内容 ...

最新文章

  1. matlab中fminunc函数使用方法,[分享]无约束非线性规划函数\fminunc函数使用方法(MATLAB)...
  2. linux下根据进程号PID查找程序路径
  3. 改变 input[type=range] css样式
  4. 一款 APK 是怎么诞生的?
  5. 人人网 Windows Phone 7 应用开发起步
  6. mysql设置表名字为占位符_这可能是把MySQL存储引擎讲解的最清楚的一篇文章了
  7. 易语言 网页用什么编码_通常提到的编码器是干什么用的
  8. String(byte[] bytes, int offset, int length)
  9. JavaScript学习(四十)—字面量创建对象图解
  10. Xampp mysql启动
  11. Speedoffice(excel)如何根据身份证号计算年龄
  12. 2018-4-17论文《狼群算法的研究与应用》笔记1 智能算法简介;狼群算法国内外研究现状以及参看文献
  13. Android开发之NDK开发之生成so库基础入门
  14. 计算机毕业设计Java心理健康管理系统(源码+系统+mysql数据库+Lw文档)
  15. YOLO-先验框/anchor(锚点)
  16. 请不要再记笔记了,四个词把人分为四类,最糟糕的一类人,颠覆了我们的认知。
  17. python实现crc16校验
  18. Spring MVC的核心控制器DispatcherServlet的作用
  19. 5G基站供配电勘察设计思路的调整分析
  20. 使用SASS修改iconic样式

热门文章

  1. CAD快捷键out了?这样的CAD编辑命令,你见过嘛?
  2. windows无法打开添加打印机_如何删除打印机
  3. linux不能显示文本文件内容的命令,Linux之文本文件查看命令
  4. 有一家做BPM的公司叫K2,Gartner和IDC都说好!
  5. 【Selenium】stale element reference 问题解决方案
  6. 【MATLAB】基本绘图 ( plot 函数绘制多个图形 | legend 函数标注图形 | 图形修饰 )
  7. VScode 插件中 package.json 文件 activationEvents 字段详解
  8. Hbuildx工具启动uniapp项目
  9. 一个黑科技,Python竟然可以伪造很多'假'的数据!
  10. 呕心沥血三天三夜整理出2021最新最全微信小程序开发资源汇总