Ⅰ linux下安装使用Mutt邮件客户端并配置邮件警报功能
0、在正式安装Mutt之前
先检查一下两个安全组件。
OPENSSL:
复制代码
代码如下:
openssl version -a #检查安装及版本信息SASL(系统一般已经自带):
复制代码
代码如下:
rpm -qa | grep sasl查询到如下即可:
cyrus-sasl-gssapi-2.1.23-15.el6_6.2.x86_64
cyrus-sasl-devel-2.1.23-15.el6_6.2.x86_64
cyrus-sasl-lib-2.1.23-15.el6_6.2.x86_64
cyrus-sasl-plain-2.1.23-15.el6_6.2.x86_64
cyrus-sasl-2.1.23-15.el6_6.2.x86_64
如果sasl没有运行,先启动:
复制代码
代码如下:
/etc/init.d/saslauthd start最好是加入到自启动项目中去:
复制代码
代码如下:
chkconfig saslauthd on因为发送邮件的时候会需要用到安全认证。
1、安装
官方网站上下载最新版本。
复制代码
代码如下:
# 解压后进入mutt目录PS: 因为我用的测试帐号是QQ邮件,qq邮件使用smtp协议的时候要求必须使用ssl安全连接,而在mutt里使用安全连接又必须使用sasl加密,所以上述2个安全组件在编译安装的时候得加上。要不然发送邮件的时候会出现SMTP authentication requires SASL或者另外一个跟ssl有关的错误。
复制代码
代码如下:
# 安装2、Mutt的基本用法
使用Mutt发邮件极其方便,是一个文字模式的邮件管理程序,提供了全屏幕的操作界面。只需要一条命令即可发送或者批量发送邮件:
复制代码
代码如下:
mutt [-hnpRvxz][-a文件][-b地址][-c地址][-f邮件文件][-F配置文件][-H邮件草稿][-i文件][-m类型][-s主题][邮件地址]这里来详细说一下参数:
-a文件 在邮件中加上附加文件。
-b地址 指定密件副本的收信人地址。
-c地址 指定副本的收信人地址。
-f邮件文件 指定要载入的邮件文件。
-F配置文件 指定mutt程序的设置文件,而不读取预设的.muttrc文件。
-h 显示帮助。
-H邮件草稿 将指定的邮件草稿送出。
-i文件 将指定文件插入邮件内文中。
-m类型 指定预设的邮件信箱类型。
-n 不要去读取程序培植文件(/etc/Muttrc)。
-p 在mutt中编辑完邮件后,而不想将邮件立即送出,可将该邮件暂缓寄出。
-R 以只读的方式开启邮件文件。
-s主题 指定邮件的主题。
-v 显示mutt的版本信息以及当初编译此文件时所给予的参数。
-x 模拟mailx的编辑方式。
-z 与-f参数一并使用时,若邮件文件中没有邮件即不启动mutt。
掌握了这些基本上就能基础地使用Mutt,够方便吧~接下来就要介绍本文的主题、使用其邮件警报功能:
3、配置邮件警报功能
方法1:
安装好后,拷贝一份安装目录下/usr/local/mutt/etc/的配置文件Muttrc到/root/.muttrc,也可以直接修改配置文件,设置读取的配置文件路径到安全目录,这样就无需拷贝了。
默认设置:
复制代码
代码如下:
set alias_file="~/.muttrc"方法2:
复制代码
代码如下:
cat /usr/local/mutt/etc/Muttrc | grep -v ^# | grep -v ^$ ~/.muttrc这样都可以得到默认的配置文件信息。
安装完成后,我们仅需要设置的信息如下:
复制代码
代码如下:
set folder="./Mail" #设置本地的收件箱,如果不设置发送邮件的时候会提示4、测试
mutt-1.6版本的发送邮件的语法跟1.4版本有些微的差别,具体命令如下:
mutt -s Title使用 -a /usr/local/mutt/content.txt -- [email protected] /root/1
说明
-s 邮件标题
-a 附件
-- 后面跟上收件人信息
后面是邮件正文内容,也可以在前面echo xxx的形式给出。如下:
复制代码
代码如下:
echo xxx|mutt -s "Title使用" -a /usr/local/mutt/content.txt -- [email protected]看吧,无需与其它软件合作,mutt就可以独立完成发送邮件,当然,接收也没问题,只是在邮件报警这个需求上用不着。
其中一个错误信息:
复制代码
代码如下:
[root@x63 mutt]# echo "Hello" | mutt -s "Title" -- [email protected]TLSv1.2 connection using TLSv1/SSLv3 (AES256-SHA256)
SMTP authentication requires SASL
Could not send the message.
这是认证失败了。
发送成功的信息:
复制代码
代码如下:
[root@x63 mutt]# echo "Hello3" | mutt -s "Title" -- [email protected]TLSv1.2 connection using TLSv1/SSLv3 (AES256-SHA256)
Ⅱ java在linux下调用smtp协议发送邮件
你只是发邮件不是做邮件服务器吧?这样的话 在linux和window没有区别....不然java都不好意思说自己是跨平台的了
JAVA邮件发送的大致过程是这样的的:
1、构建一个继承自javax.mail.Authenticator的具体类,并重写里面的getPasswordAuthentication()方法。此类是用作登录校验的,以确保你对该邮箱有发送邮件的权利。
2、构建一个properties文件,该文件中存放SMTP服务器地址等参数。
3、通过构建的properties文件和javax.mail.Authenticator具体类来创建一个javax.mail.Session。Session的创建,就相当于登录邮箱一样。剩下的自然就是新建邮件。
4、构建邮件内容,一般是javax.mail.internet.MimeMessage对象,并指定发送人,收信人,主题,内容等等。
5、使用javax.mail.Transport工具类发送邮件。
参考地址http://www.cnblogs.com/codeplus/archive/2011/10/30/2229391.html