vlambda博客
学习文章列表

Apache NiFi 1.0.0测试版:邮件路由应用新型ListenSMTP

本文为用户使用Apache NiFi最新版本来监听SMTP邮件,并以编程方式做出反应以及捕捉数据提供了指导。



首先就可以注意到Apache NiFi 1.0.0应用了很棒的新界面,更加清晰也更加方便使用。


Apache NiFi 1.0.0测试版:邮件路由应用新型ListenSMTP


下面先添加一个ListenSMTP处理器,用作邮件网关/ SMTP服务器。正如用户所看到的,这里还有能够从邮件中提取附件和标题的处理器。


Apache NiFi 1.0.0测试版:邮件路由应用新型ListenSMTP


同时,还要确保设置了Listening Port,SMTP主机名和Max. # of Connections。


Apache NiFi 1.0.0测试版:邮件路由应用新型ListenSMTP


邮件处理的整个流程其实相当简单,所以也比较容易理解。第一步,在TCP Port监听SMTP(本文中选用了2025,如果具有Root访问权限的话建议在25上运行)。然后把原始流文件传送到HDFS中。同时,需要提取附件放在一个单独的HDFS目录里。最后退出邮件标题并把它们寄给一个HDFS文件。此外,本文还在底部做了一个小测试,读取文件然后发送邮件至ListenSMTP进行测试。


Apache NiFi 1.0.0测试版:邮件路由应用新型ListenSMTP


如果用户想要在HDP 2.4沙盒上运行Apache NiFi 1.0.0,则需要安装Java 8并把它作为JDK替代。


  • http://tecadmin.net/install-java-8-on-centos-rhel-and-fedora/

  • alternatives –config java

  • Pick Java 8


本文中添加了Java 8作为替代,同时在bin/nifi.sh之上指定了Java_HOME。所以接下来就可以运行必需的Java 8了。


Apache NiFi 1.0.0测试版:邮件路由应用新型ListenSMTP


从命令行中发送一个SMTP测试消息:


telnet localhost 2025

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

220 sandbox.hortonworks.com ESMTP Apache NiFi

ehlo sandbox

250-sandbox.hortonworks.com

250-8BITMIME

250-SIZE 67108864

250 Ok

MAIL

FROM: <[email protected]>

250 Ok

RCPT TO: <[email protected]>

250 Ok

DATA

354 End data with

<CR><LF>.<CR><LF>

hello

.

250 Ok


利用SWAKS See可以更好地测试SMTP:


  • https://debian-administration.org/article/633/Testing_SMTP_servers_with_SWAKS

  • From Mac: brew install swaks

  • From Centos/RHEL: sudo yum -y install swaks


邮件发送测试:


swaks --to [email protected] --server localhost:2025

Received: from hw13125.home (localhost [127.0.0.1])  

by sandbox.hortonworks.com  with SMTP (Apache NiFi) id IRPEF4WI  

for [email protected];  Wed, 10 Aug 2016 17:19:12 -0400 (EDT)

Date: Wed, 10 Aug 2016 17:19:12 -0400To:

[email protected]

From: [email protected]

Subject: test Wed,

10 Aug 2016 17:19:12 -0400

X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/

MIME-Version: 1.0

Content-Type: multipart/mixed; 

boundary="----=_MIME_BOUNDARY_000_98059"------=_MIME_BOUNDARY_000_98059

Content-Type: text/plain

This is a test mailing

------=_MIME_BOUNDARY_000_98059

Content-Type: application/octet-stream

Content-Disposition: attachment

Content-Transfer-Encoding:

BASE64

------=_MIME_BOUNDARY_000_98059--


配置用于接收邮件消息的服务器是很容易,只需要在其中添加一个主机名和端口。


一旦用户建立好流程,就要创建一个模板并在版本控制之外保存XML。


模板创建已经被转移到Operate控制下。


如果不幸搞混了自己在做的事情,可以借助右上角的搜索功能。


最后,请记住这只是一个测试版产品,还没有准备好生产。所以,还是耐心等待HDF 2.0支持生产使用吧。



原文链接:Apache NiFi 1.0.0-BETA: Using the New ListenSMTP for Mail Routing 

译者:郭芮,关注大数据领域,寻求报道或投稿请联系[email protected]


2016年9月22日-23日,SDCC 2016大数据技术&架构实战峰会将在杭州举行,两场峰会大牛讲师来自阿里、京东、苏宁、唯品会、美团点评、游族、饿了么、有赞、Echo等知名互联网公司,共同探讨海量数据下的应用监控系统建设、异常检测的算法和实现、大数据基础架构实践、敏捷型数据平台的构建及应用、音频分析的机器学习算法应用,以及高可用/高并发/高性能系统架构设计、电商架构、分布式架构等话题与技术。


9月4日24点前仍处于最低六折优惠票价阶段,单场峰会(含餐)门票只需499元,5人以上团购或者购买两场峰会通票更有特惠,限时折扣,预购从速。(阅读原文获取票务详情链接)。