Linux中用命令行方式发送邮件

关于用命令行的方式发送邮件,我刚开始的时候使用的是mail。由于使用它的配置太过于繁琐,目前还没有能力搞定。所以就找到了一个简单的方法 mutt  +msmtp 方式。 

首先,执行几条命令:

        sudo  apt-get  install  msmtp

      sudo  apt-get  install  mutt

      sudo  apt-get  install  mutt-patched


接着,我们需要创建两个文件

       

/etc/msmtprc

-----------------------------

defaults
account mailman
host smtp.archermind.com
port 25
from mailman@archermind.com
auth login
user mailman
password ArcherMai209#man
tls off
account default : mailman
logfile /var/log/msmtp.log
------------------------------

 

 

/etc/muttrc

------------------------------

set sendmail="/usr/bin/msmtp"
set use_from=yes
set realname="yourname"
set from="yourname@archermind.com"
set editor="vim"

-----------------------------

 按照上面的方法配置好以后,就可在使用命令来发送邮件了。

格式:

         mutt   -s   "邮件名"   收件人的地址   <   邮件内容的文件

         echo   "内容"   |   mutt   -s   "邮件名"  收件人地址

如果需要发送带有附件的邮件 ,需要加选项[ -a ]。若有多个附件就需要写多个 [ -a ]

eg:

       mutt   -s   "test" jianing.shi@archermind.com    -a    附件   <   email 正文

      echo   "email 正文"   |   mutt   -s   "test"   jianing.shi@archermind.com   -a    附件

        

 
因工作需要在Linux环境中用C++编写个发送邮件的程序,着实费了点周折,最终得以满意解决,现将历程与成果与大家分享! 一、刚开始网上一通逛搜,发现Linux环境下,发邮件使用较多的方法是libesmtp包,网上也有示例,按照相关章的指引,很容易就实现的邮件发送,但问题是不知道如何实现SSL。 二、发现libesmtp文件中有个smtp_starttls_set_ctx接口,似乎是可以解决ssl问题的,逛搜libesmtp解决SSL发送邮件的解决办法,几乎无任何信息,后来下载了个libesmtp的源代码包libesmtp-1.0.6.tar.bz2,内含examples示例目录,可以直接编译成功,但似乎是只支持tls邮件发送,而不支持ssl邮件发送,百思不得其解。 三、接着寻找别的解决办法,在优快云搜到一个csmtp说可以解决SSL邮件发送问题的资源,但下载需要50积分,说心里话能解决问题50积分也是值得的,但没有呀,提供资源者还比较仁义,告知资来源于https://www.codeproject.com,于是乎在codeproject找到了csmtp的资源,有两个版本,v2.4版本包CSmtp_v2_4_ssl.zip,v1.8版本分为window(CSmtp_v1_8a.zip)和linux(CSmtp_v1_8b.zip)两个包。 四、为了能省点精力,就直接用版较低的linux版吧,解压后发现有makefile文件,可直接编译通过,一般的邮件发送成功,但可惜的是v1.8版本也不支持ssl协议。 五、其实从包的名字上就能看出来v2.4版本开始支持 ssl协议,但v2.4并不分windows版本和linux版本,是否能支持linux呢,查看源代码发现有对linux的支持,只是包内没有makefile文件,似乎没有在linux目录下编译过,于是编写了个makefile文件尝试编译,竞然编通过,而且发送文件成功,经过测试可以支持ssl邮件发送,因暂无需求tls未做测试。 六、现将程序重新打包成csmtp_v2.4_linux.tar文件,与大家分享,文中所提到的相关资源包都一并打包到资源中了。 最后感谢原创christopher w. backen提供的代码资源!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值