Submit Search
Upload
今に伝えるメールの技術 #yapcasia #yapcasiareject
•
34 likes
•
13,778 views
鉄次 尾形
Follow
2014/9/3に行われた YAPC::Asia Tokyo 2014 Reject con で発表したトークのスライドです。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 35
Download now
Download to read offline
Recommended
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
メールシステムのおはなし #Mailerstudy
メールシステムのおはなし #Mailerstudy
Yasuhiro Araki, Ph.D
2013年09月 jawsug山形 「ちょっと自信が持てるようになるawsの使い方」
2013年09月 jawsug山形 「ちょっと自信が持てるようになるawsの使い方」
Serverworks Co.,Ltd.
awsで実現するミッションクリティカル業務のクラウド利用 VIP編
awsで実現するミッションクリティカル業務のクラウド利用 VIP編
Ken Sawada
【らぼ★ろぐ】VM上のsendmailから外部へのメールを遮断したい!!
【らぼ★ろぐ】VM上のsendmailから外部へのメールを遮断したい!!
株式会社ランチェスター
マルチタスクって奥が深い #mishimapm
マルチタスクって奥が深い #mishimapm
鉄次 尾形
2014年には役に立たないセッションの昔話 #hachiojipm
2014年には役に立たないセッションの昔話 #hachiojipm
鉄次 尾形
Joe Emison - 10X Product Development
Joe Emison - 10X Product Development
ServerlessConf
Recommended
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
メールシステムのおはなし #Mailerstudy
メールシステムのおはなし #Mailerstudy
Yasuhiro Araki, Ph.D
2013年09月 jawsug山形 「ちょっと自信が持てるようになるawsの使い方」
2013年09月 jawsug山形 「ちょっと自信が持てるようになるawsの使い方」
Serverworks Co.,Ltd.
awsで実現するミッションクリティカル業務のクラウド利用 VIP編
awsで実現するミッションクリティカル業務のクラウド利用 VIP編
Ken Sawada
【らぼ★ろぐ】VM上のsendmailから外部へのメールを遮断したい!!
【らぼ★ろぐ】VM上のsendmailから外部へのメールを遮断したい!!
株式会社ランチェスター
マルチタスクって奥が深い #mishimapm
マルチタスクって奥が深い #mishimapm
鉄次 尾形
2014年には役に立たないセッションの昔話 #hachiojipm
2014年には役に立たないセッションの昔話 #hachiojipm
鉄次 尾形
Joe Emison - 10X Product Development
Joe Emison - 10X Product Development
ServerlessConf
メルマガシステム失敗談 #perlbeginners
メルマガシステム失敗談 #perlbeginners
鉄次 尾形
これからPerlを使っていくみなさんへ #Perl入学式
これからPerlを使っていくみなさんへ #Perl入学式
鉄次 尾形
IT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipm
鉄次 尾形
とある Perl Monger の働き方
とある Perl Monger の働き方
Yusuke Wada
MF GeeksNight pplogの話
MF GeeksNight pplogの話
Naoto Koshikawa
Perl入学式をやってみた! - YAPC::Asia 2012
Perl入学式をやってみた! - YAPC::Asia 2012
Takayuki Fukumoto
Perl入学式 2018年度の報告
Perl入学式 2018年度の報告
鉄次 尾形
【公開版】AWS基礎 for 新卒エンジニア
【公開版】AWS基礎 for 新卒エンジニア
鉄次 尾形
俺のこだわりデスクのその後
俺のこだわりデスクのその後
鉄次 尾形
Hokkaido.pmと7年
Hokkaido.pmと7年
鉄次 尾形
WordPress 運用を支える Perl
WordPress 運用を支える Perl
鉄次 尾形
障害対応とその防止策
障害対応とその防止策
鉄次 尾形
働きやすい社内を目指す!二酸化炭素計測ツール
働きやすい社内を目指す!二酸化炭素計測ツール
鉄次 尾形
Perl ウェブ開発の中世〜CGI と Plack の間〜
Perl ウェブ開発の中世〜CGI と Plack の間〜
鉄次 尾形
コードの動的生成のお話
コードの動的生成のお話
鉄次 尾形
三角関数の加法定理はなぜ難しいのか
三角関数の加法定理はなぜ難しいのか
鉄次 尾形
Perlで生きる10年
Perlで生きる10年
鉄次 尾形
穏やかにファイルを削除する続き
穏やかにファイルを削除する続き
鉄次 尾形
日本全国ぶらりPerl旅
日本全国ぶらりPerl旅
鉄次 尾形
穏やかにファイルを削除する
穏やかにファイルを削除する
鉄次 尾形
最近のメールまわりのお仕事のお話
最近のメールまわりのお仕事のお話
鉄次 尾形
再帰、漸化式、差分方程式とアルゴリズム Gx#20
再帰、漸化式、差分方程式とアルゴリズム Gx#20
鉄次 尾形
More Related Content
Similar to 今に伝えるメールの技術 #yapcasia #yapcasiareject
メルマガシステム失敗談 #perlbeginners
メルマガシステム失敗談 #perlbeginners
鉄次 尾形
これからPerlを使っていくみなさんへ #Perl入学式
これからPerlを使っていくみなさんへ #Perl入学式
鉄次 尾形
IT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipm
鉄次 尾形
とある Perl Monger の働き方
とある Perl Monger の働き方
Yusuke Wada
MF GeeksNight pplogの話
MF GeeksNight pplogの話
Naoto Koshikawa
Perl入学式をやってみた! - YAPC::Asia 2012
Perl入学式をやってみた! - YAPC::Asia 2012
Takayuki Fukumoto
Similar to 今に伝えるメールの技術 #yapcasia #yapcasiareject
(6)
メルマガシステム失敗談 #perlbeginners
メルマガシステム失敗談 #perlbeginners
これからPerlを使っていくみなさんへ #Perl入学式
これからPerlを使っていくみなさんへ #Perl入学式
IT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipm
とある Perl Monger の働き方
とある Perl Monger の働き方
MF GeeksNight pplogの話
MF GeeksNight pplogの話
Perl入学式をやってみた! - YAPC::Asia 2012
Perl入学式をやってみた! - YAPC::Asia 2012
More from 鉄次 尾形
Perl入学式 2018年度の報告
Perl入学式 2018年度の報告
鉄次 尾形
【公開版】AWS基礎 for 新卒エンジニア
【公開版】AWS基礎 for 新卒エンジニア
鉄次 尾形
俺のこだわりデスクのその後
俺のこだわりデスクのその後
鉄次 尾形
Hokkaido.pmと7年
Hokkaido.pmと7年
鉄次 尾形
WordPress 運用を支える Perl
WordPress 運用を支える Perl
鉄次 尾形
障害対応とその防止策
障害対応とその防止策
鉄次 尾形
働きやすい社内を目指す!二酸化炭素計測ツール
働きやすい社内を目指す!二酸化炭素計測ツール
鉄次 尾形
Perl ウェブ開発の中世〜CGI と Plack の間〜
Perl ウェブ開発の中世〜CGI と Plack の間〜
鉄次 尾形
コードの動的生成のお話
コードの動的生成のお話
鉄次 尾形
三角関数の加法定理はなぜ難しいのか
三角関数の加法定理はなぜ難しいのか
鉄次 尾形
Perlで生きる10年
Perlで生きる10年
鉄次 尾形
穏やかにファイルを削除する続き
穏やかにファイルを削除する続き
鉄次 尾形
日本全国ぶらりPerl旅
日本全国ぶらりPerl旅
鉄次 尾形
穏やかにファイルを削除する
穏やかにファイルを削除する
鉄次 尾形
最近のメールまわりのお仕事のお話
最近のメールまわりのお仕事のお話
鉄次 尾形
再帰、漸化式、差分方程式とアルゴリズム Gx#20
再帰、漸化式、差分方程式とアルゴリズム Gx#20
鉄次 尾形
超小規模環境のMySQL #mysqlcasual
超小規模環境のMySQL #mysqlcasual
鉄次 尾形
mod_perlプログラマーがYAPCで語るレガシー開発論
mod_perlプログラマーがYAPCで語るレガシー開発論
鉄次 尾形
東京近郊のPerlコミュニティのご紹介 #lcs2015
東京近郊のPerlコミュニティのご紹介 #lcs2015
鉄次 尾形
4月16日だからFoursquare 位置情報とライフログ
4月16日だからFoursquare 位置情報とライフログ
鉄次 尾形
More from 鉄次 尾形
(20)
Perl入学式 2018年度の報告
Perl入学式 2018年度の報告
【公開版】AWS基礎 for 新卒エンジニア
【公開版】AWS基礎 for 新卒エンジニア
俺のこだわりデスクのその後
俺のこだわりデスクのその後
Hokkaido.pmと7年
Hokkaido.pmと7年
WordPress 運用を支える Perl
WordPress 運用を支える Perl
障害対応とその防止策
障害対応とその防止策
働きやすい社内を目指す!二酸化炭素計測ツール
働きやすい社内を目指す!二酸化炭素計測ツール
Perl ウェブ開発の中世〜CGI と Plack の間〜
Perl ウェブ開発の中世〜CGI と Plack の間〜
コードの動的生成のお話
コードの動的生成のお話
三角関数の加法定理はなぜ難しいのか
三角関数の加法定理はなぜ難しいのか
Perlで生きる10年
Perlで生きる10年
穏やかにファイルを削除する続き
穏やかにファイルを削除する続き
日本全国ぶらりPerl旅
日本全国ぶらりPerl旅
穏やかにファイルを削除する
穏やかにファイルを削除する
最近のメールまわりのお仕事のお話
最近のメールまわりのお仕事のお話
再帰、漸化式、差分方程式とアルゴリズム Gx#20
再帰、漸化式、差分方程式とアルゴリズム Gx#20
超小規模環境のMySQL #mysqlcasual
超小規模環境のMySQL #mysqlcasual
mod_perlプログラマーがYAPCで語るレガシー開発論
mod_perlプログラマーがYAPCで語るレガシー開発論
東京近郊のPerlコミュニティのご紹介 #lcs2015
東京近郊のPerlコミュニティのご紹介 #lcs2015
4月16日だからFoursquare 位置情報とライフログ
4月16日だからFoursquare 位置情報とライフログ
Recently uploaded
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Recently uploaded
(11)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
今に伝えるメールの技術 #yapcasia #yapcasiareject
1.
今に伝えるメールの技術 OGATA Tetsuji
(@xtetsuji) 2014/09/03 YAPC::Asia Tokyo 2014 Reject con
2.
はじめに • この資料は公開します
• 撮影とかTwitterなどへの実況は自由です • 感想お待ちしています、お手柔らかに
3.
自己紹介 • 尾形
鉄次 (OGATA Tetsuji) • Twitter: @xtetsuji • Blog: http://post.tetsuji.jp/ • mod_perl芸人として一昨年と昨年YAPC::Asia Tokyoで 登壇しましたが、最近はその芸風は抑え気味です
4.
今を取り巻くメールの現状
5.
忌避されるメール • SPAM問題、未読メールだらけ問題、などなど
• SMTPがシンプルじゃないしセキュアでもない • POP3もIMAP4もMIMEも、踏み込むと色々面倒 • 社内連絡にはメールを使わないという企業も珍しくなく なった 闇のEメール伝説 (Ricardo Signes) より https://www.youtube.com/watch?v=JENdgiAPD6c
6.
Sがシンプルじゃない問題 • Wikipediaより:SOAP(ソープ)は、XML-RPCから発
展した、XML Webサービスのための、XMLベースの RPCプロトコルである。元はSimple Object Access Protocolの頭字語とされていたが、さまざまな成り行き の結果Simpleとは言いかねる複雑怪奇なシロモノとなり はてた[1]といったこともあり、現在は「何かの頭字語で はない」とされている[2]。 https://flic.kr/p/9mn5PK
7.
ロストテクノロジー化へ • 「メールはGmailで」という企業が増加して、社内に
メールサーバを持っていない企業も珍しくなくなった • メールの普及を後押ししたガラケーが消えて、スマート フォン時代へメールの訴求ができなかったキャリア • 全てGoogleが悪いの戦略が当たった https://flic.kr/p/7Q9QAs
8.
さらに代替ツールの攻勢 • メールはGmailで
• IMやチャットツールやウェブ上のコミュニケーションの 復権 (LINE, HipChat, Slack, GitHub Issue, …) • メールを排除しようとする人や製品などの勢力の登場 • スマートフォンの登場でメールのあり方が変わった隙に 躍進する企業が多数
9.
メールを盛り上げたのも 滅ぼしたのも、たぶんガラケー
10.
そういえば先日こんな集まりを やりました
11.
https://atnd.org/events/51602
12.
こっそりやろうと思っていたら なんかめっちゃバズって 正直ビビった
裏話に興味のある方は会場で私をつかまえてください
13.
ガラケーとメールの関係 • 外から情報を受け取るのも連絡を取るのもガラケー時代
は全てメールだった • 「カラメ」という文化 • 通知もメール (今もなお残されている伝統) • ガラケーの衰退、スマホでのキャリアのメール普及失敗 によるLINE化、プッシュ通知などで、メールの重要度は 以前よりはずいぶん低くなった https://flic.kr/p/2k9ym
14.
このままではいけない!
15.
メールの技術が継承されない! • 突然「メールを使った案件やって」って言われた時に、
既に知っている人がいなくなってしまう未来が! • というわけでここで、2014年のメールにまつわる技術を Perlを絡めながら、まとめてみたいと思います • ロストテクノロジーにはさせない • この会場には私より詳しい人がたくさんいます
16.
本題
17.
MTA = Mail
Transfer Agent • いわゆる「SMTPサーバ」 • 過去色々なサーバがあったけれど、今はPostfixを選んで おけばだいたい良い • 最近のPostfixは攻めのバージョンアップをしているけれ ど、ネット上には2.3や2.4時代の情報があふれているの には注意(今の最新安定版は2.11.1)
18.
Postfixの情報源 • 古いPostfix情報が刷新されない状況を何とかしようと
2013年に@ytnobodyさんと共に「日本Postfix友の会」 を立ち上げたはいいけれど、全然活動できていないので、 興味のある方を募集中です • 日本で有名な「Postfixのぺーじ」http://postfix-jp.info/ もドキュメントの和訳が2.3系で停止している
19.
SMTPを手でしゃべる • 昔はよくトラブルシューティングでやっていた
• telnet localhost 25 とか • PerlでやるならコアモジュールのNet::SMTPが同様の事 をしている (Perl 5.7.3からコアモジュール) • RCPT TOで拒否される場合と、DATAで拒否される場合 で色々違うことを推測するとか懐かしい
20.
Perlでメールを送信するには • 2014年の今、普通にメールを送信するなら、
Email::Senderが一番良い • Ricardo SIGNES氏によるモジュール • 以前より依存関係が軽くなった(Moose→Mooとか) • 簡単な事はそれなりに、難しいこともそれなりに
21.
Email::Senderよりももっと! • Email::Senderも結構色々なオブジェクトを作って大変
だって思うこともある • 手元でEmail::Senderのラッパーモジュールを書いていて この場で「できました」って言えればよかったんですが、 間に合いませんでした • 色々と構想中ですので、できたら公開します https://flic.kr/p/djYmP
22.
Perlでメールを受信するには • Postfixのpipeを使ってやると良い
• .forward とかに書くものから、master.cf に pipe(8) の サービスとして書くものまで、方法がある • プログラムは何でも良くて、メール本文を標準入力から もらって、その結果で何かするというものを書く • ただ、1メール受信するごとに1プロセス起動するのは、 CGIと同じようなもの https://flic.kr/p/g4vbeY
23.
メルマガ消し込みというやつ • 存在しないガラケーメアドにメルマガを配信し続けると
明白なペナルティを受けるし、ISPにも目をつけられる • エラーメールをプログラムで受信して解析して、必要で あれば以降そのアドレスへ配信しないようにする (いわゆる消し込み) • Fromの解析なら.forwardよりmaster.cfに書いたpipeの 方が標準入力でエンベロープFromがもらえるので楽 https://flic.kr/p/nNbCoe
24.
メルマガ消し込みというやつ • メルマガは一気に大量に送るもの
• なのでたまに配信すると、エラーメールも一気に返って くる可能性がある→これでメールサーバが落ちることも • CGI的なpipeはコストがかかりすぎる • ウェブプログラミングと同じで工夫が必要 https://flic.kr/p/nNbCoe
25.
Qpsmtpd • Perl製のメールサーバ、結構堅い
• ウェブで言うとPlackみたいなもの、のようにも見える • Perlでプラグインも書けるしメール着信の都度プロセス forkしたりもしない • 前衛において使うのがためらわれる場合はPostfixの後ろ 側において使うと良かったりする
26.
エラーメールの文面は奔放 • エラーメール(バウンスメール)の文面には実は仕様がない
• あれを解析して、どういう事情でメールが不達だったの かを知る方法は相当大変 • そういう時はbounceHammerを使うと良い(Perl製) • 日本のメールの専門家、@azumakuniyukiさん作
27.
メルマガ大量配信の工夫 • これは業者に任せたほうが無難
• メルマガは誤配信すると相当な大事故だから • 送信先メールサーバに気を使ったりとかも大変だし • もし自前で大規模配信をするには、サーバとIPアドレス を並べるという力技になることが多い(プログラム言語が あまり関係ない世界) https://flic.kr/p/6gYLHR
28.
メーリングリスト • これもGoogleグループとかがロストテクノロジーに追い
込んだ技術なのか? • fml4がPerl5.10で動かなくなってMailmanに移行する人 が多かったが、Mailmanも好みが分かれるところ • fml8プロジェクトが後継だけれど、普及しない • fml8は結構野心的なので応援したい
29.
絵文字 • ガラケーのメール文化で第一次ヒットをした絵文字
• GoogleやAppleなどの活動で、Unicode6で正式に取り入 れらたあとはAndroidやiPhoneに乗って世界へ • PerlはEncodeモジュールによる手厚いUnicodeサポート • 昔はガラケー各社のバラバラ文字コードテーブルのため にEncode::JP::MobileやUnicode::Japaneseが重宝した https://flic.kr/p/oDGzUo
30.
ガラケーから絵文字を送れない • ガラケーから任意のSMTPサーバに絵文字入りメールを
送るとゲタ(〓)になる • キャリアが混在するメーリングリストを作っても絵文字 が化ける (詳細はガラケー大戦回顧録のブログ記事で) • これを解決するには技術力よりも大人の交渉力が必要 • まぁ、今の私なら「LINE使ったほうが早いよ」っていう https://flic.kr/p/7WdiAr
31.
まとめ • メールの技術は新興勢力によってことごとくロストテク
ノロジー化されてしまった • でも今でもメールは生き残っていて、メールを扱うプロ グラムを書く必要性は今後もしばらくは絶対に出てくる • そんな時に、この情報いいよっていうことの2014年版を まとめたかったのがコレ
32.
今回省いた話 • POP3とかIMAP4とかメーラーとか
• メールと仲良しなDNSの話 • ExchangeサーバやNotesサーバなどと仲良くする話 • …他いろいろ
33.
メールは滅びぬ! 何度でも蘇るさ! メールの力こそ人類の夢だからだ!
34.
Enjoy &
35.
おしまい
Download now