利用Python+163邮箱授权码发送邮件

背景

前段时间写了个自动打卡的脚本,但是脚本不够完善,我需要知道,打卡到底成没成功,因此,我想到了用Python执行完代码之后,再执行一段发送邮件的代码。需求开始明确了,就开始分析和写代码实现吧。

分析

SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。

python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。

代码实现

import smtplib
from email.mime.text import MIMEText
# 引入smtplib和MIMEText
from time import sleep

def sentemail():
    host = ‘smtp.163.com‘
    # 设置发件服务器地址
    port = 465
    # 设置发件服务器端口号。注意,这里有SSL和非SSL两种形式,现在一般是SSL方式
    sender = ‘[email protected]‘
    # 设置发件邮箱,一定要自己注册的邮箱
    pwd = ‘SGJEKFBFK322‘
    # 设置发件邮箱的授权码密码,根据163邮箱提示,登录第三方邮件客户端需要授权码
    receiver = ‘[email protected]‘
    # 设置邮件接收人,可以是QQ邮箱
    body = ‘<h1>你已成功打卡</h1><p>zhongfs</p>‘
    # 设置邮件正文,这里是支持HTML的
    msg = MIMEText(body, ‘html‘)
    # 设置正文为符合邮件格式的HTML内容
    msg[‘subject‘] = ‘打卡通知‘
    # 设置邮件标题
    msg[‘from‘] = sender
    # 设置发送人
    msg[‘to‘] = receiver
    # 设置接收人
    try:
        s = smtplib.SMTP_SSL(host, port)
        # 注意!如果是使用SSL端口,这里就要改为SMTP_SSL
        s.login(sender, pwd)
        # 登陆邮箱
        s.sendmail(sender, receiver, msg.as_string())
        # 发送邮件!
        print (‘Done.sent email success‘)
    except smtplib.SMTPException:
        print (‘Error.sent email fail‘)

if __name__ == ‘__main__‘:
    sentemail()

执行情况

程序运行截图:

收到邮件截图:

总结

本文简单介绍了如何利用python通过163邮箱发送邮件,并附上了代码。由于比较简单,不再过多阐述。已上传github代码,链接如下:

https://github.com/rootzhongfengshan/python_practical/blob/master/SentMail/SentMail.py

原文地址:https://www.cnblogs.com/zhongfengshan/p/9763366.html

时间: 2024-08-06 21:10:53

利用Python+163邮箱授权码发送邮件的相关文章

邮箱启用授权码发送邮件

1.授权码 2.如果邮箱开启了授权码,那么之前用户名密码的配置将无法发送. 解决办法:将之前配置密码的地方,修改为自己设置的授权码即可,其他无需改动.

Linux配置163邮箱发送邮件

利用163邮箱简单的发送邮件,下面记录配置步骤,仅仅记录要点步骤.`` 申请163邮箱,开通客户端授权码以后,客户端可以利用这个授权码发送邮件.不需要繁琐的验证机制. 将配置信息添加到/etc/mail.rc文件末尾.send emailset [email protected]set smtp=smtp.163.com:25set smtp-auth=login授权用户set [email protected]授权密码set smtp-auth-password=123456zrj忽略验证se

G. PHP发送邮件功能实现(使用163邮箱)

第一步 我用的是163邮箱发送邮件,做一个尝试,在尝试之前,需要要开启163邮箱的授权码如图所示,请记住您的授权码,将在之后的步骤中用到 第二步 需要下载一个类PHPMailer,我有这个资源已经上传了,免费的哦亲,连接在这http://download.csdn.NET/detail/s371795639/9693417 下载后,解压后此文件夹放在Vendor目录下,Vendor目录下有个PHPMailer文件夹,那就对了~ 第三步 咱们该写代码了 html代码: <body> <fo

织梦自定义表单发送邮件超简单版(支持QQ邮箱163邮箱)

环境要求 主机465端口是开启和放行的 php扩展openssl是开启的 php扩展sockets是开启的 1.QQ邮箱 或者 163邮箱 126邮箱 开启SMTP服务,拿到授权码,根据自己的来 QQ邮箱开启SMTP服务 和 获取授权码 163邮箱开启SMTP服务和 获取授权码 126邮箱开启SMTP服务,跟163一样. 2.网站后台 - 系统 - 系统基本参数 - 核心设置 是否启用SMTP方式发送邮件:是 SMTP服务器:ssl://smtp.163.com 或者 ssl://smtp.qq

利用Python发送邮件

Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件. 首先要对邮箱进行设置,这里以QQ邮箱为例: 打开QQ邮箱后,选择“设置-账户”,找到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务” 开启pop3/smtp服务,并保存该授权码作为密码使用--生成授权码 最后代码如下: 1 # -*- coding:utf-8 -*- 2 import smtplib 3 from email.mime.tex

5、Selenium+Python自动登录163邮箱发送邮件

1.Selenium实现自动化,需要定位元素,以下查看163邮箱的登录元素 (1)登录(定位到登录框,登录框是一个iframe,如果没有定位到iframe,是无法定位到账号框与密码框) 定位到邮箱框(name='email') 定位到密码框(name='password') 定位到登录按钮(id="dologin") 2.代码实现 #coding=utf-8 import time from selenium import webdriver broswer = webdriver.I

163邮箱开启SMTP设置授权码操作步骤

1.登陆到163邮箱,点击登陆.点击“POP3/SMTP/IMAP”. 2.勾选“POP3/SMTP服务”. 3.选中“开启”. 4.如果写邮件发送代码,以下是一些配置参数. 原文地址:https://www.cnblogs.com/pic8vip/p/10568016.html

[Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍

目录(?)[+] 前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时继续介绍Selenium+Python官网Locating Elements部分内容.        希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~        [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)        

CentOS7像外部163邮箱发送邮件

我们在运维过程中,为了随时了解服务器的工作状态,出现问题随时提醒,像个人邮箱发送邮件是必须的,但是刚刚安装好的系统是无法发送邮件的.需要们进行一些配置和程序的安装,我安装完系统后,自带mail12.5,依然无法外发邮件. 第一步,安装sendmail,和sendmail-cf 使用命令: yum install -y sendmail yum install -y sendmail-cf yum源安装是最方便的安装,自动解决依赖关系. 第二步,配置sendmail.mc 文件 vi /etc/m