1. 程式人生 > >linux , python 傳送郵件,基本實現了mutt常用功能

linux , python 傳送郵件,基本實現了mutt常用功能

#! /usr/bin/python3

from email import encoders
from email.header import Header
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import os
import smtplib
import sys
import getopt
opts, args = getopt.getopt(sys.argv[1:], "hqa:s:t:c:")
file = ""
title = 'linux的通知'
content = ""
command = ''
debuglevel = 1
for op, value in opts:
    if op == "-a":
        file = value
    elif op == "-s":
        title = value
    elif op == "-t":
        content = value
    elif op == "-c":
        command = value
    elif op == "-q":
        debuglevel = 0
    elif op == "-h":
        print("-a :附件", 'q :靜音', 's :title', 'c 內容中的命令輸出', 't : 文字')
content = content + os.popen(command).read()

# 郵件物件:
msg = MIMEMultipart()
msg['From'] = ('【大王】')
msg['To'] = ('管理員')
msg['Subject'] = Header(title, 'utf-8').encode()

# 郵件正文是MIMEText:
msg.attach(MIMEText(content, 'plain', 'utf-8'))

# 新增附件就是加上一個MIMEBase,從本地讀取一個圖片:
if (os.path.isfile(file)):
    with open(file, 'rb') as f:
        # 設定附件的MIME和檔名,這裡是png型別:
        mime = MIMEBase(MIMEText, os.path.splitext(file)[1], filename=os.path.basename(file))
        # 加上必要的頭資訊:
        mime.add_header('Content-Disposition', 'attachment', filename=os.path.basename(file))
        mime.add_header('Content-ID', '<0>')
        mime.add_header('X-Attachment-Id', '0')
        # 把附件的內容讀進來:
        mime.set_payload(f.read())
        # 用Base64編碼:
        encoders.encode_base64(mime)
        # 新增到MIMEMultipart:
        msg.attach(mime)

