Djlion
September 6, 2024, 4:15am
1
Linux使用命令行发送邮件
想着十一快到了,再过几天估计得抢火车票了,得弄个定时任务(后面再写吧)提醒一下,想了一下,提醒的方法就用linux发邮件提醒吧,发到微信绑定的QQ邮箱上。
参考文档Send Email in Linux from Command Line
安装
# 对于Debian/Ubuntu
sudo apt-get install mailutils
# 对于CentOS/RHEL
sudo yum install mailx
配置
如果不需要通过外部邮件服务器发送邮件,可以不用修改任何配置
使用
发送邮件
# 不带附件的发送,mail和mailx的方法方式相同
echo "邮件内容" | mail -s "邮件主题" 收件人@example.com
# debian/Ubuntu上发送带附件的邮件,用-A参数
echo "邮件内容" | mail -s "邮件主题" -A /path/to/file 收件人@example.com
# centOS上发送带附件的邮件,用-a参数
echo "邮件内容" | mail -s "邮件主题" -a /path/to/file 收件人@example.com
更多参数可以man mail
看man
手册
注意
发送之后如果收不到提醒,可能是直接进了垃圾邮箱。手动添加到通讯录,再次发送即可。
其他说明
微信可以绑定QQ邮箱,就能第一时间收到邮箱提醒。
7 Likes
Djlion
September 6, 2024, 4:55am
5
对,提醒的话用手机最直接。如果有复杂的场景,可以考虑用脚本去实现,比如定期检测家里公网IP,如果变了,给自己发邮件
kevin95
(cond0r)
September 6, 2024, 6:09am
7
我在ubuntu上给自己另一个QQ发邮件但是从来没有收到过
Djlion
September 6, 2024, 6:43am
9
看看是不是在垃圾箱里,我昨天从centOS上发,今天从debian上发,也都没收到,echo $?的值为0,命令是成功了。今天早上进QQ邮箱看了一下,都在垃圾箱里
还有一款工具:swaks
Swaks is a versatile SMTP transaction tester that can be used for various purposes. It allows users to send test emails, authenticate with different methods, test antivirus and spam scanners, and use different protocols for email delivery. This...
swaks --to [email protected] --server test-server.example.net
2 Likes
evil
September 6, 2024, 11:49am
17
最好是添加个配置,不然发给其他mail太容易进垃圾箱了
# .mailrc
set smtp="smtp://smtp.xxx.com:587"
set smtp-auth=login
set [email protected]
set smtp-auth-password=xxxxxxx
set ssl-verify=ignore
set from="[email protected] "
kevin95
(cond0r)
September 6, 2024, 11:58am
18
我家配置试试,现在发送过去直接没有任何显示也没有收到