欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

linux下使用自带mail发送邮件(超简单) 有大用 有大大用 有大大大用

linux 发邮件最简单的办法

最近想通过linux监控系统状况并自动报警,一般Linux发送报警邮件通过本地邮箱或外部邮箱服务器,这里用最简单的方法实现linux 使用外部邮箱即可实现发送邮件功能,你只需简单注册个国内的邮件服务商邮箱,如163,也可以使用公司邮箱,需要安装mailx工具,mailx是一个小型的邮件发送程序。

 

具体步骤如下:

1、安装

[root@001 ~]# yum install mailx

2、编辑配置文件

[root@001 ~]# vim /etc/mail.rc #最后添加如下内容

set from=xxxx@126.com

set smtp=smtp.126.com

set smtp-auth-user=xx@126.com

set smtp-auth-password=xxx

set smtp-auth=login

---说明

from:对方收到邮件时显示的发件人

smtp:指定第三方发邮件的smtp服务器地址

set smtp-auth-user:第三方发邮件的用户名

set smtp-auth-password:用户名对应的密码,有些邮箱填的是授权码

smtp-authSMTP的认证方式,默认是login,也可以改成CRAM-MD5PLAIN方式

3、测试

[root@001 ~]# mail -s "hesaucaq" 83xx@qq.com < /etc/passwd

[root@001 ~]# echo "测试邮件" | mail -s "测试83xx@qq.com

以上已经实现了发邮件功能!!!

 如遇:554 DT:SPM 发送的邮件内容包含了未被网易许可的信息,或违背了网易的反垃圾服务条款,可以自己邮箱发给自己!

 

1)  无邮件正文   (-s 表示 subject 标题,主题)

mail -s "主题"  收件地址

% mail -s "测试"  1968089885@foxmail.com

   

2) 有邮件正文

  •  mail -s "主题"  收件地址文件(邮件正文.txt)

% mail -s "邮件主题"  1968089885@foxmail.com < /data/findyou.txt

  •  echo "邮件正文" | mail -s 邮件主题  收件地址

% echo "邮件正文内容" | mail -s "邮件主题"  1968089885@foxmail.com

  •  cat 邮件正文.txt | mail -s 邮件主题  收件地址 

% cat  /data/findyou.txt | mail -s "邮件主题"  1968089885@foxmail.com

   

3)  带附件

  •  mail -s "主题"  收件地址  -a 附件 < 文件(邮件正文.txt) 

% mail -s "邮件主题"  1968089885@foxmail.com -a /data/findyou.tar.gz < /data/findyou.txt


来自 https://www.cnblogs.com/imweihao/p/7250500.html


一、mail命令

1.配置 

vim /etc/mail.rc

文件尾增加以下内容 

set from=1968089885@qq.com smtp="smtp.qq.com"
set smtp-auth-user="1968089885@qq.com" smtp-auth-password="123456"
set smtp-auth=login

说明:
from: 对方收到邮件时显示的发件人
smtp: 指定第三方发送邮件的smtp服务器地址
smtp-auth: SMTP的认证方式。默认是LOGIN,也可改为CRAM-MD5或PLAIN方式
smtp-auth-user: 第三方发邮件的用户名
smtp-auth-password: 用户名对应密码

2.Mail命令

% mail --h
mail: illegal option -- -
Usage: mail -eiIUdEFntBDNHRV~ -T FILE -u USER -h hops -r address -s SUBJECT -a FILE -q FILE -f FILE -A ACCOUNT -b USERS -c USERS -S OPTION users

注:部分系统参数稍有差异,最好看帮助

 

1)  无邮件正文
  •   mail -s "主题"  收件地址

% mail -s "测试"  1968089885@foxmail.com

 

2) 有邮件正文

  •  mail -s "主题"  收件地址< 文件(邮件正文.txt)

% mail -s "邮件主题"  1968089885@foxmail.com < /data/findyou.txt
  •  echo "邮件正文" | mail -s 邮件主题  收件地址

echo "邮件正文内容" | mail -s "邮件主题"  1968089885@foxmail.com
  •  cat 邮件正文.txt | mail -s 邮件主题  收件地址 

cat  /data/findyou.txt | mail -s "邮件主题"  1968089885@foxmail.com

 

3)  带附件
  •  mail -s "主题"  收件地址  -a 附件 < 文件(邮件正文.txt) 

% mail -s "邮件主题"  1968089885@foxmail.com -a /data/findyou.tar.gz < /data/findyou.txt

3.脚本

sendmail.sh

