Perl and Email #2/Kansai.pm第14回ミーティング@京都

azumakuniyuki 🐈
azumakuniyuki 🐈Computer Engineer at Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)



Perl and Email #2
Perlの電子メール関係モジュールについてざっくりとした話




                @azumakuniyuki
                    Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




                                  自己紹介


                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




    自己紹介
       -   Azuma, Kuniyuki
       -   (@|id:)azumakuniyuki
       -   サーバ管理者(*BSD, Linux, 昔はSolarisも)
       -   プログラマ(Perl, /bin/sh, たまにC, R)
       -   京都市中京区(六角室町)



                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




    Perl
       - /bin/shで書きにくい場合はPerl
       - 2008年秋からモダンPerlを勉強
         - モダンPerl入門+CPANモジュールガイド
       - YAPC::Asia(2回参加・登壇)
       - Kansai.pm(2回目の参加)



                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




    Perlで作ったもの
       -   bounceHammer(ばうんすはんまー)
       -   バウンスメール解析専用
       -   コマンドラインツール+WebUI
       -   OpenSource! 2010/03〜
       -   http://bouncehammer.jp/



                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




                                           本題


                                                Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




    Mail::*, MIME::*
       - 伝統的なメール関係のモジュール
       - 大量にある
       - どれを使ったらいいのやら




                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




               Perl Email Project




                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




    Perl Email Project(PEP)
       -   Mail::*, MIME::*を刷新
       -   軽量なEmail::*
       -   http://emailproject.perl.org/
       -   人手が足りない→Wiki閉じた(2009)
       -   メーリングリストは流れている


     http://emailproject.perl.org/
                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




    Install PEP
       -   cpan install Task::Email::PEP::All⏎
       -   ↑全部インストール(約40個ぐらい)
       -   cpan install Task::Email::PEP::NoStore⏎
       -   ↑Class::DBI依存のEmail::Store以外
       - cpan Email::Address⏎
       - ↑個別にインストール


                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




                               作成・解析


                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




    Email::Simple
       - メール解析・作成モジュール
       - 単純なテキストメール用
       - 添付ファイルとかmultipartなのは無理




                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




    Email::MIME
       -   メール解析・作成モジュール
       -   Email::MIME->create(...
       -   ヘッダの日本語部分はEncode使う
       -   'To' => encode(
                   'MIME-Header-ISO-2022-JP',
       - 添付ファイルもOK

                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




                                           送信


                                                Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




    Email::Send
       -   軽量なメール送信モジュール
       -   昔はMail::Sendmail
       -   Envelope Fromの指定ができない
       -   Return::Valueモジュール




                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




    Email::Sender
       -   メール送信モジュール(Email::Sendの後継)
       -   Envelope Fromの指定できる
       -   Email::Sendより速い (65% faster)
       -   Moose ←依存モジュールは多め
       -   速度が必要ならNet::SMTP (33% faster)


     http://search.cpan.org/~rjbs/Email-Sender/lib/Email/Sender/Manual/QuickStart.pm
                                                   Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




    Net::SMTP
       -   伝統的なメール送信モジュール
       -   Perl 5.7.3からコアモジュール
       -   SMTPの手順に従って送信
       -   SMTPの知識が少し必要
       - ->datasend( ${Email::MIMEで作ったメール} );



                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




                       メールアドレス


                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




    Email::Address
       -   メールアドレス解析モジュール
       -   @x = テキストからアドレスを抽出
       -   "ほげ" <hoge@example.jp>
       -   Email::Address




                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




    Email::Address::Loose
       -   国内携帯電話のRFC違反アドレス対応
       -   RFC-ignored-localpart.@
       -   RFC..ignored..localpart@
       -   今は取得できないけどまだ存在する




                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




    Email::Valid
       -   メールアドレスが正しいかどうか検査
       -   ->address() 正しい形式かどうか
       -   ->mx() MXレコードがあるかどうか
       -   ->address(… '-tldcheck' => 1); #TLD




                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




                                      サーバ


                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




    Net::Server::Mail
       -   use Net::Server::Mail::SMTP;
       -   ローカルに立ち上げるSMTPサーバ
       -   各SMTPコマンドに対応するsub {}を呼ぶ
       -   HELO, MAIL, RCPT, DATA,…
       -   受信後のキュー処理とかは自前で実装



                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




    qpsmtpd
       -   Perl製SMTPサーバ
       -   qmail-smtpdの拡張版的な位置付け
       -   perl.org, apache,org, cpan.org
       -   MTAを完全に置き換えるものではない
       -   ↑Sendmail, Postfix, qmailとか


     http://smtpd.develooper.com/
                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
Kansai.pm 第14回ミーティング in 京都 2011/11/26(土)




                             ご静聴
                            ありがとう
                           ございました

                                           Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
1 of 25

Recommended

Protocol Buffers 入門 by
Protocol Buffers 入門Protocol Buffers 入門
Protocol Buffers 入門Yuichi Ito
36.4K views40 slides
Rustのタスクモデルについて by
RustのタスクモデルについてRustのタスクモデルについて
Rustのタスクモデルについてzigen
1.9K views49 slides
Apache Avro vs Protocol Buffers by
Apache Avro vs Protocol BuffersApache Avro vs Protocol Buffers
Apache Avro vs Protocol BuffersSeiya Mizuno
5.3K views33 slides
Erlangご紹介 websocket編 by
Erlangご紹介 websocket編Erlangご紹介 websocket編
Erlangご紹介 websocket編Masatoshi Itoh
2.8K views33 slides
サーバーを作ろう (毎週のハンズオン勉強会の資料) by
サーバーを作ろう (毎週のハンズオン勉強会の資料)サーバーを作ろう (毎週のハンズオン勉強会の資料)
サーバーを作ろう (毎週のハンズオン勉強会の資料)ひとし あまの
8.2K views22 slides
Scapy presentation by
Scapy presentationScapy presentation
Scapy presentationashigirl ZareGoto
2K views34 slides

More Related Content

What's hot

Webアプリケーションの無停止稼働 by
Webアプリケーションの無停止稼働Webアプリケーションの無停止稼働
Webアプリケーションの無停止稼働Kazuho Oku
6.4K views14 slides
バウンスメール解析システム BounceHammer by
バウンスメール解析システム BounceHammerバウンスメール解析システム BounceHammer
バウンスメール解析システム BounceHammerazumakuniyuki 🐈
6.4K views30 slides
KOF 2011 bounceHammerによるバウンスメール解析の技術 by
KOF 2011 bounceHammerによるバウンスメール解析の技術KOF 2011 bounceHammerによるバウンスメール解析の技術
KOF 2011 bounceHammerによるバウンスメール解析の技術azumakuniyuki 🐈
5.2K views59 slides
Scapyで作る・解析するパケット by
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケットTakaaki Hoyo
35K views37 slides
tcpdumpとtcpreplayとtcprewriteと他。 by
tcpdumpとtcpreplayとtcprewriteと他。tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。(^-^) togakushi
11.9K views20 slides
NorikraのJVMチューンで苦労している話 by
NorikraのJVMチューンで苦労している話NorikraのJVMチューンで苦労している話
NorikraのJVMチューンで苦労している話SATOSHI TAGOMORI
13.9K views22 slides

What's hot(6)

Webアプリケーションの無停止稼働 by Kazuho Oku
Webアプリケーションの無停止稼働Webアプリケーションの無停止稼働
Webアプリケーションの無停止稼働
Kazuho Oku6.4K views
バウンスメール解析システム BounceHammer by azumakuniyuki 🐈
バウンスメール解析システム BounceHammerバウンスメール解析システム BounceHammer
バウンスメール解析システム BounceHammer
azumakuniyuki 🐈6.4K views
KOF 2011 bounceHammerによるバウンスメール解析の技術 by azumakuniyuki 🐈
KOF 2011 bounceHammerによるバウンスメール解析の技術KOF 2011 bounceHammerによるバウンスメール解析の技術
KOF 2011 bounceHammerによるバウンスメール解析の技術
azumakuniyuki 🐈5.2K views
Scapyで作る・解析するパケット by Takaaki Hoyo
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケット
Takaaki Hoyo35K views
tcpdumpとtcpreplayとtcprewriteと他。 by (^-^) togakushi
tcpdumpとtcpreplayとtcprewriteと他。tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。
(^-^) togakushi11.9K views
NorikraのJVMチューンで苦労している話 by SATOSHI TAGOMORI
NorikraのJVMチューンで苦労している話NorikraのJVMチューンで苦労している話
NorikraのJVMチューンで苦労している話
SATOSHI TAGOMORI13.9K views

Viewers also liked

Lis 680 podcasting lesson part 1 by
Lis 680 podcasting lesson part 1Lis 680 podcasting lesson part 1
Lis 680 podcasting lesson part 1Kate Kosturski
309 views27 slides
Businessclub VV Schoonhoven by
Businessclub VV SchoonhovenBusinessclub VV Schoonhoven
Businessclub VV Schoonhovenpjboringa
335 views4 slides
σύρος by
σύροςσύρος
σύροςteo70
295 views4 slides
LIS 680 podcasting lesson part 2 by
LIS 680 podcasting lesson part 2LIS 680 podcasting lesson part 2
LIS 680 podcasting lesson part 2Kate Kosturski
377 views19 slides
Skank by
SkankSkank
Skankcoletaneajovem
412 views23 slides
Wendy Davis: Leveraging Public Health Capacity to Improve Health System Effic... by
Wendy Davis: Leveraging Public Health Capacity to Improve Health System Effic...Wendy Davis: Leveraging Public Health Capacity to Improve Health System Effic...
Wendy Davis: Leveraging Public Health Capacity to Improve Health System Effic...NASHP HealthPolicy
1K views35 slides

Viewers also liked(20)

Lis 680 podcasting lesson part 1 by Kate Kosturski
Lis 680 podcasting lesson part 1Lis 680 podcasting lesson part 1
Lis 680 podcasting lesson part 1
Kate Kosturski309 views
Businessclub VV Schoonhoven by pjboringa
Businessclub VV SchoonhovenBusinessclub VV Schoonhoven
Businessclub VV Schoonhoven
pjboringa335 views
σύρος by teo70
σύροςσύρος
σύρος
teo70295 views
LIS 680 podcasting lesson part 2 by Kate Kosturski
LIS 680 podcasting lesson part 2LIS 680 podcasting lesson part 2
LIS 680 podcasting lesson part 2
Kate Kosturski377 views
Wendy Davis: Leveraging Public Health Capacity to Improve Health System Effic... by NASHP HealthPolicy
Wendy Davis: Leveraging Public Health Capacity to Improve Health System Effic...Wendy Davis: Leveraging Public Health Capacity to Improve Health System Effic...
Wendy Davis: Leveraging Public Health Capacity to Improve Health System Effic...
Operational and Development Overview of Polio Plus presentation by Rotary Zones 25/26
Operational and Development Overview of Polio Plus presentationOperational and Development Overview of Polio Plus presentation
Operational and Development Overview of Polio Plus presentation
Rotary Zones 25/26627 views
Presentac...pptlab anato by isapekis
Presentac...pptlab anatoPresentac...pptlab anato
Presentac...pptlab anato
isapekis159 views
ζάκυνθος by teo70
ζάκυνθοςζάκυνθος
ζάκυνθος
teo70124 views
Html5的过去与未来 by youalab
Html5的过去与未来Html5的过去与未来
Html5的过去与未来
youalab326 views
Brand and Leverage by EzyMedia
Brand and LeverageBrand and Leverage
Brand and Leverage
EzyMedia540 views
Water in beeld gebracht by Tom Kuipers
Water  in beeld gebrachtWater  in beeld gebracht
Water in beeld gebracht
Tom Kuipers310 views
Are You A Healthcare Professional Who Doesn't Know What e-Discovery Is by Dale Newton
Are You A Healthcare Professional Who Doesn't Know What e-Discovery IsAre You A Healthcare Professional Who Doesn't Know What e-Discovery Is
Are You A Healthcare Professional Who Doesn't Know What e-Discovery Is
Dale Newton183 views
Beloningsonderzoek 2010 by pjboringa
Beloningsonderzoek 2010Beloningsonderzoek 2010
Beloningsonderzoek 2010
pjboringa378 views
Hong Kong To Beijing by Tom Kuipers
Hong Kong To BeijingHong Kong To Beijing
Hong Kong To Beijing
Tom Kuipers401 views

Similar to Perl and Email #2/Kansai.pm第14回ミーティング@京都

Perl and Email #3 ``Haineko''/Kyoto.pm #5 by
Perl and Email #3 ``Haineko''/Kyoto.pm #5Perl and Email #3 ``Haineko''/Kyoto.pm #5
Perl and Email #3 ``Haineko''/Kyoto.pm #5azumakuniyuki 🐈
1.4K views24 slides
JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2 by
JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2
JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2azumakuniyuki 🐈
1.9K views16 slides
最近僕が使うようになったPerl 5.10以降の新しいやつ by
最近僕が使うようになったPerl 5.10以降の新しいやつ最近僕が使うようになったPerl 5.10以降の新しいやつ
最近僕が使うようになったPerl 5.10以降の新しいやつazumakuniyuki 🐈
1.2K views24 slides
メールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKA by
メールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKAメールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKA
メールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKAazumakuniyuki 🐈
6.7K views52 slides
Perl and eMail at Kansai.pm #13 Meeting in Kyoto by
Perl and eMail at Kansai.pm #13 Meeting in KyotoPerl and eMail at Kansai.pm #13 Meeting in Kyoto
Perl and eMail at Kansai.pm #13 Meeting in Kyotoazumakuniyuki 🐈
1.2K views59 slides
[スパム報告]ボタンを押すとどうなるのか | Hosting Casual Talks #4 by
[スパム報告]ボタンを押すとどうなるのか | Hosting Casual Talks #4[スパム報告]ボタンを押すとどうなるのか | Hosting Casual Talks #4
[スパム報告]ボタンを押すとどうなるのか | Hosting Casual Talks #4azumakuniyuki 🐈
734 views23 slides

Similar to Perl and Email #2/Kansai.pm第14回ミーティング@京都(10)

Perl and Email #3 ``Haineko''/Kyoto.pm #5 by azumakuniyuki 🐈
Perl and Email #3 ``Haineko''/Kyoto.pm #5Perl and Email #3 ``Haineko''/Kyoto.pm #5
Perl and Email #3 ``Haineko''/Kyoto.pm #5
azumakuniyuki 🐈1.4K views
JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2 by azumakuniyuki 🐈
JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2
JSONでメール送信 | HTTP API Server ``Haineko''/YAPC::Asia Tokyo 2013 LT Day2
azumakuniyuki 🐈1.9K views
最近僕が使うようになったPerl 5.10以降の新しいやつ by azumakuniyuki 🐈
最近僕が使うようになったPerl 5.10以降の新しいやつ最近僕が使うようになったPerl 5.10以降の新しいやつ
最近僕が使うようになったPerl 5.10以降の新しいやつ
azumakuniyuki 🐈1.2K views
メールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKA by azumakuniyuki 🐈
メールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKAメールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKA
メールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKA
azumakuniyuki 🐈6.7K views
Perl and eMail at Kansai.pm #13 Meeting in Kyoto by azumakuniyuki 🐈
Perl and eMail at Kansai.pm #13 Meeting in KyotoPerl and eMail at Kansai.pm #13 Meeting in Kyoto
Perl and eMail at Kansai.pm #13 Meeting in Kyoto
azumakuniyuki 🐈1.2K views
[スパム報告]ボタンを押すとどうなるのか | Hosting Casual Talks #4 by azumakuniyuki 🐈
[スパム報告]ボタンを押すとどうなるのか | Hosting Casual Talks #4[スパム報告]ボタンを押すとどうなるのか | Hosting Casual Talks #4
[スパム報告]ボタンを押すとどうなるのか | Hosting Casual Talks #4
azumakuniyuki 🐈734 views
猫とPerl〜応用編1/YAPC Asia Tokyo 2013 LT-THON::Tiny by azumakuniyuki 🐈
猫とPerl〜応用編1/YAPC Asia Tokyo 2013 LT-THON::Tiny猫とPerl〜応用編1/YAPC Asia Tokyo 2013 LT-THON::Tiny
猫とPerl〜応用編1/YAPC Asia Tokyo 2013 LT-THON::Tiny
azumakuniyuki 🐈1.8K views
PerlモジュールをRubyに移植する時に落ちた穴々 by azumakuniyuki 🐈
PerlモジュールをRubyに移植する時に落ちた穴々PerlモジュールをRubyに移植する時に落ちた穴々
PerlモジュールをRubyに移植する時に落ちた穴々
azumakuniyuki 🐈2.1K views

More from azumakuniyuki 🐈

YAPC::Nagoya::Tiny 2019 | Makefile生活 by
YAPC::Nagoya::Tiny 2019 | Makefile生活YAPC::Nagoya::Tiny 2019 | Makefile生活
YAPC::Nagoya::Tiny 2019 | Makefile生活azumakuniyuki 🐈
995 views37 slides
NSEG勉強会(101)LT: 僕と長野県 by
NSEG勉強会(101)LT: 僕と長野県NSEG勉強会(101)LT: 僕と長野県
NSEG勉強会(101)LT: 僕と長野県azumakuniyuki 🐈
636 views20 slides
Email is Slack by
Email is SlackEmail is Slack
Email is Slackazumakuniyuki 🐈
788 views73 slides
SendGridのない世界 | SendGrid Night in Osaka #2 by
SendGridのない世界 | SendGrid Night in Osaka #2SendGridのない世界 | SendGrid Night in Osaka #2
SendGridのない世界 | SendGrid Night in Osaka #2azumakuniyuki 🐈
1.3K views37 slides
Hokkaido.pm#13参加報告 | YAPC::Kansai 2017 Osaka by
Hokkaido.pm#13参加報告 | YAPC::Kansai 2017 OsakaHokkaido.pm#13参加報告 | YAPC::Kansai 2017 Osaka
Hokkaido.pm#13参加報告 | YAPC::Kansai 2017 Osakaazumakuniyuki 🐈
879 views38 slides
僕と北海道とPerl、それとMakefileも。 by
僕と北海道とPerl、それとMakefileも。僕と北海道とPerl、それとMakefileも。
僕と北海道とPerl、それとMakefileも。azumakuniyuki 🐈
3.2K views38 slides

More from azumakuniyuki 🐈(16)

SendGridのない世界 | SendGrid Night in Osaka #2 by azumakuniyuki 🐈
SendGridのない世界 | SendGrid Night in Osaka #2SendGridのない世界 | SendGrid Night in Osaka #2
SendGridのない世界 | SendGrid Night in Osaka #2
azumakuniyuki 🐈1.3K views
Hokkaido.pm#13参加報告 | YAPC::Kansai 2017 Osaka by azumakuniyuki 🐈
Hokkaido.pm#13参加報告 | YAPC::Kansai 2017 OsakaHokkaido.pm#13参加報告 | YAPC::Kansai 2017 Osaka
Hokkaido.pm#13参加報告 | YAPC::Kansai 2017 Osaka
azumakuniyuki 🐈879 views
僕と北海道とPerl、それとMakefileも。 by azumakuniyuki 🐈
僕と北海道とPerl、それとMakefileも。僕と北海道とPerl、それとMakefileも。
僕と北海道とPerl、それとMakefileも。
azumakuniyuki 🐈3.2K views
自動構築と自動テスト〜インフラのコード化とクラウドの優位性 by azumakuniyuki 🐈
自動構築と自動テスト〜インフラのコード化とクラウドの優位性自動構築と自動テスト〜インフラのコード化とクラウドの優位性
自動構築と自動テスト〜インフラのコード化とクラウドの優位性
azumakuniyuki 🐈2.3K views
Plackで実装したメールサーバ"Haineko"のその後/Shibuya.pl #1 by azumakuniyuki 🐈
Plackで実装したメールサーバ"Haineko"のその後/Shibuya.pl #1 Plackで実装したメールサーバ"Haineko"のその後/Shibuya.pl #1
Plackで実装したメールサーバ"Haineko"のその後/Shibuya.pl #1
azumakuniyuki 🐈3.9K views
bounceHammerその後、導入事例、これから。 by azumakuniyuki 🐈
bounceHammerその後、導入事例、これから。bounceHammerその後、導入事例、これから。
bounceHammerその後、導入事例、これから。
azumakuniyuki 🐈718 views

Perl and Email #2/Kansai.pm第14回ミーティング@京都

  • 1. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) Perl and Email #2 Perlの電子メール関係モジュールについてざっくりとした話 @azumakuniyuki Cubicroot Co. Ltd.
  • 2. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) 自己紹介 Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 3. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) 自己紹介 - Azuma, Kuniyuki - (@|id:)azumakuniyuki - サーバ管理者(*BSD, Linux, 昔はSolarisも) - プログラマ(Perl, /bin/sh, たまにC, R) - 京都市中京区(六角室町) Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 4. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) Perl - /bin/shで書きにくい場合はPerl - 2008年秋からモダンPerlを勉強 - モダンPerl入門+CPANモジュールガイド - YAPC::Asia(2回参加・登壇) - Kansai.pm(2回目の参加) Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 5. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) Perlで作ったもの - bounceHammer(ばうんすはんまー) - バウンスメール解析専用 - コマンドラインツール+WebUI - OpenSource! 2010/03〜 - http://bouncehammer.jp/ Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 6. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) 本題 Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 7. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) Mail::*, MIME::* - 伝統的なメール関係のモジュール - 大量にある - どれを使ったらいいのやら Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 8. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) Perl Email Project Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 9. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) Perl Email Project(PEP) - Mail::*, MIME::*を刷新 - 軽量なEmail::* - http://emailproject.perl.org/ - 人手が足りない→Wiki閉じた(2009) - メーリングリストは流れている http://emailproject.perl.org/ Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 10. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) Install PEP - cpan install Task::Email::PEP::All⏎ - ↑全部インストール(約40個ぐらい) - cpan install Task::Email::PEP::NoStore⏎ - ↑Class::DBI依存のEmail::Store以外 - cpan Email::Address⏎ - ↑個別にインストール Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 11. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) 作成・解析 Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 12. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) Email::Simple - メール解析・作成モジュール - 単純なテキストメール用 - 添付ファイルとかmultipartなのは無理 Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 13. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) Email::MIME - メール解析・作成モジュール - Email::MIME->create(... - ヘッダの日本語部分はEncode使う - 'To' => encode( 'MIME-Header-ISO-2022-JP', - 添付ファイルもOK Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 14. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) 送信 Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 15. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) Email::Send - 軽量なメール送信モジュール - 昔はMail::Sendmail - Envelope Fromの指定ができない - Return::Valueモジュール Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 16. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) Email::Sender - メール送信モジュール(Email::Sendの後継) - Envelope Fromの指定できる - Email::Sendより速い (65% faster) - Moose ←依存モジュールは多め - 速度が必要ならNet::SMTP (33% faster) http://search.cpan.org/~rjbs/Email-Sender/lib/Email/Sender/Manual/QuickStart.pm Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 17. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) Net::SMTP - 伝統的なメール送信モジュール - Perl 5.7.3からコアモジュール - SMTPの手順に従って送信 - SMTPの知識が少し必要 - ->datasend( ${Email::MIMEで作ったメール} ); Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 18. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) メールアドレス Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 19. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) Email::Address - メールアドレス解析モジュール - @x = テキストからアドレスを抽出 - "ほげ" <hoge@example.jp> - Email::Address Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 20. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) Email::Address::Loose - 国内携帯電話のRFC違反アドレス対応 - RFC-ignored-localpart.@ - RFC..ignored..localpart@ - 今は取得できないけどまだ存在する Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 21. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) Email::Valid - メールアドレスが正しいかどうか検査 - ->address() 正しい形式かどうか - ->mx() MXレコードがあるかどうか - ->address(… '-tldcheck' => 1); #TLD Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 22. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) サーバ Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 23. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) Net::Server::Mail - use Net::Server::Mail::SMTP; - ローカルに立ち上げるSMTPサーバ - 各SMTPコマンドに対応するsub {}を呼ぶ - HELO, MAIL, RCPT, DATA,… - 受信後のキュー処理とかは自前で実装 Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 24. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) qpsmtpd - Perl製SMTPサーバ - qmail-smtpdの拡張版的な位置付け - perl.org, apache,org, cpan.org - MTAを完全に置き換えるものではない - ↑Sendmail, Postfix, qmailとか http://smtpd.develooper.com/ Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.
  • 25. Kansai.pm 第14回ミーティング in 京都 2011/11/26(土) ご静聴 ありがとう ございました Perl and Email #2 @azumakuniyuki / Cubicroot Co. Ltd.