详解Linux系统邮件发送功能

 邮箱网  0条评论  5537次浏览  2020年03月30日 星期一 11:15

分享到: 更多
中国邮箱网讯 3月30日消息 本文介绍Linux系统邮件发送功能。

安装组件

yum install perl-Net-SSLeay perl-IO-Socket-SSL -y

下载安装包

cd /opt
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz

解压

tar zxf sendEmail-v1.56.tar.gz

进入解压目录

cd /opt/sendEmail-v1.56/

不喜欢命令中出现大写字母,此处修改仅因个人喜好

mv sendEmail sendemail

给执行权限

chmod +x sendemail

设置环境变量

echo 'export PATH=/opt/sendEmail-v1.56:$PATH' >> /etc/profile
source /etc/profile

验证版本

sendemail

命令参数

-f from@163.com 发件人邮箱地址
-xu from@163.com 发件人邮箱登录用户名
-s smtp.163.com 发件人邮箱的smtp服务器地址
-xp 'passwd' 发件人邮箱登录密码
-t to@qq.com 收件人邮箱地址
-u 'test' 邮件标题
-m 'test' 邮件内容
-o message-content-type=text 邮件内容格式为text
-o message-content-type=html 邮件内容格式为html
-o message-charset=utf8 邮件内容编码为utf8
-o tls=no 不使用tls加密
-a "/tmp/t.zip" 文件附件
-o password=PASSWORD设置邮件密码
-o message-file=FILE 信息文件

信息主体设置

注意如果想发送html格式的文件,需要在文本头部添加<html>作为标识,并且

-o message-content-type=html配置内容类型

方式1

-m "This is the message body"

方式2

-o message-file=/root/message.txt

方式3

grep "ERROR" /var/log/messages | sendEmail -t you@domain.com

编写脚本

发送纯文本,注意标题和内容要写有意义的内容,防止邮箱系统认为是垃圾邮件,导致发送邮件失败

#!/bin/bash
EMAIL_RECIVER="接收邮箱@qq.com"
EMAIL_SENDER="发送邮箱@163.com"
EMAIL_USERNAME="用户名称@163.com"
EMAIL_PASSWORD=授权码
FILE1_PATH="/root/tom.jpg"
EMAIL_SMTPHOST=smtp.163.com
EMAIL_TITLE="网易邮箱发来邮件"
EMAIL_CONTENT="你好!腾讯邮箱"
sendemail -f ${EMAIL_SENDER} -t ${EMAIL_RECIVER} -s ${EMAIL_SMTPHOST} -u ${EMAIL_TITLE} -xu ${EMAIL_USERNAME} -xp ${EMAIL_PASSWORD} -m ${EMAIL_CONTENT} -a ${FILE1_PATH} -o message-charset=utf-8 -o tls=no

执行脚本 sh test

sh test.sh

发送带html表格的邮件

邮件使用table+css布局,div+css被限制的太严重了

样式一定要写成内嵌的,邮件不支持在head标签中写style,也不支持外联(这个没办法啊)

不能用浮动的方式定位,float,position都不能用

少用img,但是一定要写好alt和title,很多邮箱客户端默认不显示图片

javascript就别想了,跑不起来


#!/bin/bash
EMAIL_RECIVER="接收邮箱@qq.com"
EMAIL_SENDER="发送邮箱@163.com"
EMAIL_USERNAME="用户名称@163.com"
EMAIL_PASSWORD=授权码
FILE1_PATH="/root/jury.jpg"
FILE2_PATH="https://dss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/logo_white-c4d7df0a00.png"
FILE3_PATH="/root/素还真.jpg"
EMAIL_SMTPHOST=smtp.163.com
EMAIL_TITLE="发送的html文件"
set_info(){
>/root/mail.html
echo "<table border=1 border=1 cellspacing='0' cellpadding='0' ><tr><td>" >> /root/mail.html
echo "<p style='font-size:18px;'><span style='color:#f00'>青,取之于蓝,而青于蓝;冰,水为之,而寒于水。</span>木直中绳,輮以为轮,其曲中规。虽有槁暴,不复挺者,輮使之然也。故木受绳则直,金就砺则利,君子博学而日参省乎己,则知明而行无过矣。</p></td>" >> /root/mail.html
#echo "<img src='https://dss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/logo_white-c4d7df0a00.png' alt='百度图片' title='百度图片'>" >> /root/mail.html
echo "<td><img src='https://mat1.gtimg.com/pingjs/ext2020/qqindex2018/dist/img/qq_logo_2x.png' alt='腾讯图片' title='腾讯图片'></td></tr>" >> /root/mail.html
https://dss3.baidu.com/-fo3dSag_xI4khGko9WTAnF6hhy/super/crop=0,76,1045,648/sign=2e88d572e424b899ca732378533631a2/38dbb6fd5266d0160f94615a9a2bd40735fa3536.jpg
echo "<tr><td><p>半神半圣亦半仙,全儒全道是全贤,脑中真书藏万卷,掌握文武半边天</p></td>" >> /root/mail.html
echo "<td><img style='max-width:100px' src='https://dss3.baidu.com/-fo3dSag_xI4khGko9WTAnF6hhy/super/crop=0,76,1045,648/sign=2e88d572e424b899ca732378533631a2/38dbb6fd5266d0160f94615a9a2bd40735fa3536.jpg' alt='素还真图片' title='素还真图片'></td></tr>" >> /root/mail.html
echo "</table>" >> /root/mail.html
}
set_info
EMAIL_CONTENT=$(cat /root/mail.html)
echo ${EMAIL_CONTENT}
sendemail -f ${EMAIL_SENDER} -t ${EMAIL_RECIVER} -s ${EMAIL_SMTPHOST} -u ${EMAIL_TITLE} -xu ${EMAIL_USERNAME} -xp ${EMAIL_PASSWORD} -m ${EMAIL_CONTENT} -a ${FILE1_PATH} ${FILE3_PATH} -o message-charset=utf-8 -o message-content-type=html -o tls=no

标签:邮件Linux发送功能

我的评论:

请  后发表评论。