Rumah pembangunan bahagian belakang Tutorial Python Python发送email的3种方法

Python发送email的3种方法

Jun 06, 2016 am 11:26 AM
email python hantar

python发送email还是比较简单的,可以通过登录邮件服务来发送,linux下也可以使用调用sendmail命令来发送,还可以使用本地或者是远程的smtp服务来发送邮件,不管是单个,群发,还是抄送都比较容易实现。
先把几个最简单的发送邮件方式记录下,像html邮件,附件等也是支持的,需要时查文档即可
1、登录邮件服务

代码如下:


#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
#python2.7x 
#send_simple_email_by_account.py  @2014-07-30 
#author: orangleliu 
 
'''''
使用python写邮件 simple
使用126 的邮箱服务
''' 
 
import smtplib 
from email.mime.text import MIMEText 
 
SMTPserver = 'smtp.126.com' 
sender = 'liuzhizhi123@126.com' 
password = "xxxx" 
 
message = 'I send a message by Python. 你好' 
msg = MIMEText(message) 
 
msg['Subject'] = 'Test Email by Python' 
msg['From'] = sender 
msg['To'] = destination 
 
mailserver = smtplib.SMTP(SMTPserver, 25) 
mailserver.login(sender, password) 
mailserver.sendmail(sender, [sender], msg.as_string()) 
mailserver.quit() 
print 'send email success' 

2、调用sendmail命令 (linux)

代码如下:


# -*- coding: utf-8 -*- 
#python2.7x 
#send_email_by_.py 
#author: orangleliu 
#date: 2014-08-15 
'''''
用的是sendmail命令的方式
 
这个时候邮件还不定可以发出来,hostname配置可能需要更改
''' 
 
from email.mime.text import MIMEText 
from subprocess import Popen, PIPE 
 
def get_sh_res(): 
    p = Popen(['/Application/2.0/nirvana/logs/log.sh'], stdout=PIPE) 
    return str(p.communicate()[0]) 
 
def mail_send(sender, recevier): 
    print "get email info..." 
    msg = MIMEText(get_sh_res()) 
    msg["From"] = sender 
    msg["To"] = recevier 
    msg["Subject"] = "Yestoday interface log results" 
    p = Popen(["/usr/sbin/sendmail", "-t"], stdin=PIPE) 
    res = p.communicate(msg.as_string()) 
    print 'mail sended ...' 
 
if __name__ == "__main__": 
    s = "957748332@qq.com" 
    r = "zhizhi.liu@chinacache.com" 
    mail_send(s, r) 


3、使用smtp服务来发送(本地或者是远程服务器)

代码如下:


#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
#python2.7x 
#send_email_by_smtp.py 
#author: orangleliu 
#date: 2014-08-15 
'''''
linux 下使用本地的smtp服务来发送邮件
前提要开启smtp服务,检查的方法
#ps -ef|grep sendmail
#telnet localhost 25
 
这个时候邮件还不定可以发出来,hostname配置可能需要更改
''' 
import smtplib 
from email.mime.text import MIMEText 
from subprocess import Popen, PIPE 
 
 
def get_sh_res(): 
    p = Popen(['/Application/2.0/nirvana/logs/log.sh'], stdout=PIPE) 
    return str(p.communicate()[0]) 
 
def mail_send(sender, recevier): 
    msg = MIMEText(get_sh_res()) 
    msg["From"] = sender 
    msg["To"] = recevier 
    msg["Subject"] = "Yestoday interface log results" 
    s = smtplib.SMTP('localhost') 
    s.sendmail(sender, [recevier], msg.as_string()) 
    s.quit() 
    print 'send mail finished...' 
 
if __name__ == "__main__": 
    s = "zhizhi.liu@chinacache.com" 
    r =  s 
    mail_send(s, r) 

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Muat turun DeepSeek Xiaomi Cara Muat turun DeepSeek Xiaomi Feb 19, 2025 pm 05:27 PM

Cara Muat turun DeepSeek Xiaomi

Apakah kelebihan dan kekurangan templat? Apakah kelebihan dan kekurangan templat? May 08, 2024 pm 03:51 PM

Apakah kelebihan dan kekurangan templat?

Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun Jul 01, 2024 am 07:22 AM

Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun

Dengan hanya $250, pengarah teknikal Hugging Face mengajar anda cara memperhalusi Llama 3 Dengan hanya $250, pengarah teknikal Hugging Face mengajar anda cara memperhalusi Llama 3 May 06, 2024 pm 03:52 PM

Dengan hanya $250, pengarah teknikal Hugging Face mengajar anda cara memperhalusi Llama 3

Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET May 06, 2024 pm 04:43 PM

Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET

Panduan lengkap untuk penyahpepijatan dan analisis fungsi golang Panduan lengkap untuk penyahpepijatan dan analisis fungsi golang May 06, 2024 pm 02:00 PM

Panduan lengkap untuk penyahpepijatan dan analisis fungsi golang

Bagaimana anda bertanya kepadanya Deepseek Bagaimana anda bertanya kepadanya Deepseek Feb 19, 2025 pm 04:42 PM

Bagaimana anda bertanya kepadanya Deepseek

Bagaimana untuk menyimpan fungsi menilai Bagaimana untuk menyimpan fungsi menilai May 07, 2024 am 01:09 AM

Bagaimana untuk menyimpan fungsi menilai

See all articles