heirloom-mailx
安装
- mail命令在Ubuntu下是需要安装的,使用下条命令进行安装:
- sudo apt-get install heirloom-mailx
-
配置
此时还不能发送外部服务器邮件,需要完成以下配置,修改/etc/nail.rc或者/etc/s-nail.rc(Ubuntu)、/etc/mail.rc(centOS)
- vi /etc/nail.rc或者/etc/s-nail.rc
- 此时如果打印没有权限则使用sudo命令
- 在nail.rc文件末尾添加一下两行代码:
- set from=邮箱地址 smtp=smtp.邮箱地址后缀 //如set from=123456@qq.com smtp=smtp.qq.com
set smtp-auth-user=邮箱地址 smtp-auth-password=”邮箱密码” smtp-auth=login
使用
按照以上步骤设置完毕之后即可使用mail命令发送邮件,发送邮件有以下三种方式:
- 方法一:交互形式发送邮件
- mail + 邮箱地址
- 填写主题
- 填写内容
- ctrl + d 结束输入
- cc代表抄送,回车完成发送
- 方法二:通道形式发送
- echo “邮件内容” | mail -s “主题” 邮箱地址
方法三:读取文件内容发送
如果发送失败,可能是使用的邮箱未开启第三方登陆权限
- 以QQ邮箱为例,在设置-账户页面开启SMTP服务,通过发送短信验证,得到授权码
- 在第二步配置中的邮箱登陆密码,改为该16位授权码
sendemail
安装
在ubuntu上安装sendemail。apt install sendemail
帮助
常用参数
sendEmail --help
sendEmail-1.56 by Brandon Zehm <caspian@dotconf.net>
Synopsis: sendEmail -f ADDRESS [options]
Required:
-f ADDRESS from (sender) email address
* At least one recipient required via -t, -cc, or -bcc
* Message body required via -m, STDIN, or -o message-file=FILE
Common:
-t ADDRESS [ADDR ...] to email address(es)
-u SUBJECT message subject
-m MESSAGE message body
-s SERVER[:PORT] smtp mail relay, default is localhost:25
-S [SENDMAIL_PATH] use local sendmail utility (default: /usr/bin/sendmail) instead of network MTA
Optional:
-a FILE [FILE ...] file attachment(s)
-cc ADDRESS [ADDR ...] cc email address(es)
-bcc ADDRESS [ADDR ...] bcc email address(es)
-xu USERNAME username for SMTP authentication
-xp PASSWORD password for SMTP authentication
smtp验证码
qq邮箱,在设置/账户页,查找到如下设置。点击开启pop3/smtp服务。这个过程需要用安保手机向服务方发送“配置邮件客户端”的短信。然后就可以看到授权码了
使用
注意:不要使用sendemail命令,这个是局域网内部发送使用的
应使用sendEmail
sendEmail -xu ******@qq.com -xp 授权码 -t *****@qq.com -u "标题" -m "正文" -s smtp.qq.com -f ******@qq.com
-f 是发送邮箱地址
-xu 是smtp邮箱用户名
-xp 是smtp的授权码
-u 是主题
-m 是邮件正文
-s 是smtp服务器域名