Linux ubuntu发送邮件

一、安装

apt install sendemail

二、获取邮件授权码

        我这里是用的QQ,在QQ邮箱中,点击设置,开启SMTP服务,拿到授权码:

 三、编辑脚本

vim sendemail.sh

#!/bin/bash
account='【你的QQ】@qq.com'
password='【授权码】'
to=$1
subject=$2
content=$3
sendemail -f $account -t $to -s smtp.qq.com:465 -u $subject  -xu $account -xp $password -m $content

说明:

-f 表示发送者的邮箱
-t 表示接收者的邮箱
-cc 表示抄送发给谁
-bcc 表示暗抄送给谁
-o message-content-type=html   邮件内容的格式,html表示它是html格式
-o message-charset=utf8        邮件内容编码
-s 表示SMTP服务器的域名或者ip
-u 表示邮件的主题
-xu 表示SMTP验证的用户名
-xp 表示SMTP验证的密码(注意,这个密码貌似有限制,例如我用d!5neyland就不能被正确识别)
-m 邮件的内容
-a 要发送的附件

四、执行命令

./sendemail.sh 【你的QQ】@qq.com 邮件主题 邮件内容

五、查看结果

        出现如下打印,可以查看邮件是否收到消息

        那怎么添加附件呢,对于这个指令来说  -a就是增加附件,首先我们在sh文件上增加-a,先用file=$4,就是指的命令行的第四串数据,填入附件的地址/root/data/hzy/hzylog.txt。

 在命令行上运行这个脚本,后面附带四串信息,分别是接收方邮件地址、邮件主题、邮件内容、附件的地址。可以看到发送成功,如上图。

六、注意事项

        1.如果出现如下打印:bash: ./sendemail.sh: Permission denied,表明脚本没有权限运行,需要为此脚本增加权限:

chmod 777 sendemail.sh

        2.邮件主题和邮件内容,如果发现发送不完全,可以单独加上“”,比如“邮件主题” “邮件内容”,这样即使内容有空格也能全部发送出去。

        3.要想发送,ubuntu要能联网,这是前提条件。

        4.如果运行脚本后,发现命令行为空,感觉要我们输入信息的样子,这个时候很大概率是端口没开放,程序一直在等待,直到超时都无法发送,此时我们需要确认下端口是否打开,还不行的话换一个端口再试试。



第二种指令

1.安装:apt-get install heirloom-mailx

2.vim /etc/s-nail.rc  编辑

上面smtp没加上465端口的话,默认就是25端口

 3.发送指令:echo 'test2' | heirloom-mailx -s 'test2' 【你的QQ】@qq.com

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YY_Share

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值