python自動發郵件庫yagmail的範例程式碼,pythonyagmail

來源:互聯網
上載者:User

python自動發郵件庫yagmail的範例程式碼,pythonyagmail

之前使用的python的smtplib、email模組發模組的一步步驟是:

一、先匯入smtplib模組  匯入MIMEText庫用來做純文字的郵件模板
二、發郵件幾個相關的參數,每個郵箱的發件伺服器不一樣,以126為例子百度搜尋伺服器是  smtp.126.com
三、寫郵件主題和本文,這裡的本文是HTML格式的
四、最後調用SMTP發件服務

一般發郵件方法

我以前在通過Python實現自動化郵件功能的時候是這樣的:

import smtplibfrom email.mime.text import MIMETextfrom email.header import Header# 發送郵箱伺服器smtpserver = 'smtp.sina.com'# 發送信箱使用者/密碼user = 'username@sina.com'password = '123456'# 發送郵箱sender = 'username@sina.com'# 接收郵箱receiver = 'receive@126.com'# 發送郵件主題subject = 'Python email test'# 編寫HTML類型的郵件內文msg = MIMEText('<html><h1>你好!</h1></html>','html','utf-8')msg['Subject'] = Header(subject, 'utf-8')# 串連發送郵件smtp = smtplib.SMTP()smtp.connect(smtpserver)smtp.login(user, password)smtp.sendmail(sender, receiver, msg.as_string())smtp.quit()

其實,這段代碼也並不複雜,只要你理解使用過郵箱發送郵件,那麼以下問題是你必須要考慮的:

  1. 你登入的郵箱帳號/密碼
  2. 對方的郵箱帳號
  3. 郵件內容(標題,本文,附件)
  4. 郵箱伺服器(SMTP.xxx.com/pop3.xxx.com)

yagmail 實現發郵件

yagmail 可以更簡單的來實現自動發郵件功能。

github項目地址: https://github.com/kootenpv/yagmail

安裝

pip install yagmail

簡單例子

import yagmail#連結郵箱伺服器yag = yagmail.SMTP( user="user@126.com", password="1234", host='smtp.126.com')# 郵箱本文contents = ['This is the body, and here is just text http://somedomain/image.png',      'You can find an audio file attached.', '/local/path/song.mp3']# 發送郵件yag.send('taaa@126.com', 'subject', contents)

總共四行代碼搞定,是不是比上面的例子簡單太多了。

給多個使用者發送郵件

# 發送郵件yag.send(['aa@126.com','bb@qq.com','cc@gmail.com'], 'subject', contents)

只需要將接收郵箱 變成一個list即可。

發送帶附件的郵件

# 發送郵件yag.send('aaaa@126.com', '發送附件', contents, ["d://log.txt","d://baidu_img.jpg"])

只需要添加要發送的附件列表即可。

我都快感動哭了,到哪兒去找這麼良心庫去?簡單的有點不像程式設計語言!

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援幫客之家。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.