if (title != 'linux的通知' or content != '' or file != ''):
    server = smtplib.SMTP('smtp.qq.com', 25)  # SMTP協議預設埠是25
    server.set_debuglevel(int(debuglevel))
    server.login('
[email protected]
', 'lin1120') server.sendmail('[email protected]', ['[email protected]'], msg.as_string()) server.quit()


自己用著很好,其實根本不用寫什麼shell指令碼。python指令碼完全可跑。有os.popen()等神器。以前學習過一個argparse模組,真是太年輕,上面那個模組又簡單有好用。哎~~~

相關推薦

linux , python 傳送郵件基本實現mutt常用功能

#! /usr/bin/python3 from email import encoders from email.header import Header from email.mime.base import MIMEBase from email.mime.mult

python傳送郵件含有正文附件正文中含有圖片(圖片直接在郵件內容中顯示)

#!/usr/bin/python #coding:utf-8  import smtplib import mimetypes from email.Header import Header  from email.mime.text import MIMEText fr

Python進階-----property用法(實現getsetdelete三種方法)

一、可以利用property對靜態屬性的進行修改操作,包括設定和刪除屬性   1、呼叫靜態屬性===>在靜態屬性函式前先用@property;   2、設定靜態屬性===>在靜態屬性函式前加上@靜態屬性函式名.setter,同時靜態屬性函式要加上value引數;   3、刪除靜態屬性===>

通過python傳送簡訊樹莓派實現報警系統!

    看到用python程式碼實現簡訊傳送的文章,感覺以後可以結合樹莓派進行監控報警資訊的傳送,所以就研究了一下,整個過程還是比較簡單的,註冊一個賬戶再寫幾行程式碼就可以了。 這裡用到的簡訊代理服務商是Twilio,國內也有不少這樣的服務商,比如阿里雲。

[Python]python3使用smtplib傳送郵件帶xlsx附件

#encoding=utf8 import smtplib from email.mime.multipart import MIMEMultipart from email.header import Header from email.mime.text import M

Python Flask傳送郵件Flask-Mail郵件擴充套件

安裝 Flask-Mail : pip install Flask-Mail   demo.py(傳送郵件): from flask import Flask from flask_mail import Mail, Message # 匯入

Python傳送郵件給室友使其電腦關機室友一臉茫然以為電腦中毒

Python 功能強大,簡單易學,很多人不知道如何學習,覺得學習很枯燥。其實趣味學習是最好的方法,比如,你經常忘記關閉辦公室的電腦,又不想半路返回單位,就可以用 Python 寫一個遠端操控的自動關機程式,試想一下,當你掏出手機進行幾步簡單的操作就可以實現對其他電腦的遠端控制,是不是很酷! &n

詞雲製作沒那麼難Python 10 行程式碼就實現

  寫在前面 想必大家有一個問題。什麼是詞雲呢? 詞雲又叫名字雲,是對文字資料中出現頻率較高的“關鍵詞”在視覺上的突出呈現,形成關鍵詞的渲染形成類似雲一樣的彩色圖片,從而一眼就可以領略文字資料的主要表達意思。、 網頁上有許多詞雲的效果圖:  

php+mysql模擬佇列傳送郵件能不能見網友就靠這封郵件

郵件傳送原理 telnet命令模擬郵件傳送:1、cmd命令下telnet連線上QQ的smtp伺服器telnet smtp.163.com 25遇到問題以及解決辦法: telnet命令錯誤 控制面板下windows功能 開啟telnet客戶端後重新執行即可成功2、和smtp伺服器打招呼helo Miss

Linux 傳送郵件抄送+附件多收件人

隨人Linux自帶了功能強大的sendmail伺服器,但是這樣傳送的郵件往往被視為垃圾郵件。以下程式碼可以登入你的郵箱傳送郵件,並且可以新增抄送人,新增附件,可以發給多個收件人。其中: 郵件的正文在/app/opt/oracle/mail.txt 中 ,/app/opt/or

以股票RSI指標為例學習Python傳送郵件功能(含RSI指標確定賣點策略)

    本人之前寫過若干“給程式設計師加財商”的系列文,目的是通過股票案例講述Python知識點,讓大家在學習Python的同時還能掌握相關的股票知識,所謂一舉兩得。     在之前的系列文裡,大家能看到K線,均線,成交量的案例,在本文裡,大家

一下代碼實現所有的功能

return 表示 color ext truct emp data strcat .net #include <iostream> #include <cstdio> #include <fstream> #include <s

虛擬化的關鍵技術有哪些分別實現哪些功能

主機 針對 集中 pro 數據庫 存儲 智能 操作系統。 安全 虛擬化涉及的關鍵技術都有哪些,分別實現了什麽功能? 1、資源池自動化管理技術資源池管理技術主要實現對物理資源、虛擬資源的統一管理,根據用戶需求實現虛擬資源(虛擬機、虛擬存儲空間等)的自動化生成、分配、回收、遷移

python傳送郵件給多人

親測,163郵箱不能傳送,我用的qq的 import smtplib from email.mime.text import MIMEText sender = '[email protected]' passwd = '****' receiver = ["[email&#

python傳送郵件方法

python傳送郵件方法 1、普通文字郵件 #!/usr/bin/env python# -*- coding:utf-8 -*-import smtplibfrom email.mime.text import MIMETextmail_user="[email protected]" #傳送

python傳送郵件smtp

1.傳送QQ郵件 qq發件伺服器:smtp.qq.com 發件伺服器埠:465 發件郵箱:[email protected] 授權碼:*** qq郵箱是需要SSL認證的,連線伺服器需要認證 1.1 MIMEText只能傳送正文,不能帶附件傳送 1.2

Oracle 儲存過程中傳送郵件並支援使用者驗證 中文標題和內容

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

python 傳送郵件(文字、表格、附件)

import pandas as pd import smtplib   from email.mime.text import MIMEText   from email.mime.multipart import MIMEMultipart filena

python傳送郵件模板

python傳送郵件(不帶附件)模板 import smtplibfrom email.mime.text import MIMETextfrom email.header import Headersender = '[email protected]'receiver = '[email

Python傳送郵件不需要發件人密碼認證

#!/usr/bin/python # coding: UTF-8 import smtplib from email.mime.text import MIMEText receivers_list=["[email protected]",] #mail_h