# 使用Linux發送電子郵件 * 這是一篇個人筆記 ## 在Linux下 使用 mailutils 中的 mail 指令將msmtp作為mailutils中的sendmail發送gmail * 這裡將msmtp作為MTA,更精確的說是MSA(只發信,不收信),可以用來替代的MTA,對於沒有自己的郵件伺服器來說很有用,因為可以用google 的 gmail帳號來發信 2024/08/29 紀錄 指令的紀錄,按照該步驟可正確執行 ``` 執行時的系統為:Ubuntu 22.04 LTS 命令版本為: msmtp 1.8.16 mail (GNU Mailutils) 3.14 ``` * step_1:下載 msmtp 與 msmtp-mta ``` sudo apt-get install msmtp msmtp-mta ``` * step_2: 編輯檔案 ``` nano ~/.msmtprc ``` * step_3: 對檔案 ~/.msmtprc 寫入以下內容,並將其中的「your_email@gmail.com」替換為自己的gmail,「your_password」替換為gmail對應的「應用程式密碼」(應用程式密碼不是gmail密碼,要額外去原本的google帳號中生成密碼並取得) ``` # Gmail account account gmail auth on host smtp.gmail.com port 587 from your_email@gmail.com user your_email@gmail.com password your_password tls on tls_starttls on tls_trust_file /etc/ssl/certs/ca-certificates.crt # Set default account to use account default : gmail ``` * step_4:設定「~/.msmtprc」存取權限 ``` chmod 600 ~/.msmtprc ``` * step_5: 測試電子郵件發送(將其中的「your_email@gmail.com」替換為想發送到的電子郵件) -> 可以看到msmtp指令也可以直接用來發送電子郵件 ``` echo "這是測試郵件內容" | msmtp -a gmail your_email@gmail.com ``` * step_6: 下載 mail ``` sudo apt-get install mailutils ``` * step_7: 可以透過mail發送文本中的訊息(其中「郵件主題」替換成想填寫的郵件主旨,「recipient_email@gmail.com」替換成想發送到的電子郵件,「message.txt」替換成存有想發送內容的文本檔案) ``` mail -s "郵件主題" recipient_email@gmail.com < message.txt ``` --- 其他 * msmtp 中文man-page(ubuntu 22.04) https://manpages.ubuntu.com/manpages/jammy/zh_TW/man1/msmtp.1.html
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up