11-08-HAINEKO-ON-KOF2013-STAGE.pdf

Similar documents
SMTP ルーティングの設定

11-09-BOUNCEHAMMER-AT-KOF2013.graffle

2/11 ANNEX HATS HATS

Microsoft Word JA_revH.doc

注意 : ネットワークカメラの画像を回転させて表示した場合 モーション検知ウインドウは回転しないまま表示されますが 検知ウインドウは被写体に対して 指定した場所通りに動作します モーション検知ウインドウの縦横のサイズは 8 ピクセルで割り切れるサイズに自動調整されます モーション検知ウインドウを作成

導入ドキュメント

Web 認証拡張機能簡易ドキュメント

OSSTechドキュメント

Microsoft Word - Win-Outlook.docx

conf_example_260V2_inet_snat.pdf

Office365 AL-Mail

push-exchanger利用手順ベンダー向け

導入ドキュメント

2. Save をクリックします 3. System Options - Network - TCP/IP - Advanced を開き Primary DNS server と Secondary DNS Server に AXIS ネットワークカメラ / ビデオエンコーダが参照できる DNS サ

2019/7/25 更新 2.2. メーラー設定 (IMAP 設定 ) この項目ではメールソフトで IMAP にて受信ができるように設定をする手順を説明します 事前にマニュアル 1.4 POP/IMAP 許可設定 1.5 メーラー (Outlook 等 ) を使う場合の設定 を行っている必要がありま

<4D F736F F D2096C B838B B835E838A F B E92CA926D B838B5F E315

SAMBA Stunnel(Windows) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxx 部分は会社様によって異なります xxxxx 2 Windows 版ダウンロード ボ

SonicDICOM Cloud Connector インストール手順書 SonicDICOM Cloud Connector とは 検査装置が撮影した画像を自動的にクラウドへアップロー ドするためのソフトウェアです 1 前準備 クラウド上に PACS を作成する SonicDICOM Cloud

インストール手順 2 セットアップの種類 [ 標準インストール (S)] [Thunderbird を既定のメールプログラムとして使用する (U)] にチェックを入れ [ 次へ (N)] をクリックします インストール手順 3 セットアップ設定の確認 [ インストール (I)] をクリックします 2

SAMBA Stunnel(Mac) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxxxx 部分は会社様によって異なります xxxxx 2 Mac OS 版ダウンロー

Microsoft Word - Gmail-mailsoft_ docx

ELC 5.3

