翼度科技»论坛 云主机 LINUX 查看内容

使用msmtp发送邮件

9

主题

9

帖子

27

积分

新手上路

Rank: 1

积分
27
最近需要在服务器上运行一些时间很长的命令,想让服务器自动通知我什么时候命令完成,通过命令结束后发送邮件给我来提醒。
安装 msmtp 和 mail
  1. # RedHat 系
  2. sudo dnf install msmtp mailx
  3. # Debian 系
  4. sudo apt install msmtp mailutils
复制代码
配置 msmtp

创建或编辑.msmtprc,内容示例如:
  1. # Set default values for all following accounts.
  2. defaults
  3. auth           on
  4. tls            on
  5. tls_trust_file /etc/ssl/certs/ca-certificates.crt
  6. logfile        ~/.msmtp.log
  7. # Gmail example
  8. account        gmail
  9. host           smtp.gmail.com
  10. port           587
  11. from           your_email@gmail.com
  12. user           your_email@gmail.com
  13. password       your_password
  14. # Set a default account
  15. account default : gmail
复制代码
其中host和port根据不同的邮箱而异,from和user为发送邮件使用的邮箱账号,password需要在邮箱设置中开启SMTP时创建的专用密码。
设置权限

设置.msmtprc文件的权限,使得只有所有者可以读取或写入:
  1. chmod 600 ~/.msmtprc
复制代码
测试邮件发送
  1. echo "This is the body of the email" | mail -s "This is the subject line" your_email@example.com
复制代码
echo的内容是邮件内容,-s后面的字符串为邮箱主题,最后一个参数是收件邮箱,如果用户密码等配置无误的话,登录收件邮箱应该可以看到邮件,找不到的话看看垃圾箱,这类邮件可能会自动放入垃圾箱。

来源:https://www.cnblogs.com/JasenChao/p/18015434
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具