経験ゼロからプロのSEを目指しているさまを書きなぐり★
Net::POP3モジュールを使用して
別サーバのメールを取得してみる。
まぁ定番のCPANからいただきましょう。
#!/bin/perl
use Net::POP3;
$pop = Net::POP3->new('ホスト名'); # 接続
if (! $pop) {
die "接続失敗: $!";
}
$check = $pop->login('ユーザ名', 'パスワード'); # ログイン
if ($check == undef) {
die "認証失敗: ";
}
$ref = $pop->list(); # メール一覧のハッシュのリファレンスを得る
foreach $msg (keys %$ref) { # msgはメッセージ番号(?)
$lines = $pop->get($msg) # メール本文取得
foreach $mail (@$lines) {
print @$mail;
}
}
$pop->quit(); # ログアウト
こんな感じらしいです。
ループのまわし方によってヘッダチェックなどもできます。
ちなみに2回目のforeachは必要ないみたいです。。。
(じゃあ直せよ)
久々の調査。
しかもプログラミング付き。
たのしかったっす。
ちなみに読んだらそのメール消去。
みたいなのもあります。
が、今回は省略。
◆参考サイト◆
http://perldoc.jp/docs/modules/libnet-1.12/Net/POP3.pod
http://www.ksknet.net/cat28/netpop3.html
http://x68000.q-e-d.net/~68user/net/module-pop3.html
ありがとうございますっ。
別サーバのメールを取得してみる。
まぁ定番のCPANからいただきましょう。
#!/bin/perl
use Net::POP3;
$pop = Net::POP3->new('ホスト名'); # 接続
if (! $pop) {
die "接続失敗: $!";
}
$check = $pop->login('ユーザ名', 'パスワード'); # ログイン
if ($check == undef) {
die "認証失敗: ";
}
$ref = $pop->list(); # メール一覧のハッシュのリファレンスを得る
foreach $msg (keys %$ref) { # msgはメッセージ番号(?)
$lines = $pop->get($msg) # メール本文取得
foreach $mail (@$lines) {
print @$mail;
}
}
$pop->quit(); # ログアウト
こんな感じらしいです。
ループのまわし方によってヘッダチェックなどもできます。
ちなみに2回目のforeachは必要ないみたいです。。。
(じゃあ直せよ)
久々の調査。
しかもプログラミング付き。
たのしかったっす。
ちなみに読んだらそのメール消去。
みたいなのもあります。
が、今回は省略。
◆参考サイト◆
http://perldoc.jp/docs/modules/libnet-1.12/Net/POP3.pod
http://www.ksknet.net/cat28/netpop3.html
http://x68000.q-e-d.net/~68user/net/module-pop3.html
ありがとうございますっ。
PR
この記事にコメントする