python怎么安装sendmail

如题所述

python发送邮件的介绍比较多,都是需要登录某个邮件服务商,有密码修改和频繁发送被限制的问题。这里介绍一下,调用本机linux自身sendmail服务发送邮件。不需要登录,发送邮件名可以是任意名字,没有限制。
1. 安装:
#yum install -y sendmail
2. 启动服务:
#service sendmail start
检查服务是否加入自启行列
#chkconfig --list |grep sendmail
3 python代码:

from email.mime.text import MIMEText
from subprocess import Popen, PIPE
import commands
def send_mail(sender, recevier, subject, html_content):
msg = MIMEText(html_content, 'html', 'utf-8')
msg["From"] = sender
msg["To"] = recevier
msg["Subject"] = subject
p = Popen(["/usr/sbin/sendmail", "-t"], stdin=PIPE)
p.communicate(msg.as_string())
send_mail("[email protected]","[email protected],[email protected]","title", “mail_text”)
[email protected]可以是任意邮箱名
[email protected]是收邮件的邮箱
title是邮件标题
mail_text是邮件内容
可以结合其他介绍python发邮件的资料,发出更复杂的邮件
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-03

python发邮件需要掌握两个模块的用法,smtplib和email,这俩

模块是python自带的,只需import即可使用。smtplib模块主要负责发送邮件,email模块主要负责构造邮件。

smtplib模块主要负责发送邮件:是一个发送邮件的动作,连接邮箱服务器,登录邮箱,发送邮件(有发件人,收信人,邮件内容)。

email模块主要负责构造邮件:指的是邮箱页面显示的一些构造,如发件人,收件人,主题,正文,附件等。

import smtplib

smtp = smtplib.SMTP() 
smtp.connect('smtp.163.com,25') 
smtp.login(username, password) 
smtp.sendmail(sender, receiver, msg.as_string()) 
smtp.quit()

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

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

Python创建 SMTP 对象语法如下:

import smtplib

smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )
参数说明:

host: SMTP 服务器主机。 你可以指定主机的ip地址或者域名如: runoob.com,这个是可选参数。
port: 如果你提供了 host 参数, 你需要指定 SMTP 服务使用的端口号,一般情况下 SMTP 端口号为25。
local_hostname: 如果 SMTP 在你的本机上,你只需要指定服务器地址为 localhost 即可。本回答被网友采纳
第3个回答  2019-03-03

Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。

您需要下载适用于您使用平台的二进制代码,然后安装Python。

如果您平台的二进制代码是不可用的,你需要使用C编译器手动编译源代码。

编译的源代码,功能上有更多的选择性, 为python安装提供了更多的灵活性。。。

相似回答