当需要服务器定时发送邮件到自己邮箱时,一个邮件服务就很重要了,以下主要是mailx的实现,主要是利用
1.安装mailx
1
|
yum
install
mailx -y
|
2.使用到的配置文件只有一个,是/etc/mail.rc,通过修改配置文件/etc/mail.rc可以使用外部SMTP服务器,轻松实现linux发邮件功能。
1
2
3
4
|
set
[email protected] qq邮箱或者其他邮箱
set
smtp=smtp.qq.com smtp地址
set
smtp-auth-password=nibpgbkksmlbbabe 注意:目前大部分的外部邮件服务使用第三方客户端时,都需要使用授权码,上面的smtp-auth-password使用的就是授权码,而不是邮件帐号的密码。具体操作在最后有附图
|
到目前为止,如果不是云主机的话,已经可以实现发送邮件了。若是云主机,则需要下面的操作
一、配置mailx使用SMTP发送邮件:
1、安装mailx;这里直接使用yum install mailx -y 进行安装即可;
2、在/etc/mail.rc配置文件中,在最后面输入以下内容:
1
2
3
4
5
|
set
smtp=smtp.126.com
set
smtp-auth-user=xxx
set
smtp-auth-password=邮箱密码
set
smtp-auth=login
|
配置都很简单,这里就不多说了,有两点需要注意的:
1、邮箱需要开启SMTP功能,每个邮箱的开启方法都大同小异;
2、现在大部分邮箱使用SMTP会让你启动一个授权码来代替邮箱密码
具体各个邮箱开启授权码的方式可以直接百度;
测试是否发送成功:
mailx -s "邮箱测试" [email protected] < message_file 测试邮件一旦成功,收件箱会马上收到邮件,如果没有收到,则等一会可以看到shell界面的错误提示; 上面配置的是简单的使用25端口的SMTP发送邮件的功能,一般情况下我们使用这个就足够了,这个办法 在网上也很多配置说明,这里就不再浪费时间了,下面我们讲重点,使用TSL发送邮件; 前面说了,阿里云把25端口封了,去申请解封也比较麻烦,于是就想到了用TSL方式,绕过25端口发送邮件; TSL也就是使用SSL加密的方式,使用465或者其他端口来发送邮件,现在大部分邮箱都支持SSL,具体SSL的端口 地址,也可以查百度,这里是以126邮箱为准,126邮箱使用的是465或者994端口; 下面是详细的配置过程: 1、软件要求:openssl、mailx 12.0以上; 2、既然使用的是SSL协议,那当然是要有证书的了,下面是获取证书的操作;
1
2
3
4
|
mkdir
-p
/root/
.certs/
echo
-n | openssl s_client -connect smtp.126.com:465 |
sed
-
ne
'/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'
> ~/.certs
/qq
.crt
certutil -A -n
"GeoTrust Global CA"
-t
"C,,"
-d ~/.certs -i ~/.certs
/qq
.crt
certutil -L -d
/root/
.certs<br><br>若需要qq的ssl 只需把第二条命令中的smtp.xxx.com:465 给替换了就行
|
按照上面操作,只要不报错,就是正常的,我们会在/root/.certs下面看到几个证书文件,说明操作成功了;至于为什么
要这么做,不要问我,我也是COPY大神的办法;有兴趣的可以参考最后大神的文章链接;
3、证书配置好了,下面我们就要来配置mail.rc配置文件了,和最开始的不同,这里我们就需要配置和TSL相关的东西了
1
2
3
4
5
6
7
|
set
smtp=smtps:
//smtp
.126.com:465
set
smtp-auth-password=你的授权码
set
smtp-auth=login
set
ssl-verify=ignore
set
nss-config-
dir
=
/root/
.certs
|
其实就多了几个配置stmp前面加了stmps://指定协议类型,后面加上端口号;
启动ssl协议 ,下面指定ssl证书所在目录,就这样。
配置OK了之后,测试发送邮件;
测试能收到邮件就OK,说明发送没问题,至于具体会出现什么报错,可以根据报错的内容进行谷歌;
我这里在发送邮件的时候会提示一个证书不信任的问题,因为不影响正常发送邮件,所以选择忽略;
证书不信任的问题,需要进入存放证书的目录,执行
1
|
cd
/root/
.certs
|
1
|
certutil -A -n
"GeoTrust SSL CA - G3"
-t
"Pu,Pu,Pu"
-d ./ -i qq.crt
|
1
2
|
最后显示
Notice: Trust flag u is
set
automatically
if
the private key is present.<em
id
=
"__mceDel"
> <
/em
>
|
后面云主机实现方法 转载自笛声
使用三种方式发送邮件
- 命令行:
mail -s "theme" addressee
,回车后输入内容按Ctrl+D
发送邮件. - 管道符:
echo "mail main content" | mail -s "theme" addressee
- 文件内容作为邮件内容:
mail -s "theme" addressee < /tmp/t.txt
thme是邮件标题,addressee收件人地址
qq邮箱开启smtp
163邮箱
https://www.cnblogs.com/liutao97/p/8387244.html
当需要服务器定时发送邮件到自己邮箱时,一个邮件服务就很重要了,以下主要是mailx的实现,主要是利用
1.安装mailx
1
|
yum
install
mailx -y
|
2.使用到的配置文件只有一个,是/etc/mail.rc,通过修改配置文件/etc/mail.rc可以使用外部SMTP服务器,轻松实现linux发邮件功能。
1
2
3
4
|
set
[email protected] qq邮箱或者其他邮箱
set
smtp=smtp.qq.com smtp地址
set
smtp-auth-password=nibpgbkksmlbbabe 注意:目前大部分的外部邮件服务使用第三方客户端时,都需要使用授权码,上面的smtp-auth-password使用的就是授权码,而不是邮件帐号的密码。具体操作在最后有附图
|
到目前为止,如果不是云主机的话,已经可以实现发送邮件了。若是云主机,则需要下面的操作
一、配置mailx使用SMTP发送邮件:
1、安装mailx;这里直接使用yum install mailx -y 进行安装即可;
2、在/etc/mail.rc配置文件中,在最后面输入以下内容:
1
2
3
4
5
|
set
smtp=smtp.126.com
set
smtp-auth-user=xxx
set
smtp-auth-password=邮箱密码
set
smtp-auth=login
|
配置都很简单,这里就不多说了,有两点需要注意的:
1、邮箱需要开启SMTP功能,每个邮箱的开启方法都大同小异;
2、现在大部分邮箱使用SMTP会让你启动一个授权码来代替邮箱密码
具体各个邮箱开启授权码的方式可以直接百度;
测试是否发送成功:
mailx -s "邮箱测试" [email protected] < message_file 测试邮件一旦成功,收件箱会马上收到邮件,如果没有收到,则等一会可以看到shell界面的错误提示; 上面配置的是简单的使用25端口的SMTP发送邮件的功能,一般情况下我们使用这个就足够了,这个办法 在网上也很多配置说明,这里就不再浪费时间了,下面我们讲重点,使用TSL发送邮件; 前面说了,阿里云把25端口封了,去申请解封也比较麻烦,于是就想到了用TSL方式,绕过25端口发送邮件; TSL也就是使用SSL加密的方式,使用465或者其他端口来发送邮件,现在大部分邮箱都支持SSL,具体SSL的端口 地址,也可以查百度,这里是以126邮箱为准,126邮箱使用的是465或者994端口; 下面是详细的配置过程: 1、软件要求:openssl、mailx 12.0以上; 2、既然使用的是SSL协议,那当然是要有证书的了,下面是获取证书的操作;
1
2
3
4
|
mkdir
-p
/root/
.certs/
echo
-n | openssl s_client -connect smtp.126.com:465 |
sed
-
ne
'/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'
> ~/.certs
/qq
.crt
certutil -A -n
"GeoTrust Global CA"
-t
"C,,"
-d ~/.certs -i ~/.certs
/qq
.crt
certutil -L -d
/root/
.certs<br><br>若需要qq的ssl 只需把第二条命令中的smtp.xxx.com:465 给替换了就行
|
按照上面操作,只要不报错,就是正常的,我们会在/root/.certs下面看到几个证书文件,说明操作成功了;至于为什么
要这么做,不要问我,我也是COPY大神的办法;有兴趣的可以参考最后大神的文章链接;
3、证书配置好了,下面我们就要来配置mail.rc配置文件了,和最开始的不同,这里我们就需要配置和TSL相关的东西了
1
2
3
4
5
6
7
|
set
smtp=smtps:
//smtp
.126.com:465
set
smtp-auth-password=你的授权码
set
smtp-auth=login
set
ssl-verify=ignore
set
nss-config-
dir
=
/root/
.certs
|
其实就多了几个配置stmp前面加了stmps://指定协议类型,后面加上端口号;
启动ssl协议 ,下面指定ssl证书所在目录,就这样。
配置OK了之后,测试发送邮件;
测试能收到邮件就OK,说明发送没问题,至于具体会出现什么报错,可以根据报错的内容进行谷歌;
我这里在发送邮件的时候会提示一个证书不信任的问题,因为不影响正常发送邮件,所以选择忽略;
证书不信任的问题,需要进入存放证书的目录,执行
1
|
cd
/root/
.certs
|
1
|
certutil -A -n
"GeoTrust SSL CA - G3"
-t
"Pu,Pu,Pu"
-d ./ -i qq.crt
|
1
2
|
最后显示
Notice: Trust flag u is
set
automatically
if
the private key is present.<em
id
=
"__mceDel"
> <
/em
>
|
后面云主机实现方法 转载自笛声
使用三种方式发送邮件
- 命令行:
mail -s "theme" addressee
,回车后输入内容按Ctrl+D
发送邮件. - 管道符:
echo "mail main content" | mail -s "theme" addressee
- 文件内容作为邮件内容:
mail -s "theme" addressee < /tmp/t.txt
thme是邮件标题,addressee收件人地址
qq邮箱开启smtp
163邮箱
https://www.cnblogs.com/liutao97/p/8387244.html