技术标签: linux 速度发邮件
三种使用Linux命令发送邮件
发布时间:2020-06-01 09:18:17
来源:51CTO
阅读:1403
作者:59090939
使用mail命令
mail命令是mailutils(On Debian)或mailx(On RedHat)包中的一部分,我们可以使用他在命令行里面发送消息。
如果你的系统没有安装mail命令,可以使用下面的方式安装:
$ sudo apt-get install mailutils (On Debian)
# yum install mailx (On RedHat or CentOS)
现在我们来使用mail命令来发送带附件的邮件,如下:
echo "这里输入你邮件内容" | mail -s "邮件标题" -a file.txt [email protected]
在上面的命令中,-s 参数用于指定消息主题;-a 参数指定需要发送的附件路径,貌似这个不能发送多个附件,-v参数显示详细的发送过程。
当然,我们可以将邮件的内容存到一个文件中,比如下面我们把邮件的内容存储到message.txt文件中,然后发送:
mail -s "邮件标题" -a file.txt [email protected] < message.txt
这时候的message.txt是以文本内容在邮件中显示的,并不是以附件的形式。
我们在发送附件的时候出现下面的错误:
send-mail: fatal: xiao(40010): message file too big
从上面的错误信息可以看出,我们发送的附件太大了,我们可以通过以下两种方法来加大附件大小的限制:
第一种:
[[email protected] ~]$ postconf message_size_limit
message_size_limit = 51200000
echo "message_size_limit = 102400000" >> /etc/postfix/main.cf && service postfix reload
Reloading Postfix configuration...done.
第二种:
[[email protected] ~]$ postconf -e message_size_limit=302400000
[[email protected] ~]$ service postfix restart
Shutting down postfix: [ OK ]
Starting postfix: [ OK ]
[[email protected] ~]$ postconf message_size_limit
message_size_limit = 302400000
两种方法都可以设置
配置邮箱账户
Vi /etc/mail.rc 在文件的最后添加如下两段中的一段,国内IP的话一般第一段就可以,国外有些IP要用第二段,安全级别更高
set smtp="smtp.qq.com"
set smtp-auth-user="[email protected]"
set smtp-auth-password="ttvingav"
set smtp-auth=login
或者
set smtp="smtp.qq.com:587"
set smtp-auth-user="[email protected]"
set smtp-auth-password="ttvingavu"
set smtp-auth=login
set smtp-use-starttls
set nss-config-dir=/etc/openldap/certs
使用mutt命令
mutt是一个流行轻量级的电子邮件客户端命令,http://www.mutt.org/
我们同样可以使用它发送带附件的邮件,如果你的电脑没有安装这个命令,请使用下面命令安装:$ sudo apt-get install mutt
# yum install mutt
源码安装
wget ftp://ftp.mutt.org/pub/mutt/mutt-1.11.2.tar.gz
tar –zvxf mutt-1.11.2
cd mutt-1.11.2
./configure --prefix=/usr/local/mutt --enable-pop --enable-smtp --with-ssl --with-sasl
--enable-pop 启用pop
--enable-smtp 启用smtp
--with-ssl --with-sasl 在启用上述协议的情况下,必须使用更安全的加密
安装
make && make install
因为测试帐号是QQ邮件,qq邮件使用smtp协议的时候要求必须使用ssl安全连接,而在mutt里使用安全连接
又必须使用sasl加密,所以上述2个安全组件在编译安装的时候得加上。要不然发送邮件的时候会
出现“SMTP authentication requires SASL”或者另外一个跟ssl有关的错误
配置邮箱账户vi /etc/Muttrc 文件的未尾添加如下内容
set use_from=yes
set use_envelope_from=yes
set realname="59090939"
set from="[email protected]"
set smtp_pass="ttvingavu"
set smtp_url="smtps://[email protected]:465/"
国内用465端口,用587会报如下错误:
gnutls_handshake: 收到一个意外的 TLS 数据包。
无法发送此信件
现在我们可以使用mutt命令发送带附件的邮件了:
echo "这里输入你邮件内容" | mutt -s "邮件标题" -a file.txt [email protected]
从上面可以看出,mutt 的使用和 mail 命令很类似,更多关于它的使用参数可以直接 man mutt 查看。
使用msmtp
云方式安装
$ sudo apt-get install msmtp
# yum install mstp
源码方式安装
https://marlam.de/msmtp/
wget https://marlam.de/msmtp/releases/msmtp-1.8.1.tar.xz
xz -d msmtp-1.8.1.tar.xz
tar -xvf msmtp-1.8.1.tar
cd msmtp-1.8.1
yum -y install gnutls gnutls-devel gnutls-utils openssl openssl-devel libidn libidn-devel
如果不yum instll 那么后面可能会季报如下错:
msmtp: support for TLS is not compiled in
./configure --prefix=/usr/local/msmtp --sysconfdir=/usr/local/msmtp/etc --with-ssl=openssl && sudo make && sudo make install
在用户的主目录中创建或编辑msmtp配置文件。我使用VI编辑器来实现这一目标
vi /etc/msmtprc
account gmail
tls on
auth on
host smtp.gmail.com
port 587
user [email protected]
from [email protected]
password ******
或
account qqmail
tls on
auth on
tls_starttls off
tls_trust_file /etc/ssl/certs/ca-bundle.crt
host smtp.qq.com
port 465
user [email protected]
from [email protected]
password ttvingav
由于该文件包含密码等敏感数据,因此您应分配安全权限
chmod 600 /etc/msmtprc
测试发送邮件,如果不出意外的,应该可以正常发出邮件。
echo "hello" |msmtp -a qqmail -C /usr/local/msmtp/etc/msmtprc [email protected]
例题13://13.编写一程序,将两个字符串连接起来,结果取代第一个字符串(mark下来加深印象),加油加油加油!(1)自己编写一个strcat函数int main(){ int strcat(char a[100],char b[100]); char a[100]={0}, b[100]={0}; //初始化字符数组; int i=0,j=0; cout<<"请输入两个字符串:"; cin>>a>>b;
potplayer直播源制作
Python配置Qt Designer与PyUIC安装pyqt相关包pip install pyqtpip install pyqt5-toolsPyCharm中选择相应的python解释器3. 添加外部工具名称填写自己方便易记得即可,我的名称添加为QTDesigner程序选择designer.exe,位置为当前解释器路径下的Lib\site-packages\pyqt5-tools\designer.exe工作目录为当前项目文件的目录添加选择完毕界面为:确定即可,再次
原文链接:https://www.liaoxuefeng.com/wiki/1022910821149312/1103303693824096WebSocket是HTML5新增的协议,它的目的是在浏览器和服务器之间建立一个不受限的双向通信的通道,比如说,服务器可以在任意时刻发送消息给浏览器。为什么传统的HTTP协议不能做到WebSocket实现的功能?这是因为HTTP协议是一个请求-响应协议,...
女朋友鄙视我原创少...1.下载 进入官方论坛:http://www.fineui.com/bbs/要用到下载源代码和空项目下载http://fineui.codeplex.com/http://fineui.com/bbs/forum.php?mod=viewthread&tid=2123源代码直接下载,注意FineUI版本空项目里下载 对应版本的空项
NSStringDrawingTruncatesLastVisibleLine:如果文本内容超出指定的矩形限制,文本将被截去并在最后一个字符后加上省略号。如果没有指定NSStringDrawingUsesLineFragmentOrigin选项,则该选项被忽略。NSStringDrawingUsesLineFragmentOrigin:绘制文本时使用 line fragement or
在Android的Wifi体系中,WifiMonitor承担着分发来自wpa_supplicant底层事件的任务。当上层下达Wifi的扫描、连接等指令后, 底层驱动以及wpa_s进行实际的扫描、连接操作,操作完成后会向上层反馈一个event,通知framework扫描是否结束、连接是否成功。 ...
awk 命令使用详解
1.I love three things in this world. Sun, moon and you. Sun for morning, moon for night , and you forever. 予独爱世间三物。昼之日,夜之月,汝之永恒。 2.Life has taught us that love does not consist in g
0 前言 HTML5做跨平台的APP,在大多数人的脑子里没有什么好感,我身边的朋友也这么说。Anyway,我用完以后得出这样的结论:HTML5跨平台APP开发,在2015年以后会越来越火。 在2014年以前,HTML5的性能和能力都不够充足。特别是性能,因为Android4.4以下版本不能支持webGL技术,所以大部分低端Android手机无法流畅运行手机APP。D
http://www.ename.cn/
Chromium以多进程架构著称,它主要包含四类进程,分别是Browser进程、Render进程、GPU进程和Plugin进程。之所以要将Render进程、GPU进程和Plugin进程独立出来,是为了解决它们的不稳定性问题。也就是说,Render进程、GPU进程和Plugin进程由于不稳定而引发的Crash不会导致整个浏览器崩溃。本文就对Chromium的多进程架构进行简要介绍,以及制定学习计划。