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