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

时间:2022-04-28
本文章向大家介绍Apache NiFi 1.0.0测试版:邮件路由应用新型ListenSMTP,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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

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

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

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

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

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

telnet localhost 2025Trying 127.0.0.1...Connected to localhost.
Escape character is '^]'.220 sandbox.hortonworks.com ESMTP Apache NiFi
ehlo sandbox250-sandbox.hortonworks.com250-8BITMIME250-SIZE 67108864250 Ok
MAIL
FROM: <tim@sparkdeveloper.com>250 Ok
RCPT TO: <tspann@hortonworks.com>250 Ok
DATA354 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 tspann@hortonworks.com --server localhost:2025Received: from hw13125.home (localhost [127.0.0.1])  
by sandbox.hortonworks.com  with SMTP (Apache NiFi) id IRPEF4WI  
for tspann@hortonworks.com;  Wed, 10 Aug 2016 17:19:12 -0400 (EDT)Date: Wed, 10 Aug 2016 17:19:12 -0400To:
tspann@hortonworks.comFrom: tspann@hw13125.homeSubject: test Wed,10 Aug 2016 17:19:12 -0400X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/
MIME-Version: 1.0Content-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支持生产使用吧。