复制代码
#!/bin/bash
#author:findyou
help(){
   echo "eg: $0 [Subject] [address] [content_file] [file]"
   echo ""
   exit 1
}

if [ ! -n "$1" ] ; then
    help
fi

cDate=`date +%Y%m%d`

if [ ! -n "$2" ] ; then
    help
else
    mail_to=$2
    echo "      Send Mail to ${mail_to}"
fi

if [ ! -n "$4" ] ; then
    mail -s $1 ${mail_to}<$3
else
    mail -s $1 -a $4 ${mail_to}<$3
fi
复制代码

 

使用

[root@123]$ ./sendmail.sh  test  1968089885@qq.com  abc.txt
      Send Mail to 1968089885@qq.com
[root@123]$

 

说明:建议直接使用命令 ,有脚本只是为了在打印显示相关信息,多此一举。


来自 https://www.cnblogs.com/findyou/p/5760970.html


linux--mail设置smtp发送邮件


日期:20171104


邮件,或许在win中不怎么用到。(因为我们大多数用QQ、微信即时聊天,软件自动推送新闻) 
但在linux中,如果经常逛论坛(外国),或者源码官网,都会发现有“订阅邮件列表”的功能。 
(邮件列表是什么?我也不太了解,应该相当于订阅新闻之类的东东。我订阅过一个网站,然后每次一有新消息,就会发来我邮箱)

不管邮件列表是什么,在linux中,想通信,发邮件是个好方法


send配置复杂,选用smtp

昨天发现了一个好东东,mail,用来收发邮件的。 
然后注意到自己用了那么久的linux,还没发过邮件,就想要试试。毕竟,为了记录别人hack你,好用而且安全方法有, 
1、把日志信息打印出来 
2、发送到你的邮箱 
第1种方法就算了,毕竟不是人人的都有打印机,再说那很浪费纸张。选用第2种比较好。

但是第一次尝试mail失败后,发现mail只是一个外壳,需要其他程序的支持,sendmail就是常用的一个,当然还有其他类似sendmail程序。

百度sendmail,那配置不是一般的难,各种失败后,我就放弃折腾了(以后再说。。。)

那有没有其他简单方法呢? 
有,那就是使用smtp,Simple Mail Transfer Protocol,简单邮件传输协议。


简单的配置mail

/etc/mail.rc后面加上,(这文档需要root权限)

...

set from=ipenx@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=ipenx@qq.com
set smtp-auth-password=jdxeqwaxbxiosoqp ##<--这里填的是邮箱授权码
set smtp-auth=login
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

解释, 
1、from,是你的邮箱,发送邮件的源邮箱 
2、smtp,是提供smtp服务的服务商地址。通常为smtp.(你的邮箱服务商,qq,163之类的).com,具体可以看看你用的邮箱。 
3、smtp-auth-user,使用的邮箱。???这和from有什么区别? 
4、smtp-auth-passwd,邮箱授权码。邮箱开启pop3/smtp的时候,一般会给你的。 
5、smtp-auth,选用的协议。网上多数是这么说的,但是觉得有点奇怪。

注:smtp-auth-password,是邮箱授权码,并非你邮箱登录密码。(网上好多教程都没说,害我一直以为是登录密码)


好了,可以测试一下,按网上说,做了以上配置就可以发邮件了。

$ echo Hello World | mail -s test 2625722733@qq.com
  • 1

不知道大家可不可以,反正我不可以,并提示,

mail: smtp-server: 530 Error: A secure connection is requiered(such as ssl)
  • 1

错误提示说,需要ssl之类的加密呢!


配置ssl加密

再在/etc/mail.rc后面添加

set smtp-use-starttls
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
  • 1

  • 2

  • 3

参数具体作用貌似是ssl相关的,有兴趣的朋友,自行找资料。


再来测试一下,

$ echo Hello World | mail -s test 2625722733@qq.com
  • 1

到这里,我就成功利用我“ipenx@qq.com”的邮箱发送邮件到另一个邮箱“2625722733@qq.com”。


邮箱开启smtp

如果遇到,503错误,

smtp-server: 535 Error
  • 1

那代表你的邮箱还没开启smpt服务。 
例如,QQ邮箱登录后,设置–>帐号–>pop3/smtp,开启,然后QQ邮箱还会给出授权码,就是上面配置时候填的smtp-auth-passwd。


以上的内容,都在以下文章中学到的

http://www.mamicode.com/info-detail-1766944.html



文章标签: linux
个人分类: Arch折腾记


来自  https://blog.csdn.net/ipenx/article/details/78441291

普通分类: