优草派  >   Python

python如何使用python发送邮件和接收邮件?

高伟            来源:优草派

Python作为一种高效且易于学习的编程语言,常被用于各种领域的开发和应用。其中,邮件通信是我们日常中不可或缺的一项。本文就给大家介绍一下如何使用Python发送邮件和接收邮件。

python如何使用python发送邮件和接收邮件?

Python发送邮件

Python自带的smtplib和email模块提供了方便的邮件发送功能。使用smtplib和email模块发送邮件的基本流程如下:

1.创建邮件对象message,使用email模块构造邮件内容(主题、发件人、收件人、内容等)。

2.连接SMTP服务器,使用smtplib模块登录认证,验证账户密码。

3.发送邮件,使用smtplib的send_message()方法发送邮件。

下面是一个使用Python发送邮件的示例代码:

import smtplib

from email.mime.text import MIMEText

mail_host = 'smtp.xxx.com' #邮箱smtp服务器

mail_user = 'xxxxx' #邮箱账户名

mail_pass = 'xxxxx' #邮箱密码

def send_mail(to_list,

subject,

contents):

me = 'Python爱好者' + '<' + mail_user + '>'

content = contents

msg = MIMEText(content)

msg['Subject'] = subject

msg['From'] = me

msg['To'] = ';'.join(to_list)

try:

s = smtplib.SMTP()

s.connect(mail_host)

s.login(mail_user, mail_pass)

s.sendmail(me, to_list, msg.as_string())

s.close()

return True

except Exception as e:

print('邮件发送失败', e)

return False

如果要发送附件或者html格式的邮件,可以使用email模块提供的MIMEMultipart和MIMEText类。

Python接收邮件

和发送邮件类似,Python也自带了poplib和imaplib模块用于接收邮件。POP3和IMAP是两种流行的邮件接收协议,有不同的使用场景。POP3一般用来从服务器中“取回”邮件并把邮件保存到本地电脑或移动设备中,而IMAP则常用于在多个设备之间同步邮件。下面是一个使用Python接收POP3邮件的示例代码:

import poplib

from email.parser import Parser

from email.header import decode_header

from email.utils import parseaddr

mail_host = 'pop.xxx.com'

mail_user = 'xxxxx'

mail_pass = 'xxxxx'

server = poplib.POP3_SSL(mail_host,995)

server.user(mail_user)

server.pass_(mail_pass)

resp, mails, octets = server.list()

mail_content = []

for index, item in enumerate(mails[::-1]):

resp, lines, octets = server.retr(len(mails) - index)

msg_content = b'\r\n'.join(lines).decode('utf-8')

msg = Parser().parsestr(msg_content)

msg_dict = {}

msg_dict['From'] = parseaddr(msg['From'])[1]

msg_dict['To'] = parseaddr(msg['To'])[1]

msg_dict['Subject'] = decode_header(msg['Subject'])[0][0]

mail_content.append(msg_dict)

server.dele(len(mails) - index)

server.quit()

print(mail_content)

在使用IMAP接收邮件时,可以使用imaplib模块。IMAP相比POP3,功能更强大,支持高级搜索、多文件夹管理等功能。

综上,Python作为一种强大而易用的编程语言,非常适合用于邮件相关的操作。无论是发送还是接收,Python都提供了简便的API,让我们可以用更方便的方式进行邮件操作。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行