<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Python_email_%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6</id>
	<title>Python email 电子邮件 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Python_email_%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6"/>
	<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Python_email_%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6&amp;action=history"/>
	<updated>2026-04-23T10:43:23Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=Python_email_%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6&amp;diff=853&amp;oldid=prev</id>
		<title>Evan：​导入1个版本</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Python_email_%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6&amp;diff=853&amp;oldid=prev"/>
		<updated>2019-10-14T13:52:31Z</updated>

		<summary type="html">&lt;p&gt;导入1个版本&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=SMTP发送邮件=&lt;br /&gt;
== smtplib==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Python提供smtplib模块，该模块定义了一个SMTP客户端会话对象，可用于使用SMTP或ESMTP侦听器守护程序向任何互联网机器发送邮件。&lt;br /&gt;
&lt;br /&gt;
这是一个简单的语法，用来创建一个SMTP对象，稍后将演示如何用它来发送电子邮件 -&lt;br /&gt;
import smtplib&lt;br /&gt;
&lt;br /&gt;
smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )&lt;br /&gt;
&lt;br /&gt;
一封电子邮件需要一个From，To和一个Subject标题，与电子邮件的正文与空白行分开。&lt;br /&gt;
&lt;br /&gt;
要发送邮件，使用smtpObj连接到本地机器上的SMTP服务器。 然后使用sendmail方法以及消息，从地址和目标地址作为参数(即使来自和地址在电子邮件本身内，这些并不总是用于路由邮件)。&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==本机有sendmail(smtp) ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt install sendmail&lt;br /&gt;
sudo /etc/init.d/sendmail start&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
import smtplib&lt;br /&gt;
from email.mime.text import MIMEText&lt;br /&gt;
from email.header import Header&lt;br /&gt;
 &lt;br /&gt;
