如何用python发邮件_用Python发送电子邮件

今天给大家分享如何用Python自动发送电子邮件,当我们在云服务器上部署了爬虫,就希望当爬虫发生异常情况的时候能通过自动发送电子邮件来通知我们.因此学会用Python程序自动发送邮件能减轻不少爬虫监控工作.Python中有一个smtplib内置库,那么我们只需要将对其smtplib.SMTP类进行实例化,便可以实现邮件的发送功能.

一,首先熟悉一下smtplib.SMTP类方法

login(self, user, password, *, initial_response_ok=True)

-user:     邮件名

-passwd:    授权码

我这里使用的是126邮箱,需要登录网易邮件修改设置,在设置里面有POP3/SMTP/IMAP,点击之后勾选POP3/SMTP服务和IMAP/SMTP服务两项服务,之后会提示设置授权码(用于客户端登录)

send_message(self, msg, from_addr=None, to_addrs=None, mail_options=[], rcpt_options={})

-msg:    邮件主体

-from_addr:       发件地址

-to_addrs:      收件地址

sendmail(self, from_addr, to_addrs, msg, mail_options=[], rcpt_options=[])

参数同上.

quit(self) # Terminate the SMTP session.

退出,终止会话.

二,自动发送的整个过程

1.连接到服务器

2.登录

3.发出服务请求

4.退出

根据这四个过程就可以开始写代码了.

三,邮件自动发送完整代码

#! /usr/bin/env python

# coding='utf-8'

from email.header import Header

from email.mime.text import MIMEText

import smtplib

from_addr = '******@126.com'

# 授权码

password = '这里填写授权码'

to_addr = "这里填写你要发送的邮箱地址"

# 邮件服务器地址

smtp_server = 'smtp.126.com'

# 邮件信息

msg = MIMEText('邮件的主体信息', 'plain', 'utf-8')

msg['From'] = from_addr

msg['To'] = to_addr

msg['Subject'] = Header('这里填写邮件的主题', 'utf-8').encode()

# 连接邮件服务器

server = smtplib.SMTP(smtp_server, 25)

# 登录邮件

server.login(from_addr, password)

print("登录成功!")

# 开始发送邮件

server.send_message(msg, from_addr, to_addr)

# 退出服务器

server.quit()

print(邮件发送成功!")

这样邮件就自动发送成功了.

喜欢 (15)or分享 (0)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值