python3 使用ssl安全连接发送邮件

今天在测试,阿里云服务器发邮件时,发现使用默认的25端口,邮件无法正常发送,查了相关的资料,才知道,大部分的云服务器都会禁用25端口,所以才想到使用ssl 发送。

下面为具体的python3 使用ssl端口发邮件配置,邮箱服务器为163的企业邮箱

#/usr/bin/env python
#-*- coding:utf-8 -*-
from email.mime.text import MIMEText
from email.header import Header
import smtplib

message =‘‘‘
哎呀,tomcat进程怎么不够数了,快检查下。。
‘‘‘

msg = MIMEText(message,‘plain‘,‘utf-8‘)

msg[‘Subject‘] = Header("来之服务器的报警",‘utf-8‘)
msg[‘From‘] = Header(‘[email protected]‘)
msg[‘To‘] = Header(‘receiver‘,‘utf-8‘)

from_addr = ‘[email protected]‘ #发件邮箱
password = ‘yourpwd‘     #邮箱密码
to_addr = ‘[email protected]‘ #收件邮箱

smtp_server = ‘smtp.ym.163.com‘ 

try:
    server = smtplib.SMTP_SSL(smtp_server,994) #第二个参数为默认端口为25,这里使用ssl,端口为994
    print(‘开始登录‘)
    server.login(from_addr,password) #登录邮箱
    print(‘登录成功‘)
    print("邮件开始发送")
    server.sendmail(from_addr,to_addr,msg.as_string())  #将msg转化成string发出
    server.quit()
    print("邮件发送成功")
except smtplib.SMTPException as e:
    print("邮件发送失败",e)

  

原文地址:https://www.cnblogs.com/tchua/p/9328234.html

时间: 2024-08-30 18:09:36

python3 使用ssl安全连接发送邮件的相关文章

MSSQL - 最佳实践 - 使用SSL加密连接

author: 风移 摘要 在SQL Server安全系列专题月报分享中,往期我们已经陆续分享了:如何使用对称密钥实现SQL Server列加密技术.使用非对称密钥实现SQL Server列加密.使用混合密钥实现SQL Server列加密技术.列加密技术带来的查询性能问题以及相应解决方案.行级别安全解决方案.SQL Server 2016 dynamic data masking实现隐私数据列打码技术.使用证书做数据库备份加密和SQL Server Always Encrypted这八篇文章,直

centos7.2安装mysql5.7.13实现 ssl 安全连接的主从复制

防伪码:不要和我比懒,我懒得和你比. 一.MySQL 5.7 主要特性: 原生支持 Systemd 更好的性能:对于多核 CPU.固态硬盘.锁有着更好的优化 更好的 InnoDB 存储引擎 更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用 MySQL 数据库. 注:mysql-5.6.3 已经支持了多线程的主从复制 新增 sys 库:以后这会是 DBA 访问最频繁的库 二.安装 mysql5.7.13 1.系统环境:centos7.2 x86_64 因为 cento

django1.6.x(python3.3)使用pymysql连接mysql

1.安装 pymysql,地址:https://code.google.com/p/pymysql/ 2.安装django 然后执行 django-admin.py startproject mysite 3.在project的__init__.py中加如下面的语句 try: import pymysql pymysql.install_as_MySQLdb() except ImportError: pass 4.运行python manage.py runserver 即可. django1

MySql之基于ssl安全连接的主从复制

MySql基于ssl安全连接的主从复制 一.设备环境 centos7.2   两台 MySQL 5.7 MySQL 5.7 主要特性: 原生支持Systemd更好的性能:对于多核CPU.固态硬盘.锁有着更好的优化更好的InnoDB存储引擎更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL数据库. 新增sys库:以后这会是DBA访问最频繁的库更好的优化器:优化器代码重构的意义将在这个版本及以后的版本中带来巨大的改进,Oracle官方正在解决MySQL之前最大的

MySQL的SSL加密连接与性能开销

前言 在生产环境下,安全总是无法忽视的问题,数据库安全则是重中之重,因为所有的数据都存放在数据库中.MySQL在5.7版本之前对于安全问题的确考虑并不充分,导致存在比较大的隐患,比如下面的这些问题,可能有些小伙伴知道,有些却还不知道: MySQL数据库默认安装的用户密码为空 所有用户拥有对于MySQL默认安装test数据库的访问权限(即使没有授予权限) 好在Oracle官方也已经意识到安全的重要性,MySQL 5.7开始安装完成后的root用户的密码不再是空,而是在安装时随机产生一个密码,这也导

windows下Apache配置SSL安全连接

什么是SSL? SSL(Secure Socket Layer): 是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全.Open SSL下载地址:http://www.openssl.org/source/ 一.下载并安装 支持SSL的 Apache  1.安装配有SSL模块的apache, 下载地址http://httpd.apache.org/download.cgi#apache23附件提供httpd-2.2.15-win32-x86-openssl-0.

Netty 实现SSL安全连接(wss://)

原文:Netty5使用自签证书实现SSL安全连接 在客户端是https:// 协议下,使用ws:// 协议连接会报错的,得需要使用wss:// 连接.(ip连接失败时使用域名连接) netty创建服务端时,在初始化channl时,把handler加入ChannelPipeline时,在最开始那个handler设为SslHandler: SSLContext sslContext = SslUtil.createSSLContext(type ,path ,password); ///SslUti

Python3中使用PyMySQL连接Mysql

在Python2中连接Mysql数据库用的是MySQLdb,在Python3中连接Mysql数据库用的是PyMySQL,因为MySQLdb不支持Python3.因为web.py与Django中连接数据库默认是用MySQLdb,所以在Python3中连接数据库会报错:No module named 'MySQLdb'.这时候怎么处理呢? 针对web.py来说,在.py文件中增加两行代码:import pymysqlpymysql.install_as_MySQLdb() 针对Django来说,在站

python3使用Django框架连接mysql(python3+Django+MySQL+pymysql)

改掉系统默认的sqlite3数据库, # Database# https://docs.djangoproject.com/en/1.10/ref/settings/#databases DATABASES = { 'default': {# 'ENGINE': 'django.db.backends.sqlite3', 'ENGINE': 'django.db.backends.mysql',# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 'NA