sender = &amp;#039;linuxops@126.com&amp;#039;&lt;br /&gt;
receivers = [&amp;#039;evan886@gmail.com&amp;#039;]  # 接收邮件，可设置为你的QQ邮箱或者其他邮箱&lt;br /&gt;
 &lt;br /&gt;
# 三个参数：第一个为文本内容，第二个 plain 设置文本格式，第三个 utf-8 设置编码&lt;br /&gt;
message = MIMEText(&amp;#039;Python 邮件发送测试...&amp;#039;, &amp;#039;plain&amp;#039;, &amp;#039;utf-8&amp;#039;)&lt;br /&gt;
message[&amp;#039;From&amp;#039;] = Header(&amp;quot;python学习教程&amp;quot;, &amp;#039;utf-8&amp;#039;)&lt;br /&gt;
message[&amp;#039;To&amp;#039;] =  Header(&amp;quot;这里是测试&amp;quot;, &amp;#039;utf-8&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
subject = &amp;#039;Python SMTP 邮件测试&amp;#039;&lt;br /&gt;
message[&amp;#039;Subject&amp;#039;] = Header(subject, &amp;#039;utf-8&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
try:&lt;br /&gt;
    smtpObj = smtplib.SMTP(&amp;#039;localhost&amp;#039;)&lt;br /&gt;
    smtpObj.set_debuglevel(1) #打印出和SMTP服务器交互的所有信息&lt;br /&gt;
    smtpObj.sendmail(sender, receivers, message.as_string())&lt;br /&gt;
    print &amp;quot;邮件发送成功&amp;quot;&lt;br /&gt;
except smtplib.SMTPException:&lt;br /&gt;
    print &amp;quot;Error: 无法发送邮件&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
结果如下图&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
smtp.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==使用其他邮件服务商的 SMTP 访问（QQ、网易、Google等） ==&lt;br /&gt;
&lt;br /&gt;
===  126 smtp===&lt;br /&gt;
&amp;lt;pre&amp;gt; #!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
 &lt;br /&gt;
import smtplib&lt;br /&gt;
from email.mime.text import MIMEText&lt;br /&gt;
from email.utils import formataddr&lt;br /&gt;
 &lt;br /&gt;
my_sender=&amp;#039;linuxops@126.com&amp;#039;    # 发件人邮箱账号&lt;br /&gt;
my_pass = &amp;#039;evan&amp;#039;              # 发件人邮箱密码&lt;br /&gt;
my_user=&amp;#039;evan886@gmail.com&amp;#039;      # 收件人邮箱账号，我这边发送给自己&lt;br /&gt;
def mail():&lt;br /&gt;
    ret=True&lt;br /&gt;
    try:&lt;br /&gt;
        msg=MIMEText(&amp;#039;363636填写邮件内容&amp;#039;,&amp;#039;plain&amp;#039;,&amp;#039;utf-8&amp;#039;)&lt;br /&gt;
        msg[&amp;#039;From&amp;#039;]=formataddr([&amp;quot;Fromevan&amp;quot;,my_sender])  # 括号里的对应发件人邮箱昵称、发件人邮箱账号&lt;br /&gt;
        msg[&amp;#039;To&amp;#039;]=formataddr([&amp;quot;FK&amp;quot;,my_user])              # 括号里的对应收件人邮箱昵称、收件人邮箱账号&lt;br /&gt;
        msg[&amp;#039;Subject&amp;#039;]=&amp;quot;evan教程发送邮件测试&amp;quot;                # 邮件的主题，也可以说是标题&lt;br /&gt;
 &lt;br /&gt;
        server=smtplib.SMTP_SSL(&amp;quot;smtp.126.com&amp;quot;, 465)  # 发件人邮箱中的SMTP服务器，端口是25&lt;br /&gt;
        server.login(my_sender, my_pass)  # 括号中对应的是发件人邮箱账号、邮箱密码&lt;br /&gt;
        server.sendmail(my_sender,[my_user,],msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件&lt;br /&gt;
        server.quit()  # 关闭连接&lt;br /&gt;
    except Exception:  # 如果 try 中的语句没有执行，则会执行下面的 ret=False&lt;br /&gt;
        ret=False&lt;br /&gt;
    return ret&lt;br /&gt;
 &lt;br /&gt;
ret=mail()&lt;br /&gt;
if ret:&lt;br /&gt;
    print(&amp;quot;邮件发送成功&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;邮件发送失败&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Fromevan&lt;br /&gt;
17:23 (0分钟前)&lt;br /&gt;
&lt;br /&gt;
发送至 我 &lt;br /&gt;
126.com 填写邮件内容&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qq smtp ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
 &lt;br /&gt;
import smtplib&lt;br /&gt;
from email.mime.text import MIMEText&lt;br /&gt;
from email.utils import formataddr&lt;br /&gt;
 &lt;br /&gt;
my_sender=&amp;#039;5634979@qq.com&amp;#039;    # 发件人邮箱账号&lt;br /&gt;
my_pass = &amp;#039;vava&amp;#039;              # 发件人邮箱密码&lt;br /&gt;
my_user=&amp;#039;5634979@qq.com&amp;#039;      # 收件人邮箱账号，我这边发送给自己&lt;br /&gt;
def mail():&lt;br /&gt;
    ret=True&lt;br /&gt;
    try:&lt;br /&gt;
        msg=MIMEText(&amp;#039;363636填写邮件内容&amp;#039;,&amp;#039;plain&amp;#039;,&amp;#039;utf-8&amp;#039;)&lt;br /&gt;
        msg[&amp;#039;From&amp;#039;]=formataddr([&amp;quot;FromRunoob&amp;quot;,my_sender])  # 括号里的对应发件人邮箱昵称、发件人邮箱账号&lt;br /&gt;
        msg[&amp;#039;To&amp;#039;]=formataddr([&amp;quot;FK&amp;quot;,my_user])              # 括号里的对应收件人邮箱昵称、收件人邮箱账号&lt;br /&gt;
        msg[&amp;#039;Subject&amp;#039;]=&amp;quot;evan教程发送邮件测试&amp;quot;                # 邮件的主题，也可以说是标题&lt;br /&gt;
 &lt;br /&gt;
        server=smtplib.SMTP_SSL(&amp;quot;smtp.qq.com&amp;quot;, 465)  # 发件人邮箱中的SMTP服务器，端口是25&lt;br /&gt;
        server.login(my_sender, my_pass)  # 括号中对应的是发件人邮箱账号、邮箱密码&lt;br /&gt;
        server.sendmail(my_sender,[my_user,],msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件&lt;br /&gt;
        server.quit()  # 关闭连接&lt;br /&gt;
    except Exception:  # 如果 try 中的语句没有执行，则会执行下面的 ret=False&lt;br /&gt;
        ret=False&lt;br /&gt;
    return ret&lt;br /&gt;
 &lt;br /&gt;
ret=mail()&lt;br /&gt;
if ret:&lt;br /&gt;
    print(&amp;quot;邮件发送成功&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;邮件发送失败&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
evan教程发送邮件测试&lt;br /&gt;
&lt;br /&gt;
发件人：evan &amp;lt;563497988@qq.com&amp;gt;    	&lt;br /&gt;
时   间：2018年3月27日(星期二) 下午3:48	纯文本 | &lt;br /&gt;
收件人：&lt;br /&gt;
563497988 &amp;lt;563497988@qq.com&amp;gt;&lt;br /&gt;
363636填写邮件内容&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=参考=&lt;br /&gt;
&lt;br /&gt;
[http://www.runoob.com/python/python-email.html Python SMTP发送邮件]&lt;br /&gt;
&lt;br /&gt;
[https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386832745198026a685614e7462fb57dbf733cc9f3ad000  廖雪峰SMTP发送邮件]&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/abb2d6e91c1f Python发送邮件(最全)]&lt;br /&gt;
&lt;br /&gt;
https://docs.python.org/2/library/email-examples.html&lt;br /&gt;
&lt;br /&gt;
https://docs.python.org/3.5/library/email-examples.html&lt;br /&gt;
&lt;br /&gt;
[[category:python]]&lt;/div&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
</feed>