- RaspBerry Pi 3 Mode B+
- 作業系統:版本代號為 Buster (Version:June 2019 / Release date:2019-06-20 / Kernel version:4.19)
- 要有一個Google Gmail的帳號。
(這個郵件可能是:xxx.yy@gmail.com常見的Gmail格式,也可能是一個使用G suite的自有郵件域名的郵件格式:abc@xx.yy.zz。以下的程式碼測試使用G suite自有域名郵件OK,用abc@xx.yy.zz代表,以此帳號從樹莓派發信至Gmail) - 發信的Gmail帳號,須透過Google 帳號管理,將『低安全性應用程式的存取權限』設為啟用。
https://www.google.com/settings/security/lesssecureapps 或
https://myaccount.google.com/lesssecureapps - 在樹莓派上安裝ssmtp
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ssmtp
( sSMTP - Simple SMTP
sSMTP is a simple MTA to deliver mail from a computer to a mail hub (SMTP server). sSMTP is simple and lightweight, there are no daemons or anything hogging up CPU; Just sSMTP. Unlike Exim4, sSMTP does not receive mail, expand aliases, or manage a queue. https://wiki.debian.org/sSMTP ) - 編輯 /etc/ssmtp/ssmtp.conf
sudo leafpad /etc/ssmtp/ssmtp.conf
修改為如下設定:
# 接收系統郵件的 Email帳號(postmaster)
root=abc.xyz@gmail.com
# 使用 GMail 的 MTA 送信
mailhub=smtp.gmail.com:587
# 設定主機名稱,預設為raspberrypi
hostname=raspberrypi
# 發信的Gmail帳號與密碼
AuthUser=abc@xx.yy.zz
AuthPass=GmailPassword
# 啟用安全加密連線
UseSTARTTLS=YES
UseTLS=YES
# 輸出除錯資訊
Debug=YES - Python測試程式碼
import smtplib
zUser = 'abc@xx.yy.zz'
zPass = 'GmailPassword'
zTo = 'toAdd@gmail.com'
zFrom = zUser
zSubject = 'Test sendmail by Gmail + ssmtp using Python'
zHeader = 'To: ' + zTo + '\n' + 'From: ' + zFrom + '\n' + 'Subject: ' + zSubject
zBody = 'Body : Test sendmail by Gmail + ssmtp using Python'
oSmtp = smtplib.SMTP('smtp.gmail.com',587)
oSmtp.starttls()
oSmtp.ehlo()
oSmtp.login(zUser, zPass)
oSmtp.sendmail(zFrom, zTo, zHeader + '\n\n' + zBody)
oSmtp.quit()
- 確認toAdd@gmail.com已收到郵件,
確認已存放至abc@xx.yy.zz 的寄件備份
參考資料:
沒有留言:
張貼留言