知行编程网知行编程网  2022-12-29 07:00 知行编程网 隐藏边栏  2 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于用Python怎么实现邮件功能的相关知识,希望可以帮到处于编程学习途中的小伙伴

使用Python的smtplib即可简单实现邮件功能。什么是 SMTP?如何实现邮件功能?

如何用Python实现邮件功能


SMTP

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

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

Python创建 SMTP 对象语法如下:

import smtplib
smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )

参数说明:

主机:SMTP 服务器主机。可以指定主机的ip地址或域名如:runoob.com,这是可选参数。

port:如果提供host参数,需要指定SMTP服务使用的端口号。通常,SMTP 端口号为 25。

local_hostname:如果 SMTP 在你的本地机器上,你只需将服务器地址指定为 localhost。

Python SMTP 对象使用 sendmail 方法发送邮件,语法如下:

SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])

参数说明:

from_addr: 邮件发送者地址。

to_addrs: 字符串列表,邮件发送地址。

msg: 发送消息

这里要注意第三个参数,msg是一个字符串,表示邮件。我们知道,邮件一般由标题、发件人、收件人、邮件内容、附件等组成,发送邮件时要注意msg的格式。这种格式是smtp协议中定义的格式。

分享给大家供大家参考。具体实现方法如下:

import smtplib, socket
fromaddr = a@b.com
toaddrs = ["c@d.com",      "e@f.com"]
msg = open("multimsg.eml", "r").read()
try:
  server = smtplib.SMTP('10.0.0.1')
  result = server.sendmail(fromaddr, toaddrs, msg)
  server.quit()
  if result:
    for r in result.keys():
      print "Error sending to", r
      rt = result[r]
      print "Code", rt[0], ":", rt[1]
except (smtplib.SMTPException, socket.error), arg:
  print "SMTP Server could not send mail", arg

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享