Getting Start mdc (Mail Destination Confirm) Getting Start mdc (Mail Destination Confirm) Rev /11/3 目次 Getting Start mdc (Mail Destination Con

PowerPoint Presentation

( 目次 ) 1. Joomla! インストールガイド はじめに 制限事項 サイト初期設定 Joomla! のインストール はじめに データベースの作成 Joomla! のインストール...

環境セットアップ

はじめに本マニュアルは以下構成になっています Introduction はG-mai 操作方法のexplanation になります 次節はGmail のメールクライアント (Outlook Express 及びMozillaThunderbird) 設定方法となります OS はwindows XP

リバースプロキシー (シングル構成) 構築手順

項番 現象 原因 対応手順書など 4 代理店コードでのダウンロード時に以下のメッセージの画面が表示される サービス時間外のため 現在 このサービスはご利用になれません 当機能のサービス時間外です 以下の時間帯にダウンロードしてください 月曜日 ~ 金曜日 7:00~21:00 土曜日 7:00~17

ServerView RAID Manager VMware vSphere ESXi 6 インストールガイド

Managed Firewall NATユースケース

ServerView RAID Manager VMware vSphere ESXi 5 インストールガイド

VPN ユーザを管理し、RV016、RV042、RV042G および RV082 VPN ルータの速い VPN を設定して下さい

ServerView RAID Manager VMware vSphere ESXi 5 インストールガイド

アライドテレシス ディストリビューション・スイッチ AT-x600シリーズで実現するMicrosoft® NAP

Microsoft PowerPoint - パソコン講習会資料(3)メール ppt

CLAIM接続利用手順

PowerPoint Presentation

Microsoft PowerPoint - SSO.pptx[読み取り専用]

CLUSTERPRO for Linux PostgreSQL HowTo

3 アカウント画面で新しいアカウント作成 :[ メール ] をクリックします 4 新しいメールアドレスを使いたい方という画面の下部にある [ メールアカウントを設定する ] ボタ ンをクリックします 2

(Microsoft Word - SMAIL\220\335\222\350\216Q\215l\216\221\227\277.doc)

Thunderbird(Windows) 設定マニュアル 目次 1 POP 系の設定 初めて設定する場合 ( 追加メールアドレスの設定 ) 設定内容の確認 変更 メールアドレス変更後の設定変更 メールパスワード変更後の設定変更

VPN 接続の設定

Microsoft Word - u-CAT’Ý™è…K…C…

勉強会の流れ Google API の概要 デモ curl で実際に体験 Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 2

(Microsoft Word - \203\214\203\223\203^\203\213\203T\201[\203o\220\335\222\350\203K\203C\203h_ doc)

Sendmail AD連携モジュールキャンペーン

Microsoft Word - XOOPS インストールマニュアルv12.doc

Microsoft Word - Gmail-mailsoft設定2016_ docx

アプリケーション取扱説明書: Androidアプリ

¥Í¥Ã¥È¥ï¡¼¥¯¥×¥í¥°¥é¥ß¥ó¥°ÆÃÏÀ

スライド 1

Microsoft PowerPoint - OP25全ソフト設定_suruga0106.ppt

CLUSTERPRO for Linux MySQL HowTo

メールデータ移行手順

CLAIM接続利用手順

目次 1. はじめに... 3 メールデータの移行 Thunderbird のインストールと Gmail の追加 Office365 のアカウントの追加 Gmail から Office365 へのメールデータの移行

<4D F736F F D2089E696CA8F4390B35F B838B CA816A>

Webセキュリティサービス

ServerView ESXi CIM Provider VMware ESXi 4インストールガイド

Packet Tracer: 拡張 ACL の設定 : シナリオ 1 トポロジ アドレステーブル R1 デバイスインターフェイス IP アドレスサブネットマスクデフォルトゲートウェイ G0/ N/A G0/

5. sendmail.cf

ServerView ESXi CIM Provider VMware vSphere ESXi 5 インストールガイド

スライド 1

新OS使用時の留意事項

在学生向けメールサービス

Microsoft Word - SE第15回.doc

製品を使う前に基本操作インターネットアプリケーション Q&A 付録 Web Internet Explorer の使い方 1 Web Web Windows Internet Explorer Web Internet Explorer Internet Explorer を ❶ 起動する Inte

( )

KDDI ホスティングサービス G120 KDDI ホスティングサービス G200 WordPress インストールガイド ( ご参考資料 ) rev.1.2 KDDI 株式会社 1

Microsoft Word - ShareFastClientManual_JP_R1-1-0.doc

目次 はじめに フリープラグインリスト マイグレーションツール Cobalt Migration Utility Web サーバーの帯域制御プラグイン データベースプラグイン

クラウドメール移行に伴うメーラーの設定方法設定変更の内容 :SMTP 及び POP 受信ポートの変更 & 送信セキュリティの暗号化接続 Live メールの設定方法 1. 画面上部の アカウント を選択後 直下に表示される プロパティ を選択すると 以下の画面 ( 図 1) が表示されます 図 1 2

メール送信テストツール手順書

SLAMD導入手順

演習に必要な

<MW-400k > InterSec/MW400k アップデート適用手順書 2017 年 8 月 1 版

2

ServerView ESXi CIM Provider VMware vSphere ESXi 6.5 インストールガイド

Cisco CSS HTTP キープアライブと ColdFusion サーバの連携

デュアルウェア講習会課題 5 会津大学講習会 簡単な IoT を作成 2018 The University of Aizu

目次 移行前の作業 3 ステップ1: 移行元サービス メールソフトの設定変更 3 ステップ2: アルファメール2 メールソフトの設定追加 6 ステップ3: アルファメール2 サーバへの接続テスト 11 ステップ4: 管理者へ完了報告 11 移行完了後の作業 14 作業の流れ 14 ステップ1: メー

自己紹介 名前 : 一ノ瀬太樹 所属 : HASH コンサルティング株式会社 OWASP Japan プロモーションチーム OWASP ZAP ユーザーグループ脆弱性診断研究会 ( 管理者その 3) Perl 入学式 ( サポーター ) HASH Consult

p_network-management_old-access_ras_faq_radius2.xlsx

Microsoft PowerPoint pptx

目次 1. メールソフトの設定変更について... 1 (1) 設定内容 (Windows / Mac OS X / ipad / Android 等 )... 1 (2) 設定内容 ((1) の設定で送信できない場合のみ ) 設定変更操作手順... 3 (1) Windows / M

Microsoft Word - SE第14回.doc

V-Client for Android ユーザーズガイド

rndc BIND

IBM Bluemix で WordPress 無料の WordPress 環境を構築する 1

新環境への移行手順書

2. ccmybox を利用するには ccmybox の利用には Web ブラウザが必要ですが パソコンの Web ブラウザだけでなく スマートフォンなどのモバイル機器の Web ブラウザからも接続が可能です また Web ブラウザを利用した接続方法以外に 専用接続ツールがメーカーより提供されていま

研究室LANの設定方法

Cuoreテンプレート

R80.10_FireWall_Config_Guide_Rev1

アプリケーション インスペクションの特別なアクション(インスペクション ポリシー マップ)

( 目次 ) 1. WordPressインストールガイド はじめに 制限事項 サイト初期設定 WordPressのインストール ( コントロールパネル付属インストーラより ) WordPressのインストール ( 手動インス

レプリケーションについて レプリケーション元に設定したメイン機の共有フォルダーと レプリケーション先に指定した予備機の共有フォルダーを同期し 同じ状態に保ちます (LAN 環境により遅延が発生します ) 遠隔地へのレプリケーションにより メイン機側での災害 事故によるデータ損失のリスク低減ができます

Transcription:

JSON でメール送信 できる HTTP API SERVER "Haineko" @azumakuniyuki Cubicroot Co. Ltd.

KOF2013: 関西オープンフォーラム 大阪南港ATC 2013/11/08(金) 2 自己紹介 鯖管 あずま 京都 たまに プログラマ Perl +(猫) @azumakuniyuki JSONでメール送信できるHTTP API SERVER ``Haineko'' @azumakuniyuki / Cubicroot Co. Ltd.

3 JSON でメール送信 メール送信用 HTTP API "Haineko"

4 Haineko `` はいねこ ''

5 HTTP API INTO ESMTP K=undef O=undef

6 Haineko の概要 - Plack/PSGIアプリケーション (Perl) - リレーサーバ ( キューは持たない ) - HTTP POSTでメールを送る - 他のSMTPサーバかEmailクラウドへリレー - 応答は全てJSON - Hainekoに渡す時のBASIC 認証対応 - $REMOTE_ADDRでリレー制限 (relayhosts) - 許可された宛先のみに送信 (recipients)

7 Architecture Haineko の処理の流れ 全体図と部分図

8 Haineko Flow HTTP Request/POST JSON http://*:2794/submit Any SMTP Server HTTP CLIENT Browser / wget / curl Perl / Python / Ruby / PHP JSON ESMTP Relay SMTP-AUTH STARTTLS PIPELINING - smtp.example.jp:25 - tls.example.com:465 - smtp.gmail.com:587 H::SMTPD::Relay:: ESMTP Haineko SendGrid, etc. Haineko HTTP Request HTTP Response Email Cloud - SendGrid - Postmark - AmazonSES - Mandrill HTTP Response JSON to JSON ESMTP Response

9 Table Files 各種の制限項目 経路テーブルなど

10 etc/mailertable - 宛先ドメインでのルーティングテーブル (YAML) default: mailer: 'ESMTP' host: '192.0.2.22' port: 25 mailertable, sendermt のどちらにも一致しない場合 example.com: mailer: 'ESMTP' host: 'smtp.gmail.com' port: 587 auth: 'Google' starttls: 1 この SMTP サーバの 25 番に接続して送信 ( リレー ) 宛先が *@example.com の時は ESMTP で (Haineko::SMTPD::Relay::ESMTP を使う ) Gmail の 587 番ポートに接続 etc/authinfo の "Google" 認証情報を使う SMTP セッションで STARTTLS を使う

11 - 発信ドメインでのルーティングテーブル (YAML) - mailertable と同じ書式 example.jp: mailer: 'ESMTP' host: '192.0.2.253' port: 25 example.org: mailer: 'SendGrid' auth: 'SendGrid' etc/sendermt 発信者が *@example.jp の時は この SMTP サーバの 25 番に接続して送信 ( リレー ) 発信者が *@example.org の時は Haineko::SMTPD::Relay::SendGrid を使う (Web API) etc/authinfo の "SendGrid" 認証情報を使う

12 - SMTP-AUTH, Email クラウドの API 用認証情報 (YAML) - ファイルのパーミッションに注意 Google: username: '******@gmail.com' password: 'nekochan22' SendGrid: username: 'kijitora' password: 'nyanko22' etc/authinfo mailertable, sendermt の ``auth'' で指定したラベル Gmail のユーザ名とパスワード mailertable, sendermt の ``auth'' で指定したラベル SendGrid API のユーザ名 (API_USER) SendGrid API のパスワード (API_KEY)

13 etc/relayhosts - メールのリレーを許可するクライアントの IP アドレス - IP アドレスかネットワーク帯域を記述 (YAML) - open-relay は危ないので将来削除するかも open-relay: 0 relayhosts: - 127.0.0.1-192.0.2.22/32-168.254.0.0/16 ``1'' にすると IP アドレスのチェックをしない ( 危険 ) 許可する IP アドレスかネットワークを配列で列挙 Net::CIDR::Lite が理解出来る形式で

14 etc/recipients - メールを送っても良い宛先のアドレスかドメイン - このファイルに一致しない宛先には送らない - open-relay は危ないので将来削除するかも open-relay: 0 domainpart: - 'example.co.jp' recipients: - 'neko@cat.example.jp' - 'kijitora@example.com' ``1'' にするとどんな宛先にも送れる ( 危険 ) 送っても良い宛先をドメインで指定 ( 配列で列挙 ) *@example.co.jp 宛はなんでも OK! 送っても良い宛先を個別に指定 ( 配列で列挙 )

15 etc/password - bin/hainekoctl -A か $HAINEKO_AUTH で要 BASIC 認証 - export HAINEKO_AUTH=/path/to/password - BASIC 認証なしでも動作します - BASIC 認証が通ったら JSON で POST できる BASIC 認証のユーザ名 haineko: '{SSHA}9p2euyteR33mp0TYKjmYhTlIt1ctxuRn' nekosan: '{SSHA}ai350adgaiADGNkla0p3iNEKOCHAN222' BASIC 認証パスワードのハッシュ

16 Install Haineko のインストール

17 Install Haineko A. git clone したリポジトリから直接起動できます -./bin/hainekoctl --devel start B. configure && make install (/usr/local/haineko) $ cd /usr/local/haineko $./bin/hainekoctl setup $./bin/hainekoctl start C. cpanm. $ cd /usr/local &&./bin/hainekoctl setup $./bin/hainekoctl start

18 Sending & Reply メール送信と JSON での応答

19 Start Haineko - bin/hainekoctl 制御スクリプト $ bin/hainekoctl -d start ( 開発モードで起動 ) $ bin/hainekoctl start (Production モードで起動 ) $ plackup -o '127.0.0.1' -p 2794 -a haineko.psgi $ bin/hainekoctl stop (pid ファイルを読んで停止 ) $ bin/hainekoctl restart

20 メール送信 (curl) $ curl 'http://127.0.0.1:2794/submit' -X POST -d '{ ehlo: " ホスト名 ", mail: "neko@example.jp", rcpt: [ "kijitora@example.org", "mikeneko@example.com" ], body: " ネコと和解せよ ", header: { subject: " ニャー!!", } }' /usr/local/bin/jq.

21 メール送信 (LL) - JSON が使えて HTTP も使える言語ならなんでも - ソースコードの "eg/sendmail.*" にサンプル - Perl: - use Furl, JSON; - Python: - import json, httplib, urllib - Ruby: - require 'json', 'net/http', 'uri'

22 正常応答 (JSON) { } "smtp.queueid":"r6dcxsv00649atl2", "smtp.response": { "dsn": "2.0.0", "error": 0, "message":[ "Accept for delivery" ], "command": "QUIT", "code": "221" }, "smtp.useragent": " ユーザエージェント (USER_AGENT)", "smtp.recipient": [ "kijitora@example.jp"], "smtp.addresser": "NNN@example.org", "smtp.remotehost": "127.0.0.1", "smtp.remoteport":49989

23 エラー応答 (JSON) { } "smtp.queueid":"r6dcxsv00649atl2", "smtp.response": { "dsn": "5.7.1", "error":1, "message":[ "Recipient address not permitted" ], "command": "RCPT", "code": "533" }, "smtp.useragent": " ユーザエージェント (USER_AGENT)", "smtp.recipient": [ "kijitora@example.gov" ], "smtp.addresser": "NNN@example.org", "smtp.remotehost": "127.0.0.1", "smtp.remoteport":49989

24 Repository github.com/azumakuniyuki/haineko Haineko SMTP 検索

終 25