diff options
author | CoprDistGit <infra@openeuler.org> | 2023-06-20 08:36:57 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-06-20 08:36:57 +0000 |
commit | cc079daf64c46d61f6af89c734641ad769261886 (patch) | |
tree | 9986ad5a65d48c49a8509d83c0ca8786764fed22 | |
parent | 2d4e3205c3d3bd0e40d87a85d33addcf0135d28a (diff) |
automatic import of python-mailreceiver-webthingopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-mailreceiver-webthing.spec | 259 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 261 insertions, 0 deletions
@@ -0,0 +1 @@ +/mailreceiver_webthing-0.1.8.tar.gz diff --git a/python-mailreceiver-webthing.spec b/python-mailreceiver-webthing.spec new file mode 100644 index 0000000..0c4d425 --- /dev/null +++ b/python-mailreceiver-webthing.spec @@ -0,0 +1,259 @@ +%global _empty_manifest_terminate_build 0 +Name: python-mailreceiver-webthing +Version: 0.1.8 +Release: 1 +Summary: A web connected mail receiver +License: MIT +URL: https://github.com/grro/mailreceiver_webthing +Source0: https://mirrors.aliyun.com/pypi/web/packages/68/99/5cf755612de624a177549a236ded8dadb0ee2c46676e05f97cbd2d9752c2/mailreceiver_webthing-0.1.8.tar.gz +BuildArch: noarch + +Requires: python3-webthing + +%description +# mailreceiver +A web connected mail receiver + +This project implements a mail server providing a [webthing API](https://iot.mozilla.org/wot/). It exposes an +HTTP WebThing endpoint storing the (newest) received mail. + +``` +# webthing has been started on host 192.168.0.24 +curl http://192.168.0.24:8080/properties +{ +"mail": "Received: from 192.168.0.24:56520 by mail-receiver id a864d20d-4025-40e9-8ba7-e80bcd2b3814\n for HE@EXAMPLE.COM, SHE@EXAMPLE.COM; Tue, 17 Aug 2021 06:38:52 +0000\nContent-Type: text/plain; charset=\"us-ascii\"\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nSubject: Hello\nFrom: ME@EXAMPLE.COM\nTo: HE@EXAMPLE.COM, SHE@EXAMPLE.COM\n\nHi, how are you today?" +} +``` + +To consume incoming mails as a HTTP-based stream, open a websocket connection to the WebThing. +``` +import websocket + +# webthing´s websocket address is ws://192.168.0.24:8080/ +ws = websocket.WebSocketApp("ws://192.168.0.24:8080/", on_message=lambda ws, message: print(message)) +ws.run_forever() +``` + +This example above prints the stream of incoming mails such as shown below +```ex +{"messageType": "propertyStatus", "data": {"mail": "Received: from 172.17.0.1:56760 by mail-receiver id f67213dd-83e2-46bf-8eab-ce91d626f5ba\n for SHE@EXAMPLE.COM; Tue, 17 Aug 2021 07:31:57 +0000\nContent-Type: text/plain; charset=\"us-ascii\"\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nSubject: Hello\nFrom: ME@EXAMPLE.COM\nTo: SHE@EXAMPLE.COM\n\nHi, how are you today?"}} +{"messageType": "propertyStatus", "data": {"mail": "Received: from 172.17.0.1:56766 by mail-receiver id 264ab273-6a71-4394-a3ea-86ef395ebc71\n for THEY@EXAMPLE.COM; Tue, 17 Aug 2021 07:42:23 +0000\nContent-Type: text/plain; charset=\"us-ascii\"\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nSubject: Re: Hello\nFrom: YOU@EXAMPLE.COM\nTo: THEY@EXAMPLE.COM\n\nNot too bad!"}} +... +``` + +To run this software you may use Docker or [PIP](https://realpython.com/what-is-pip/) package manager such as shown below + +**Docker approach** +``` +sudo docker run -p 8080:8080 -p 2525:2525 -t grro/mailreceiver:0.1.8 +``` + +**PIP approach** +``` +sudo pip install mailreceiver-webthing +``` + +After this installation you may start the webthing http endpoint inside your python code or via command line using +``` +sudo mailreceiver --command listen --port 8080 --mailserver_port 2525 +``` +Here, the webthing API will be bind to on port 8080. Furthermore, the mail server will be bind to port 2525. + +The WebThing server provides [mDNS](https://en.wikipedia.org/wiki/Multicast_DNS) to enable clients discovering the WebThing interfaces. + +By running a *systemd-based Linux distribution* you may use the *register* command to register and start the webthing service as systemd unit. +By doing this the webthing service will be started automatically on boot. Starting the server manually using the *listen* command is no longer necessary. +``` +sudo mailreceiver --command register --port 8080 --mailserver_port 2525 +``` + +To start the mailreceiver use the listen command +``` +sudo mailreceiver --command listen --port 8080 --mailserver_port 2525 +``` + + + + +%package -n python3-mailreceiver-webthing +Summary: A web connected mail receiver +Provides: python-mailreceiver-webthing +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-mailreceiver-webthing +# mailreceiver +A web connected mail receiver + +This project implements a mail server providing a [webthing API](https://iot.mozilla.org/wot/). It exposes an +HTTP WebThing endpoint storing the (newest) received mail. + +``` +# webthing has been started on host 192.168.0.24 +curl http://192.168.0.24:8080/properties +{ +"mail": "Received: from 192.168.0.24:56520 by mail-receiver id a864d20d-4025-40e9-8ba7-e80bcd2b3814\n for HE@EXAMPLE.COM, SHE@EXAMPLE.COM; Tue, 17 Aug 2021 06:38:52 +0000\nContent-Type: text/plain; charset=\"us-ascii\"\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nSubject: Hello\nFrom: ME@EXAMPLE.COM\nTo: HE@EXAMPLE.COM, SHE@EXAMPLE.COM\n\nHi, how are you today?" +} +``` + +To consume incoming mails as a HTTP-based stream, open a websocket connection to the WebThing. +``` +import websocket + +# webthing´s websocket address is ws://192.168.0.24:8080/ +ws = websocket.WebSocketApp("ws://192.168.0.24:8080/", on_message=lambda ws, message: print(message)) +ws.run_forever() +``` + +This example above prints the stream of incoming mails such as shown below +```ex +{"messageType": "propertyStatus", "data": {"mail": "Received: from 172.17.0.1:56760 by mail-receiver id f67213dd-83e2-46bf-8eab-ce91d626f5ba\n for SHE@EXAMPLE.COM; Tue, 17 Aug 2021 07:31:57 +0000\nContent-Type: text/plain; charset=\"us-ascii\"\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nSubject: Hello\nFrom: ME@EXAMPLE.COM\nTo: SHE@EXAMPLE.COM\n\nHi, how are you today?"}} +{"messageType": "propertyStatus", "data": {"mail": "Received: from 172.17.0.1:56766 by mail-receiver id 264ab273-6a71-4394-a3ea-86ef395ebc71\n for THEY@EXAMPLE.COM; Tue, 17 Aug 2021 07:42:23 +0000\nContent-Type: text/plain; charset=\"us-ascii\"\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nSubject: Re: Hello\nFrom: YOU@EXAMPLE.COM\nTo: THEY@EXAMPLE.COM\n\nNot too bad!"}} +... +``` + +To run this software you may use Docker or [PIP](https://realpython.com/what-is-pip/) package manager such as shown below + +**Docker approach** +``` +sudo docker run -p 8080:8080 -p 2525:2525 -t grro/mailreceiver:0.1.8 +``` + +**PIP approach** +``` +sudo pip install mailreceiver-webthing +``` + +After this installation you may start the webthing http endpoint inside your python code or via command line using +``` +sudo mailreceiver --command listen --port 8080 --mailserver_port 2525 +``` +Here, the webthing API will be bind to on port 8080. Furthermore, the mail server will be bind to port 2525. + +The WebThing server provides [mDNS](https://en.wikipedia.org/wiki/Multicast_DNS) to enable clients discovering the WebThing interfaces. + +By running a *systemd-based Linux distribution* you may use the *register* command to register and start the webthing service as systemd unit. +By doing this the webthing service will be started automatically on boot. Starting the server manually using the *listen* command is no longer necessary. +``` +sudo mailreceiver --command register --port 8080 --mailserver_port 2525 +``` + +To start the mailreceiver use the listen command +``` +sudo mailreceiver --command listen --port 8080 --mailserver_port 2525 +``` + + + + +%package help +Summary: Development documents and examples for mailreceiver-webthing +Provides: python3-mailreceiver-webthing-doc +%description help +# mailreceiver +A web connected mail receiver + +This project implements a mail server providing a [webthing API](https://iot.mozilla.org/wot/). It exposes an +HTTP WebThing endpoint storing the (newest) received mail. + +``` +# webthing has been started on host 192.168.0.24 +curl http://192.168.0.24:8080/properties +{ +"mail": "Received: from 192.168.0.24:56520 by mail-receiver id a864d20d-4025-40e9-8ba7-e80bcd2b3814\n for HE@EXAMPLE.COM, SHE@EXAMPLE.COM; Tue, 17 Aug 2021 06:38:52 +0000\nContent-Type: text/plain; charset=\"us-ascii\"\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nSubject: Hello\nFrom: ME@EXAMPLE.COM\nTo: HE@EXAMPLE.COM, SHE@EXAMPLE.COM\n\nHi, how are you today?" +} +``` + +To consume incoming mails as a HTTP-based stream, open a websocket connection to the WebThing. +``` +import websocket + +# webthing´s websocket address is ws://192.168.0.24:8080/ +ws = websocket.WebSocketApp("ws://192.168.0.24:8080/", on_message=lambda ws, message: print(message)) +ws.run_forever() +``` + +This example above prints the stream of incoming mails such as shown below +```ex +{"messageType": "propertyStatus", "data": {"mail": "Received: from 172.17.0.1:56760 by mail-receiver id f67213dd-83e2-46bf-8eab-ce91d626f5ba\n for SHE@EXAMPLE.COM; Tue, 17 Aug 2021 07:31:57 +0000\nContent-Type: text/plain; charset=\"us-ascii\"\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nSubject: Hello\nFrom: ME@EXAMPLE.COM\nTo: SHE@EXAMPLE.COM\n\nHi, how are you today?"}} +{"messageType": "propertyStatus", "data": {"mail": "Received: from 172.17.0.1:56766 by mail-receiver id 264ab273-6a71-4394-a3ea-86ef395ebc71\n for THEY@EXAMPLE.COM; Tue, 17 Aug 2021 07:42:23 +0000\nContent-Type: text/plain; charset=\"us-ascii\"\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nSubject: Re: Hello\nFrom: YOU@EXAMPLE.COM\nTo: THEY@EXAMPLE.COM\n\nNot too bad!"}} +... +``` + +To run this software you may use Docker or [PIP](https://realpython.com/what-is-pip/) package manager such as shown below + +**Docker approach** +``` +sudo docker run -p 8080:8080 -p 2525:2525 -t grro/mailreceiver:0.1.8 +``` + +**PIP approach** +``` +sudo pip install mailreceiver-webthing +``` + +After this installation you may start the webthing http endpoint inside your python code or via command line using +``` +sudo mailreceiver --command listen --port 8080 --mailserver_port 2525 +``` +Here, the webthing API will be bind to on port 8080. Furthermore, the mail server will be bind to port 2525. + +The WebThing server provides [mDNS](https://en.wikipedia.org/wiki/Multicast_DNS) to enable clients discovering the WebThing interfaces. + +By running a *systemd-based Linux distribution* you may use the *register* command to register and start the webthing service as systemd unit. +By doing this the webthing service will be started automatically on boot. Starting the server manually using the *listen* command is no longer necessary. +``` +sudo mailreceiver --command register --port 8080 --mailserver_port 2525 +``` + +To start the mailreceiver use the listen command +``` +sudo mailreceiver --command listen --port 8080 --mailserver_port 2525 +``` + + + + +%prep +%autosetup -n mailreceiver_webthing-0.1.8 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-mailreceiver-webthing -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.8-1 +- Package Spec generated @@ -0,0 +1 @@ +16c76bfdfaa66e95169b665d25cdb75e mailreceiver_webthing-0.1.8.tar.gz |