Submit Search
Upload
Post by email for pulse cms
•
0 likes
•
381 views
Kuniyoshi Tone
Follow
You can post Pulse CMS Blog page by Email
Read less
Read more
Internet
Report
Share
Report
Share
1 of 12
Download now
Download to read offline
Recommended
Xamppでお手軽cms開発環境を手に入れる
Xamppでお手軽cms開発環境を手に入れる
Takashi Uemura
Microsoft Azure で "無料で" 運営する勉強会申し込みサイト
Microsoft Azure で "無料で" 運営する勉強会申し込みサイト
Jun-ichi Sakamoto
Windows azure webサイトの紹介
Windows azure webサイトの紹介
Daisuke Abe
PHP 5.4のビルトインウェブサーバー
PHP 5.4のビルトインウェブサーバー
Atsushi Matsuo
御池サミット20130726
御池サミット20130726
Takeshiro Kani
02 はじめてのメール送信
02 はじめてのメール送信
文樹 高橋
UnicastWS vol.1
UnicastWS vol.1
Unicast Inc.
#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門
Takashi Takizawa
Recommended
Xamppでお手軽cms開発環境を手に入れる
Xamppでお手軽cms開発環境を手に入れる
Takashi Uemura
Microsoft Azure で "無料で" 運営する勉強会申し込みサイト
Microsoft Azure で "無料で" 運営する勉強会申し込みサイト
Jun-ichi Sakamoto
Windows azure webサイトの紹介
Windows azure webサイトの紹介
Daisuke Abe
PHP 5.4のビルトインウェブサーバー
PHP 5.4のビルトインウェブサーバー
Atsushi Matsuo
御池サミット20130726
御池サミット20130726
Takeshiro Kani
02 はじめてのメール送信
02 はじめてのメール送信
文樹 高橋
UnicastWS vol.1
UnicastWS vol.1
Unicast Inc.
#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門
Takashi Takizawa
Slackって何ができるんだっけ
Slackって何ができるんだっけ
Quikky
WP Performance Optimization
WP Performance Optimization
masaaki komori
apachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin Serverっぽいやつをつくった
Junichi Ishida
Lesson2 サイト定義
Lesson2 サイト定義
s-karasawa
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
Enpel
Nora mark 2014-02-13
Nora mark 2014-02-13
Satoshi KOJIMA
2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成
2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成
Enpel
2016年を振り返る
2016年を振り返る
Kuniyoshi Tone
第二回 クラウドサーバー管理者若葉の会
第二回 クラウドサーバー管理者若葉の会
masayoshi shiraishi
Economic performance management approach, itc ltd sustainability report 2006
Economic performance management approach, itc ltd sustainability report 2006
varsha nihanth lade
死闘!Og mailinglist
死闘!Og mailinglist
Kuniyoshi Tone
Meteor kitchen で楽々ウェブアプリ開発
Meteor kitchen で楽々ウェブアプリ開発
Junji Yamada
Drupal8を体験しよう Drupal8 & Docker
Drupal8を体験しよう Drupal8 & Docker
惠 紀野
What's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App Platform
惠 紀野
Drupal補完計画
Drupal補完計画
Kuniyoshi Tone
Recovery: Job Growth and Education Requirements Through 2020
Recovery: Job Growth and Education Requirements Through 2020
CEW Georgetown
African Americans: College Majors and Earnings
African Americans: College Majors and Earnings
CEW Georgetown
The Online College Labor Market
The Online College Labor Market
CEW Georgetown
Game Based Learning for Language Learners
Game Based Learning for Language Learners
Shelly Sanchez Terrell
Teaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & Textspeak
Shelly Sanchez Terrell
What's Trending in Talent and Learning for 2016?
What's Trending in Talent and Learning for 2016?
Skillsoft
SXSW 2016: The Need To Knows
SXSW 2016: The Need To Knows
Ogilvy Consulting
More Related Content
What's hot
Slackって何ができるんだっけ
Slackって何ができるんだっけ
Quikky
WP Performance Optimization
WP Performance Optimization
masaaki komori
apachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin Serverっぽいやつをつくった
Junichi Ishida
Lesson2 サイト定義
Lesson2 サイト定義
s-karasawa
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
Enpel
Nora mark 2014-02-13
Nora mark 2014-02-13
Satoshi KOJIMA
2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成
2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成
Enpel
What's hot
(7)
Slackって何ができるんだっけ
Slackって何ができるんだっけ
WP Performance Optimization
WP Performance Optimization
apachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin Serverっぽいやつをつくった
Lesson2 サイト定義
Lesson2 サイト定義
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
Nora mark 2014-02-13
Nora mark 2014-02-13
2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成
2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成
Viewers also liked
2016年を振り返る
2016年を振り返る
Kuniyoshi Tone
第二回 クラウドサーバー管理者若葉の会
第二回 クラウドサーバー管理者若葉の会
masayoshi shiraishi
Economic performance management approach, itc ltd sustainability report 2006
Economic performance management approach, itc ltd sustainability report 2006
varsha nihanth lade
死闘!Og mailinglist
死闘!Og mailinglist
Kuniyoshi Tone
Meteor kitchen で楽々ウェブアプリ開発
Meteor kitchen で楽々ウェブアプリ開発
Junji Yamada
Drupal8を体験しよう Drupal8 & Docker
Drupal8を体験しよう Drupal8 & Docker
惠 紀野
What's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App Platform
惠 紀野
Drupal補完計画
Drupal補完計画
Kuniyoshi Tone
Recovery: Job Growth and Education Requirements Through 2020
Recovery: Job Growth and Education Requirements Through 2020
CEW Georgetown
African Americans: College Majors and Earnings
African Americans: College Majors and Earnings
CEW Georgetown
The Online College Labor Market
The Online College Labor Market
CEW Georgetown
Game Based Learning for Language Learners
Game Based Learning for Language Learners
Shelly Sanchez Terrell
Teaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & Textspeak
Shelly Sanchez Terrell
What's Trending in Talent and Learning for 2016?
What's Trending in Talent and Learning for 2016?
Skillsoft
SXSW 2016: The Need To Knows
SXSW 2016: The Need To Knows
Ogilvy Consulting
Digitized Student Development, Social Media, and Identity
Digitized Student Development, Social Media, and Identity
Paul Brown
GAME ON! Integrating Games and Simulations in the Classroom
GAME ON! Integrating Games and Simulations in the Classroom
Brian Housand
Connecting With the Disconnected
Connecting With the Disconnected
Chris Wejr
Responding to Academically Distressed Students
Responding to Academically Distressed Students
Mr. Ronald Quileste, PhD
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
LinkedIn
Viewers also liked
(20)
2016年を振り返る
2016年を振り返る
第二回 クラウドサーバー管理者若葉の会
第二回 クラウドサーバー管理者若葉の会
Economic performance management approach, itc ltd sustainability report 2006
Economic performance management approach, itc ltd sustainability report 2006
死闘!Og mailinglist
死闘!Og mailinglist
Meteor kitchen で楽々ウェブアプリ開発
Meteor kitchen で楽々ウェブアプリ開発
Drupal8を体験しよう Drupal8 & Docker
Drupal8を体験しよう Drupal8 & Docker
What's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App Platform
Drupal補完計画
Drupal補完計画
Recovery: Job Growth and Education Requirements Through 2020
Recovery: Job Growth and Education Requirements Through 2020
African Americans: College Majors and Earnings
African Americans: College Majors and Earnings
The Online College Labor Market
The Online College Labor Market
Game Based Learning for Language Learners
Game Based Learning for Language Learners
Teaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & Textspeak
What's Trending in Talent and Learning for 2016?
What's Trending in Talent and Learning for 2016?
SXSW 2016: The Need To Knows
SXSW 2016: The Need To Knows
Digitized Student Development, Social Media, and Identity
Digitized Student Development, Social Media, and Identity
GAME ON! Integrating Games and Simulations in the Classroom
GAME ON! Integrating Games and Simulations in the Classroom
Connecting With the Disconnected
Connecting With the Disconnected
Responding to Academically Distressed Students
Responding to Academically Distressed Students
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
Similar to Post by email for pulse cms
Intalio Cloud Workshop
Intalio Cloud Workshop
Daisuke Sugai
Powershell勉強会 v4 (もっと新しいバージョンがあります。)
Powershell勉強会 v4 (もっと新しいバージョンがあります。)
Tetsu Yama
Webサーバ、HTML
Webサーバ、HTML
Shuhei Iitsuka
Contao Open Source CMS / Contao 3.3を越えて
Contao Open Source CMS / Contao 3.3を越えて
Takahiro Kambe
MTDDC Tokyo テーマ編 プレゼン資料
MTDDC Tokyo テーマ編 プレゼン資料
Toshihito Gamo
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
ericsagnes
panagenda MarvelClientとケートリック XPages マスターテンプレートのご紹介
panagenda MarvelClientとケートリック XPages マスターテンプレートのご紹介
Mitsuru Katoh
Powershell基礎_20180521用
Powershell基礎_20180521用
Tetsu Yama
Windows Server 2016 Essentials TP4の強化ポイントとPowerShellの使いどころ
Windows Server 2016 Essentials TP4の強化ポイントとPowerShellの使いどころ
Satoru Nasu
WindowsでMySQL入門
WindowsでMySQL入門
Hidenori Ishii
SQL Server 2014 In Memory OLTP Overview
SQL Server 2014 In Memory OLTP Overview
Masayuki Ozawa
OCaml でデータ分析
OCaml でデータ分析
Akinori Abe
ユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイント
Masaki NIWA
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
Kazuto Kusama
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
sandai
Xml rpc を使ってブログ投稿
Xml rpc を使ってブログ投稿
Fumito Mizuno
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
Shinya Okano
Sinatraアプリをherokuにアップ
Sinatraアプリをherokuにアップ
Hiroshi Oyamada
Xoopsサイト制作セミナー 20120922
Xoopsサイト制作セミナー 20120922
Toshihiro Takehara
[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe
[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe
Insight Technology, Inc.
Similar to Post by email for pulse cms
(20)
Intalio Cloud Workshop
Intalio Cloud Workshop
Powershell勉強会 v4 (もっと新しいバージョンがあります。)
Powershell勉強会 v4 (もっと新しいバージョンがあります。)
Webサーバ、HTML
Webサーバ、HTML
Contao Open Source CMS / Contao 3.3を越えて
Contao Open Source CMS / Contao 3.3を越えて
MTDDC Tokyo テーマ編 プレゼン資料
MTDDC Tokyo テーマ編 プレゼン資料
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
panagenda MarvelClientとケートリック XPages マスターテンプレートのご紹介
panagenda MarvelClientとケートリック XPages マスターテンプレートのご紹介
Powershell基礎_20180521用
Powershell基礎_20180521用
Windows Server 2016 Essentials TP4の強化ポイントとPowerShellの使いどころ
Windows Server 2016 Essentials TP4の強化ポイントとPowerShellの使いどころ
WindowsでMySQL入門
WindowsでMySQL入門
SQL Server 2014 In Memory OLTP Overview
SQL Server 2014 In Memory OLTP Overview
OCaml でデータ分析
OCaml でデータ分析
ユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイント
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
Xml rpc を使ってブログ投稿
Xml rpc を使ってブログ投稿
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
Sinatraアプリをherokuにアップ
Sinatraアプリをherokuにアップ
Xoopsサイト制作セミナー 20120922
Xoopsサイト制作セミナー 20120922
[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe
[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe
Post by email for pulse cms
1.
Post by Email for
Pulse CMS 2016/12/16 at Pulse CMS Meetup in Osaka 刀祢邦芳(Tone, Kuniyoshi)
2.
自己紹介 ● ITエンジニア歴42年 ○ IBMメインフレーム→Windows→UNIX→Web ●
現在の仕事ではOSSと安価な商用ソフトがメイン ○ Tableau ○ Office365, Power BI with Azure(安価ではないが・・) ○ Pentaho (Spoon) ○ Zabbix & OpManager ○ PHPRunner ○ WinAutomation ○ Redmine, Magento など少々 ● CMS遍歴 ○ Zope & Plone ○ XOOPS ○ Nucleus ○ WordPress ○ Drupal 6, 7, 8 ○ Gatsby 紹介記事 https://goo.gl/axUFsD ● そして・・・Pulse CMS ● 言語遍歴 ○ Powershell, bash, awk ... ○ JavaScript, Google Apps Script ○ COBOL, FORTRAN, PL/1, Basic ○ マクロ・アセンブラ(6502, System/370) ○ Elixir 勉強中 ○ PHPは見よう見まね ○ Java,C,C#,VB,PHP,ruby,python,Perlはあん まり使ってません ● JS Framework遍歴 ○ Meteor ○ React ○ Riot 勉強中 ● DBMS遍歴 ○ Sybase ○ MS SQL ○ MySQL ○ Snowflake
3.
やりたいこと ● Drupal 7で作った同窓会掲示板サイトの移植 ○
メンバー個人のアカウントでログインして投稿・閲覧する人はごく少数 ■ ログインの殆どがゲストアカウントで閲覧のみ ○ だから、メール投稿&新着配信機能も追加(これが大変だった) ○ 今もバグがあるけど修正は困難だし、 Drupalのアップデートも頻繁で面倒 ● 結局メール投稿&配信がメインでおまけとして過去ログの閲覧検索ができればよ い ○ 保守のためログインするのは管理者だけ ○ その他のメンバーは全員共通の Basic認証でも可 ○ セキュリティが強固な静的サイトに近いものを公開したい ○ メールを記事に変換し易いように1記事1ファイルがよい ● Pulse CMSがぴったり ○ 完全なGeneratorの「Gatsby」も面白そうだがReactベースなのでカスタマイズは難しそう
4.
本番システム構成 ● Windows 2012
Server on VPS(by Contabo https://contabo.com ) ○ 全員65才以上の同窓生のため私以外に Linuxを使いこなせる人は見当たらない ○ Windows PCの延長としてRemote Desktopで操作できるサーバーなら誰かに引き継げる ● Bitnami WAMP Stack (MySQLは不要だが) + Pulse CMS V4.6 ● Node.js V6.6 ○ 勉強を兼ねて、受信メールからブログファイルの作成に使用 ● Talend Open Studio(無償) ○ GUIで種々のバッチ処理が作成できるので保守しやすい ○ まずはメール送信や Google SpreadsheetのAPIを使う予定 ○ 将来の引き継ぎを考えて今後は極力これを使用する ★でも本当はNode.js版をGithub公開したい(将来の夢) ・4 core ・12 GB RAM ・300GB SSD ・100 Mbps ・14.98 € /Month
5.
デモ ● 本日はlocalhostでデモ ● Blog
表示 http://localhost:8081/pulse/blog ● Admin画面 http://localhost:8081/pulse/admin ● 受信メールを未読に設定 ● 受信用バッチの起動 ○ もう一度起動すると未読がゼロなので何も処理されない ● Blogに1件新規投稿されている
6.
処理の流れ「未読メールの取得と投稿」 ● 「inbox」モジュールを用いて、 ○ 受信ボックスから未読メールを
1件だけ取得し、メールのソースをファイル出力 ○ そのメールを既読とする ● 「mailparser」モジュールを用いて、 ○ メールソースを解析 ○ 件名、送信日付、送信者アドレス、本文( HTMLまたはTEXT)、添付ファイルを取得 ● Pulse CMSのブログファイルのテンプレートを読込む ○ テンプレート内のキーワードを件名などで置換したテキストを Pulse CMSのcontent/blogに書き込 む ○ 添付ファイルは別途保存し、リンクを本文の末尾に追加する(これは現在未完) ● Pulse CMSは追加されたファイルをすぐに認識し、ページリフレッシュでブログの ページに表示してくれる。本文はHTMLでもよい。 <素晴らしい!>
7.
inbox による処理 ● user
& passwordを与えてIMAPサーバ(ここではGmail)に接続 ○ でもuser & passwordをソースに埋め込むのは良くないので ● searchメソッドで未読メールのUIDを取得 ● fetchdataで該当UIDのソースを取得 ● ソースをmail.txtに書き込む ○ ファイルを経由せずブログ投稿まで一気に処理もできるが単体テストしやすいようにファイルをインタ フェースとする (Node.jsは基本が非同期なのでこれらを順番に同期して処理するのが実は面倒です) var client = inbox.createConnection(false, 'imap.gmail.com', { // gmail接続 secureConnection: true, auth: { user: process.argv[2], // node実行時の第2パラメータ pass: process.argv[3] // 第3パラメータ } });
8.
ブログ用テンプレート #title# #date# #datetime# 投稿者 #from# #body#
9.
mailparserによる処理 ● テンプレートblogtemplate.htmlをstringに読込む ● mail.txtにあるメールのソースをstringに読込み、 mailparserオブジェクトに渡し、解析させる ●
解析終了時に作成されるmail_object内の、 ○ subject, headers.date, headers.fromをテンプレート内の#title#などの文字列と置換 ○ mail_object.htmlをテンプレート内の#body#と置換 (undefinedならばmail_object.textを使用) ● 作成されたブログ用文字列をPulseのcontent/blogフォルダーに出力 ○ ファイル名は 「プレフィックス」+「連番」+yyyymmdd-hhmmss.txt ○ 最終的にはこのプレフィックスをキーにして投稿通知メールへの返信をコメントとして追記する予定
10.
苦労&工夫したところ ● ブログに投稿日時まで表示させる ○ config.phpを修正しデフォルトの日付を非表示にする ○
テンプレートの#datetime#文字列をyyyy/mm/dd hh:mmで置換 ● Node.jsでの同期処理 ○ 単純に順番に処理を実行していくのが実は面倒 ● Mail Parserでのiso-2022対応 ○ 簡単な対応法があるので今後対応 // BLOG $result_per_page = 5; // Blog posts per page $disqus_comments = false; // Turn on/off blog comments (Disqus) $disqus_shortname = "sample-name"; // Your disqus account name // $date_format = "M j, Y"; // More: https://php.net/manual/en/function.date.php $date_format = " "; // More: https://php.net/manual/en/function.date.php // date is not displayed
11.
今後の予定 ● 投稿者のメールアドレスのチェック ○ 名簿データベース(Google
Spreadsheet使用)との存在チェック ● 投稿メールをメンバーに送信する ● リプライをコメントと見なして本文に追加する ● URLをファイル名のみにする(このカスタマイズ機能追加希望) ○ 日本語の件名がURLにあるのは若干不安 ○ ファイル名に時分秒まで持たせるので重複はまず発生しない ● 別途目次ページを作成する ○ Pulse CMSがページナビゲーション対応しても数百ページのナビゲーションは大変 ○ それよりは数百行が 1ページになった目次ページを作る ○ 1ページにするとタイトルや日付検索はとりあえずブラウザで可能になる ● 全文検索 ● 一番大変な既存のサイトからの移行
12.
完
Download now